445 Commits

Author SHA1 Message Date
Christian Thalinger
ffec4c00c4 6919934: JSR 292 needs to support x86 C1
This implements JSR 292 support for C1 x86.

Reviewed-by: never, jrose, kvn
2010-03-09 20:16:19 +01:00
Tom Rodriguez
e904069b51 6930398: fix for return address locals in OSR entries uses wrong test
Reviewed-by: kvn
2010-03-01 12:12:35 -08:00
Vladimir Kozlov
667e7ff0c0 6930116: loop predication code does not handle If nodes with only one projection
Add check for iff->outcnt() < 2.

Reviewed-by: never
2010-02-25 22:58:43 -08:00
Vladimir Kozlov
8554996b9b 6930035: C2 type system incorrectly handles case j.l.Object->meet(constant AryPtr)
Add missing code.

Reviewed-by: never
2010-02-25 15:55:47 -08:00
Tom Rodriguez
0ab4fb9e37 6915557: assert(_gvn.type(l)->higher_equal(type),"must constrain OSR typestate") with debug build
Reviewed-by: kvn
2010-02-25 11:38:50 -08:00
Tom Rodriguez
fbd5ca617d 6927049: assert(is_Loop(),"invalid node class")
Reviewed-by: kvn
2010-02-19 13:06:11 -08:00
Vladimir Kozlov
fa2d360cd5 6910664: C2: java/util/Arrays/Sorting.java fails with DeoptimizeALot flag
Matcher::float_in_double should be true only when FPU is used for floats.

Reviewed-by: never, twisti
2010-02-19 10:04:16 -08:00
Tom Rodriguez
3e1688a8cd 6663854: assert(n != __null,"Bad immediate dominator info.") in C2 with -Xcomp
Reviewed-by: kvn
2010-02-18 15:05:10 -08:00
Christian Thalinger
0c605ed991 6926782: CodeBuffer size too small after 6921352
After 6921352 the CodeBuffer size was too small.

Reviewed-by: kvn, never
2010-02-18 11:35:41 +01:00
Tom Rodriguez
51fc36cc9a 6877221: Endless deoptimizations in OSR nmethod
Reviewed-by: kvn
2010-02-16 20:07:48 -08:00
Vladimir Kozlov
9110d86267 Merge 2010-02-12 15:27:36 -08:00
Vladimir Kozlov
1a1e145498 6924097: assert((_type == Type::MEMORY) == (_adr_type != 0),"adr_type for memory phis only")
Use PhiNode::make_blank(r, n) method to construct the phi.

Reviewed-by: never
2010-02-09 10:21:06 -08:00
Vladimir Kozlov
22409a5704 6910618: C2: Error: assert(d->is_oop(),"JVM_ArrayCopy: dst not an oop")
Mark in PcDesc call sites which return oop and save the result oop across objects reallocation during deoptimization.

Reviewed-by: never
2010-02-09 01:31:13 -08:00
Vladimir Kozlov
3f7a94c3f2 6910605: C2: NullPointerException/ClassCaseException is thrown when C2 with DeoptimizeALot is used
Set the reexecute bit for runtime calls _new_array_Java when they used for _multianewarray bytecode.

Reviewed-by: never
2010-02-08 12:20:09 -08:00
Vladimir Kozlov
2fd8d35905 6923002: assert(false,"this call site should not be polymorphic")
Clear the total count when a receiver information is cleared.

Reviewed-by: never, jrose
2010-02-07 12:15:06 -08:00
Tom Rodriguez
c1be36be1b 6920293: OptimizeStringConcat causing core dumps
Reviewed-by: kvn, twisti
2010-02-05 11:07:40 -08:00
Andrei Pangin
134e70e53b Merge 2010-02-04 15:50:59 -08:00
Tom Rodriguez
22ce62f2d1 6921992: failure in verify scheduling after 6792161
Reviewed-by: kvn
2010-02-04 11:16:23 -08:00
Vladimir Kozlov
0c27c5537e 6614597: Performance variability in jvm2008 xml.validation
Fix incorrect marking of methods as not compilable.

Reviewed-by: never
2010-02-01 16:49:49 -08:00
Tom Deneau
f23b68b367 6902182: 4/4 Starting with jdwp agent should not incur performance penalty
Rename can_post_exceptions support to can_post_on_exceptions. Add support for should_post_on_exceptions flag to permit per JavaThread optimizations.

Reviewed-by: never, kvn, dcubed
2010-02-01 17:35:05 -07:00
Christian Thalinger
918c7a2e33 6921352: JSR 292 needs its own deopt handler
We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.

Reviewed-by: never, jrose
2010-02-01 19:29:46 +01:00
Tom Rodriguez
8cc63249e9 6916644: C2 compiler crash on x86
Reviewed-by: kvn, twisti
2010-01-29 22:51:41 -08:00
Eric Caspole
a57d68e35b 4360113: Evict nmethods when code cache gets full
Speculatively unload the oldest nmethods when code cache gets full.

Reviewed-by: never, kvn
2010-01-29 09:27:22 -08:00
Christian Thalinger
9aa675b7e6 6921339: backout 6917766
Reviewed-by: mr
2010-01-29 08:33:24 -08:00
Christian Thalinger
fbc43afae6 6917766: JSR 292 needs its own deopt handler
We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.

Reviewed-by: never, jrose
2010-01-29 12:13:05 +01:00
Tom Rodriguez
07c442542c 6792161: assert("No dead instructions after post-alloc")
Reviewed-by: kvn
2010-01-28 20:41:37 -08:00
Tom Rodriguez
0b2600abcd 6920346: G1: "must avoid base_memory and AliasIdxTop"
Reviewed-by: kvn
2010-01-28 16:28:28 -08:00
Vladimir Kozlov
0ebcf0d492 6894807: No ClassCastException for HashAttributeSet constructors if run with -Xcomp
Return interface klass type if it is exact.

Reviewed-by: never
2010-01-21 10:07:59 -08:00
Igor Veresov
ae60c05fee Merge 2010-01-20 12:54:25 -08:00
Y. Srinivas Ramakrishna
d327b24c06 Merge 2010-01-16 23:51:50 -08:00
Tom Rodriguez
72d0f638c7 6849984: Value methods for platform dependent math functions constant fold incorrectly
Reviewed-by: kvn, twisti
2010-01-15 11:53:33 -08:00
Y. Srinivas Ramakrishna
331512606a 6896647: card marks can be deferred too long
Deferred card marks are now flushed during the gc prologue. Parallel[Scavege,OldGC] and SerialGC no longer defer card marks generated by COMPILER2 as a result of ReduceInitialCardMarks. For these cases, introduced a diagnostic option to defer the card marks, only for the purposes of testing and diagnostics. CMS and G1 continue to defer card marks. Potential performance concern related to single-threaded flushing of deferred card marks in the gc prologue will be addressed in the future.

Reviewed-by: never, johnc
2010-01-13 15:26:39 -08:00
Changpeng Fang
815db4fcba 6894779: Loop Predication for Loop Optimizer in C2
Loop predication implementation

Reviewed-by: never, kvn
2010-01-12 14:37:35 -08:00
John R Rose
48bd193a36 Merge 2010-01-08 18:27:20 -08:00
John R Rose
6fbdf208fc 6912063: inlining parameters need to be adjusted for some uses of the JVM
Put all inline-related switches into product mode, to allow tuning by dynamic language implementors.

Reviewed-by: twisti, kvn
2010-01-08 13:58:49 -08:00
Vladimir Kozlov
eca996c10f 6910484: incorrect integer optimization (loosing and op-r in a given example)
Remove AND operation only if mask is equal to shift.

Reviewed-by: never
2010-01-08 09:51:24 -08:00
Kevin Brown
7548b8eed5 6915110: IfNode::up_one_dom moves beyond RootNode bug in src/share/vm/opto/ifnode.cpp
Check RootNode before check Loop in IfNode::up_one_dom().

Reviewed-by: never
2010-01-08 09:42:31 -08:00
Christian Thalinger
e5fb2ad1c4 6914206: change way of permission checking for generated MethodHandle adapters
Put generated MH adapter in InvokeDynamic/MethodHandle classes to be able to indentify them easily in the compiler.

Reviewed-by: kvn, never, jrose
2010-01-08 11:09:46 +01:00
Vladimir Kozlov
8da8433a6f 6912517: JIT bug compiles out (and stops running) code that needs to be run. Causes NPE
Add missing check that value is used in memory expression in instructions with embedded load.

Reviewed-by: never, jrose
2010-01-07 16:26:31 -08:00
Tom Rodriguez
98449cf2c2 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
2010-01-06 14:22:39 -08:00
Christian Thalinger
47f2433a58 6893268: additional dynamic language related optimizations in C2
C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance.

Reviewed-by: kvn, never
2010-01-05 15:21:25 +01:00
Christian Thalinger
375527d84e 6829187: compiler optimizations required for JSR 292
C2 implementation for invokedynamic support.

Reviewed-by: kvn, never
2010-01-05 13:05:58 +01:00
Vladimir Kozlov
9be2e29930 6913075: EA identifies escape state incorrectly after 6895383 fix
EA incorrectly identifies escape state of an allocation passed as call argument.

Reviewed-by: never
2010-01-04 15:21:09 -08:00
Christian Thalinger
caf28727eb 6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164)
During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately.

Reviewed-by: kvn, never
2010-01-04 18:38:08 +01:00
Vladimir Kozlov
00f583219f 6896727: nsk/logging/LoggingPermission/LoggingPermission/logperm002 fails with G1, EscapeAnalisys
Move instance store's memory users to corresponding memory slices when updating its memory edge.

Reviewed-by: never
2009-12-09 19:50:14 -08:00
Vladimir Kozlov
9f5ca0249d 6895383: JCK test throws NPE for method compiled with Escape Analysis
Add missing checks for MemBar nodes in EA.

Reviewed-by: never
2009-12-09 16:40:45 -08:00
Tom Rodriguez
dfbb0bf3e2 6908167: jbb2005, OptimizeStringConcat causes assert in EA
Reviewed-by: kvn
2009-12-08 16:27:21 -08:00
Changpeng Fang
8a9580b1a1 6901572: JVM 1.6.16 crash on loops: assert(has_node(i),"")
Skip the secondary induction variable handling if it is dead

Reviewed-by: never, kvn
2009-12-02 13:29:00 -08:00
Changpeng Fang
a3b6bcb4a8 6904191: OptimizeStringConcat should be product instead of experimental
Make OptimizeStringConcat a product VM option(contributed by never)

Reviewed-by: never
2009-11-25 12:09:02 -08:00
Tom Rodriguez
9db2092b1b 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
2009-11-12 09:24:21 -08:00