660 Commits

Author SHA1 Message Date
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
Jiangli Zhou
cd85c690df 7132690: InstanceKlass:_reference_type should be u1 type
Change InstanceKlass::_reference_type to u1 type.

Reviewed-by: dholmes, coleenp, acorn
2012-01-25 17:40:51 -05:00
Vladimir Kozlov
51e16a559d Merge 2012-01-25 08:10:04 -08:00
Roland Westrelin
f3ce53be67 7116050: C2/ARM: memory stomping error with DivideMcTests
Block::schedule_local() may write beyond end of ready_cnt array

Reviewed-by: never, kvn
2012-01-25 09:31:47 +01:00
Vladimir Kozlov
3770ecec6f 7132936: guarantee(t != NULL) failed: must be con
Use !higher_equal() check to skip top and values which fit.

Reviewed-by: never
2012-01-24 17:04:51 -08:00
Vladimir Kozlov
5b3f2efc2e 7131302: connode.cpp:205 Error: ShouldNotReachHere()
Add Value() methods to short and byte Load nodes to truncate constants which does not fit.

Reviewed-by: jrose
2012-01-20 09:43:06 -08:00
Vladimir Kozlov
b9cba282ee 7129618: assert(obj_node->eqv_uncast(obj),"");
Relax verification and locks elimination checks for new implementation (EliminateNestedLocks).

Reviewed-by: iveresov
2012-01-13 12:58:26 -08:00
Vladimir Kozlov
337666a80c 7128355: assert(!nocreate) failed: Cannot build a phi for a block already parsed
Do not common BoxLock nodes and avoid creating phis of boxes.

Reviewed-by: never
2012-01-12 14:45:04 -08:00
Vladimir Kozlov
f3f36ae094 7064302: JDK7 build 147 crashed after testing my java 6-compiled web app
Don't split CMove node if it's control edge is different from split region.

Reviewed-by: never
2012-01-12 12:28:59 -08:00
Vladimir Kozlov
791afc42da 7128352: assert(obj_node == obj) failed
Compare uncasted object nodes.

Reviewed-by: never
2012-01-10 18:05:38 -08:00
Vladimir Kozlov
94927c382b 7125896: Eliminate nested locks
Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.

Reviewed-by: never, twisti
2012-01-07 13:26:43 -08:00
Vladimir Kozlov
f99fb50071 7110824: ctw/jarfiles/GUI3rdParty_jar/ob_mask_DateField crashes VM
Change yank_if_dead() to recursive method to remove all dead inputs.

Reviewed-by: never
2012-01-07 10:39:23 -08:00