639 Commits

Author SHA1 Message Date
Vladimir Kozlov
e3c3c8527e 6340864: Implement vectorization optimizations in hotspot-server
Added asm encoding and mach nodes for vector arithmetic instructions on x86.

Reviewed-by: roland
2012-08-20 09:07:21 -07:00
Christian Thalinger
c9fb0d52ee Merge 2012-08-10 15:50:49 -07:00
Christian Thalinger
e409ee94ae 7188276: JSR 292: assert(ct == T_OBJECT) failed: rt=T_OBJECT, ct=13
Reviewed-by: kvn, jrose
2012-08-01 14:44:26 -07:00
Vladimir Kozlov
5e05a0d592 7187454: stack overflow in C2 compiler thread on Solaris x86
Added new FormatBufferResource class to use thread's resource area for error message buffer.

Reviewed-by: twisti
2012-07-30 09:49:25 -07:00
Christian Thalinger
b9eb5785cc 7187290: nightly failures after JSR 292 lazy method handle update
Reviewed-by: kvn, twisti
2012-07-27 16:14:15 -07:00
Christian Thalinger
12901d0e5b 7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI

Remove assembly code for JDK 7 chained method handles

Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Michael Haupt <michael.haupt@oracle.com>
Reviewed-by: jrose, twisti, kvn, mhaupt
2012-07-24 10:51:00 -07:00
Jiangli Zhou
67f97ee6eb Merge 2012-07-24 13:16:26 -04:00
Vladimir Kozlov
310ad38a4b Merge 2012-07-16 19:50:52 -07:00
Dean Long
62ce00b4ca 7147464: Java crashed while executing method with over 8k of dneg operations
Replace recursive method with iterative

Reviewed-by: kvn, twisti
2012-07-16 15:31:18 -04:00
Vladimir Kozlov
27e9d6f36d 7123926: Some CTW test crash: !_control.contains(ctrl)
Don't eliminate Integer::toString() call node during String concatenation optimization if it has several uses.

Reviewed-by: twisti
2012-07-13 17:48:26 -07:00
Vladimir Kozlov
59bb4ea7cc Merge 2012-07-12 14:19:15 -07:00
Vlaidmir Ivanov
e2fc7f742c 7181658: CTW: assert(t->meet(t0) == t) failed: Not monotonic
Use uncast node equivalence checks in CmpUNode::sub.

Reviewed-by: kvn, twisti
2012-07-11 14:50:30 -07:00
Vladimir Kozlov
761e0b221d 7180769: assert(tboth->klass_is_exact()) failed: klass should be exact
Use class exactness as part of the condition for class compare optimization instead of assert.

Reviewed-by: twisti, roland
2012-07-02 12:59:43 -07:00
Roland Westrelin
3511594d3c 7177917: Failed test java/lang/Math/PowTests.java
When c2 intrinsifies pow/exp, it should never inline the java implementations.

Reviewed-by: kvn
2012-07-02 09:58:06 +02:00
Alejandro Murillo
fad2bafa7b Merge 2012-06-29 17:04:39 -07:00
Coleen Phillimore
135f315eaa Merge 2012-07-02 13:11:28 -04:00
Zhengyu Gu
a39b17624a 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking

Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd

Reviewed-by: acorn, coleenp, fparain
2012-06-28 17:03:16 -04:00
Lana Steuck
b126348850 Merge 2012-06-26 10:27:11 -07:00
Vladimir Kozlov
8c4cefaa96 7179138: Incorrect result with String concatenation optimization
Check for and skip diamond shaped NULL check code for the result of toString()

Reviewed-by: twisti, roland
2012-06-26 09:06:16 -07:00
Vladimir Kozlov
6bc673930f 7178280: Failed new vector regression tests
When looking for the same value in an other register check that all parts of that register has the same value.

Reviewed-by: johnc, twisti
2012-06-22 10:40:48 -07:00
Vladimir Kozlov
b5b10846c2 7177923: SIGBUS on sparc in compiled code for java.util.Calendar.clear()
Disable vectorization of a memory access with more elements per vector than one which is used for alignment on sparc

Reviewed-by: twisti
2012-06-19 15:12:56 -07:00
Christian Thalinger
ed2051c861 7157365: jruby/bench.bench_timeout crashes with JVM internal error
Reviewed-by: jrose, kvn
2012-06-18 15:17:30 -07:00
Roland Westrelin
118f552a6e 7174363: Arrays.copyOfRange leads to VM crash with -Xcomp -server if executed by testing framework
Arrays.copyOfRange(original, from, to) with from > original.length tries to do a copy with a negative length.

Reviewed-by: kvn, twisti
2012-06-18 09:52:31 +02:00
Vladimir Kozlov
d1191bb4f4 7119644: Increase superword's vector size up to 256 bits
Increase vector size up to 256-bits for YMM AVX registers on x86.

Reviewed-by: never, twisti, roland
2012-06-15 01:25:19 -07:00
Vlaidmir Ivanov
dd85e2f356 7173340: C2: code cleanup: use PhaseIterGVN::replace_edge(Node*, int, Node*) where applicable
Replace frequent C2 optimizer code patterns with new methods calls

Reviewed-by: kvn, twisti
2012-06-12 16:23:31 -07:00
Krystal Mok
529b370174 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
2012-06-12 14:31:44 -07:00
Vlaidmir Ivanov
e67db1b150 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool)
Keep intermediate node alive till the end of the graph construction using dummy hook node trick

Reviewed-by: kvn, twisti
2012-06-12 09:47:23 -07:00
Vladimir Kozlov
ae6d0d30f5 7174510: 19 JCK compiler tests fail with C2 error: memNode.cpp:812 - ShouldNotReachHere
Add missing check for EncodeP node in MemNode::Ideal_common_DU_postCCP() method.

Reviewed-by: twisti
2012-06-11 14:58:51 -07:00
Abhijit Saha
aacc740523 Merge 2012-06-07 12:30:02 -07:00
Krystal Mok
a9ea68bd3f 7170463: C2 should recognize "obj.getClass() == A.class" code pattern
Optimize this code pattern obj.getClass() == A.class.

Reviewed-by: jrose, kvn
2012-05-25 07:53:11 -07:00
Abhijit Saha
1c1f4add53 Merge 2012-05-21 14:56:33 -07:00
Krystal Mok
100eb2036d 7170053: crash in C2 when using -XX:+CountCompiledCalls
Reviewed-by: kvn, twisti
2012-05-18 12:20:24 -07:00
Roland Westrelin
b305cf722e 7133857: exp() and pow() should use the x87 ISA on x86
Use x87 instructions to implement exp() and pow() in interpreter/c1/c2.

Reviewed-by: kvn, never, twisti
2012-05-15 10:10:23 +02:00
Vladimir Kozlov
eb4a860bc3 6924259: Remove String.count/String.offset
Allow a version of String class that doesn't have count and offset fields.

Reviewed-by: never, coleenp
2012-05-14 09:36:00 -07:00
Vladimir Kozlov
65e294a51d Merge 2012-05-09 10:54:29 -07:00
Abhijit Saha
e2a63403d0 Merge 2012-05-08 07:29:27 -07:00
Vladimir Kozlov
904f53db88 7160610: Unknown Native Code compilation issue
When constructing input vector use type of vector's operation which use it since element's sizes should match.

Reviewed-by: never, twisti
2012-05-07 12:37:46 -07:00
Tom Rodriguez
a02fad04b2 7161796: PhaseStringOpts::fetch_static_field tries to fetch field from the Klass instead of the mirror
Reviewed-by: twisti
2012-04-18 16:08:34 -07:00
Nils Eliasson
2ded12cdfd 7162094: LateInlineCallGenerator::do_late_inline crashed on uninitialized _call_node
Reviewed-by: never, twisti
2012-04-17 11:04:22 -07:00
Abhijit Saha
20a3f240cd Merge 2012-04-10 10:42:34 -07:00
Keith McGuigan
fbcf78297f 7110720: Issue with vm config file loadingIssue with vm config file loading
Disabling default config files if -XX:-ReadDefaultConfigFiles

Reviewed-by: phh, jrose, dcubed, dholmes
2012-03-29 18:55:32 -04:00
Roland Westrelin
302540691b 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Use shorter instruction sequences for atomic add and atomic exchange when possible.

Reviewed-by: kvn, jrose
2012-09-20 16:49:17 +02:00
Vladimir Kozlov
25f18c20d9 7199010: incorrect vector alignment
Fixed vectors alignment when several arrays are accessed in one loop.

Reviewed-by: roland, twisti
2012-09-19 16:50:26 -07:00
Aleksey Shipilev
3874f44d1c 7198499: TraceTypeProfile as diagnostic option
Reviewed-by: kvn
2012-09-19 10:38:12 -07:00
Vladimir Kozlov
811c047ec1 7196199: java/text/Bidi/Bug6665028.java failed: Bidi run count incorrect
Save whole XMM/YMM registers in safepoint interrupt handler.

Reviewed-by: roland, twisti
2012-09-17 19:39:07 -07:00
Roland Westrelin
08757b8a99 7195816: NPG: Crash in c1_ValueType - ShouldNotReachHere
C1 needs knowledge of T_METADATA at the LIR level.

Reviewed-by: kvn, coleenp
2012-09-11 16:20:57 +02:00
Coleen Phillimore
12b9a4edbb 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
Simple renaming to be consistent with instanceKlass->InstanceKlass renaming

Reviewed-by: stefank, jmasa
2012-09-07 12:04:16 -04:00
Roland Westrelin
badaff577b 7184649: NPG: Implement another MetdataPtr case
Xmeet when both inputs are MetadataPtr.

Reviewed-by: kvn
2012-09-04 23:27:55 +02:00
Jon Masamitsu
5c58d27aac 6964458: Reimplement class meta-data storage to use native memory
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
2012-09-01 13:25:18 -04:00
Vladimir Kozlov
08973326c4 7154997: assert(false) failed: not G1 barrier raw StoreP
Skip only G1 cases and explicitly set global escape state in unsafe cases.

Reviewed-by: never
2012-03-20 13:10:13 -07:00