721 Commits

Author SHA1 Message Date
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
Nils Eliasson
ea28f47062 7152955: print_method crashes with null root
Reviewed-by: kvn, never
2012-03-13 20:54:56 -07:00
Nils Eliasson
3683f82865 7152961: InlineTree::should_not_inline may exit prematurely
Reviewed-by: kvn, never
2012-03-13 10:03:59 -07:00
Tom Rodriguez
2d308ccc78 Merge 2012-03-12 19:54:41 -07:00
Nils Eliasson
7b7d3507db 7152957: VM crashes with assert(false) failed: bad AD file
Reviewed-by: kvn, never
2012-03-12 15:28:07 -07:00
Vladimir Kozlov
e5f92a2396 7147744: CTW: assert(false) failed: infinite EA connection graph build
Rewrote Connection graph construction code in EA to reduce time spent there.

Reviewed-by: never
2012-03-12 10:46:47 -07:00
Rickard Bäckman
cf406f37e3 7160570: Intrinsification support for tracing framework
Reviewed-by: sla, never
2012-03-06 12:36:59 +01:00
Nils Eliasson
36efb40d10 6658428: C2 doesn't inline java method if corresponding intrinsic failed to inline
Allow fallback to non-intrinsic inline case

Reviewed-by: kvn, jrose, never
2012-03-05 18:10:31 -08:00
Vladimir Kozlov
22db6951dc 7146442: assert(false) failed: bad AD file
Take into account only stores captured by Initialize node. Added missing check for Top input in value() methods.

Reviewed-by: never
2012-02-21 11:55:05 -08:00
Tom Rodriguez
7a1487a726 Merge 2012-02-17 12:18:52 -08:00
Vladimir Kozlov
867f3ba889 7145346: VerifyStackAtCalls is broken
Replace call_epilog() encoding with macroassembler use. Moved duplicated code to x86.ad. Fixed return_addr() definition.

Reviewed-by: never
2012-02-16 17:12:49 -08:00
Vladimir Kozlov
539616f85a 7125136: SIGILL on linux amd64 in gc/ArrayJuggle/Juggle29
For C2 moved saving EBP after ESP adjustment. For C1 generated 5 byte nop instruction first if needed.

Reviewed-by: never, twisti, azeemj
2012-02-15 21:37:49 -08:00
Vladimir Kozlov
2d533fa2a9 7129284: +DoEscapeAnalysis regression w/ early build of 7u4 (HotSpot 23) on Linux
Removed code which tried to create edges from fields of destination objects of arraycopy to fields of source objects. Added 30 sec time limit for EA graph construction.

Reviewed-by: never
2012-02-10 12:53:43 -08:00
Bill Pittore
39f063f94d Merge 2012-02-10 10:55:15 -05:00
Vladimir Kozlov
e6015c7c26 7143491: G1 C2 CTW: assert(p2x->outcnt() == 2) failed: expects 2 users: Xor and URShift nodes
Adjust the assert and code in eliminate_card_mark() method for case when stored value is NULL.

Reviewed-by: iveresov, never
2012-02-07 16:33:43 -08:00
Bill Pittore
8e09c4566e Merge 2012-02-06 10:57:49 -05:00
Frederic Parain
7b1a6d8811 Merge 2012-02-03 14:04:59 -05:00
Deepak Bhole
ce79f12b7b 7140882: Don't return booleans from methods returning pointers
Changed "return false" to "return NULL"

Reviewed-by: dholmes, rottenha
2012-01-30 12:36:49 +01:00
Roland Westrelin
de3ed511b1 7123910: Some CTW tests crash VM: is_loaded() && that->is_loaded()
Handle not loaded array klass in Parse::do_checkcast().

Reviewed-by: kvn, never
2012-01-26 09:38:28 +01:00