721 Commits

Author SHA1 Message Date
Roland Westrelin
499732d316 7087453: PhaseChaitin::yank_if_dead() should handle MachTemp inputs
PhaseChaitin::yank_if_dead() should be able to handle MachTemp inputs as a special case and yank them.

Reviewed-by: never, kvn
2011-09-08 09:35:41 +02:00
Vladimir Kozlov
61068411fa 7054211: No loop unrolling done in jdk7b144 for a test update() while loop
Restore unrolling code for CaffeineMark.

Reviewed-by: never
2011-09-07 12:58:42 -07:00
Roland Westrelin
48ecf5dfe4 7086394: c2/arm: enable UseFPUForSpilling
ARM has instructions to move data directly between the fpu and integer registers.

Reviewed-by: kvn, never
2011-09-07 09:35:52 +02:00
Tom Rodriguez
32fd1b087d 7071307: MethodHandle bimorphic inlining should consider the frequency
Reviewed-by: twisti, roland, kvn, iveresov
2011-09-02 20:58:21 -07:00
Christian Thalinger
1038fed51d 7071709: JSR 292: switchpoint invalidation should be pushed not pulled
Reviewed-by: never
2011-09-02 04:28:59 -07:00
Christian Thalinger
db44acbeb4 7085404: JSR 292: VolatileCallSites should have push notification too
Reviewed-by: never, kvn
2011-09-02 00:36:18 -07:00
Christian Thalinger
fcc2a86582 7079673: JSR 292: C1 should inline bytecoded method handle adapters
Reviewed-by: never
2011-09-01 01:31:25 -07:00
Tom Rodriguez
fa7c124af1 7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn
2011-08-31 16:46:11 -07:00
Christian Thalinger
05b60b3662 7078382: JSR 292: don't count method handle adapters against inlining budgets
Reviewed-by: kvn, never
2011-08-31 01:40:45 -07:00
Christian Thalinger
e3342531b4 7083184: JSR 292: don't store context class argument with call site dependencies
Reviewed-by: jrose, never
2011-08-29 05:07:35 -07:00
Igor Veresov
ec3f90d1b4 6591247: C2 cleans up the merge point too early during SplitIf
Remove region self reference last

Reviewed-by: kvn, never
2011-08-27 00:23:47 -07:00
Vladimir Kozlov
ff4faaab4b 7080431: VM asserts if specified size(x) in .ad is larger than emitted size
Move code from finalize_offsets_and_shorten() to fill_buffer() to restore previous behavior.

Reviewed-by: never
2011-08-18 11:49:33 -07:00
Vladimir Kozlov
90651b2666 7079329: Adjust allocation prefetching for T4
On T4 2 BIS instructions should be issued to prefetch 64 bytes

Reviewed-by: iveresov, phh, twisti
2011-08-16 16:59:46 -07:00
Vladimir Kozlov
080f790edc 7079317: Incorrect branch's destination block in PrintoOptoAssembly output
Save/restore label and block in scratch_emit_size()

Reviewed-by: never
2011-08-16 11:53:57 -07:00
Christian Thalinger
134c40b4db 7071653: JSR 292: call site change notification should be pushed not pulled
Reviewed-by: kvn, never, bdelsart
2011-08-16 04:14:05 -07:00
Vladimir Kozlov
ac99f413d7 7063629: use cbcond in C2 generated code on T4
Use new short branch instruction in C2 generated code.

Reviewed-by: never
2011-08-11 12:08:11 -07:00
Vladimir Kozlov
52f678435a 7077439: Possible reference through NULL in loopPredicate.cpp:726
Use cl->is_valid_counted_loop() check.

Reviewed-by: never
2011-08-10 14:06:57 -07:00
Roland Westrelin
b543a07b9a 7074017: Introduce MemBarAcquireLock/MemBarReleaseLock nodes for monitor enter/exit code paths
Replace MemBarAcquire/MemBarRelease nodes on the monitor enter/exit code paths with new MemBarAcquireLock/MemBarReleaseLock nodes

Reviewed-by: kvn, twisti
2011-08-02 18:36:40 +02:00
Vladimir Kozlov
df8d608ac7 7068051: SIGSEGV in PhaseIdealLoop::build_loop_late_post
Removed predicate cloning from loop peeling optimization and from split fall-in paths.

Reviewed-by: never
2011-07-29 09:16:29 -07:00
Vladimir Kozlov
18329266ea 7069452: Cleanup NodeFlags
Remove flags which duplicate information in Node::NodeClasses.

Reviewed-by: never
2011-07-27 17:28:36 -07:00
Vladimir Kozlov
dd43791e4a 7070134: Hotspot crashes with sigsegv from PorterStemmer
Do not move data nodes which are attached to a predicate test to a dominating test.

Reviewed-by: never
2011-07-26 19:35:23 -07:00
Vladimir Kozlov
48c1293916 7063628: Use cbcond on T4
Add new short branch instruction to Hotspot sparc assembler.

Reviewed-by: never, twisti, jrose
2011-07-21 11:25:07 -07:00
Vladimir Kozlov
fcc8abec1e Merge 2011-07-13 10:48:42 -07:00
John Coomes
abe5e3a903 Merge 2011-07-12 16:32:25 -07:00
Igor Veresov
09a3aca98b 7058510: multinewarray with 6 dimensions uncommon traps in server compiler
Pass arguments to runtime via java array for arrays with > 5 dimensions

Reviewed-by: never, kvn, jrose, pbk
2011-07-08 15:33:03 -07:00
John Coomes
07d5e13794 7061187: need some includes for arm/ppc
Reviewed-by: dholmes, never, jwilhelm, kvn
2011-07-06 12:03:01 -07:00
Vladimir Kozlov
b443bf1f4c 7047954: VM crashes with assert(is_Mem()) failed
Cast constant array ptrs to bottom

Reviewed-by: never
2011-06-28 15:50:07 -07:00
Vladimir Kozlov
b3505a88a4 7044738: Loop unroll optimization causes incorrect result
Take into account memory dependencies when clonning nodes in clone_up_backedge_goo().

Reviewed-by: never
2011-06-28 15:24:29 -07:00
Tom Rodriguez
15161b8cd1 7057587: JSR 292 - crash with jruby in test/test_respond_to.rb
Don't skip receiver when GC'ing compiled invokedynamic callsites

Reviewed-by: twisti, kvn, jrose
2011-06-22 14:45:37 -07:00
Vladimir Kozlov
d19a8f6e35 7052494: Eclipse test fails on JDK 7 b142
Keep 'ne' test in Counted loop when we can't guarantee during compilation that init < limit.

Reviewed-by: never
2011-06-20 16:45:35 -07:00
Vladimir Kozlov
18dd7131d0 7050280: assert(u->as_Unlock()->is_eliminated()) failed: sanity
Mark all associated (same box and obj) lock and unlock nodes for elimination if some of them marked already.

Reviewed-by: iveresov, never
2011-06-04 10:36:22 -07:00
Tom Rodriguez
a664e486bd 7045514: SPARC assembly code for JSR 292 ricochet frames
Reviewed-by: kvn, jrose
2011-06-03 22:31:43 -07:00
Tom Rodriguez
e666162b03 7050554: JSR 292 - need optimization for selectAlternative
Reviewed-by: kvn, jrose
2011-06-02 13:36:11 -07:00
Vladimir Kozlov
a8556d6c01 6956668: misbehavior of XOR operator (^) with int
Optimize cmp_ne(xor(X,1),0) to cmp_eq(X,0) only for boolean values X.

Reviewed-by: never
2011-05-31 10:05:36 -07:00
Vladimir Kozlov
c3a7796068 7047069: Array can dynamically change size when assigned to an object field
Fix initialization of a newly-allocated array with arraycopy

Reviewed-by: never
2011-05-27 12:47:48 -07:00
Vladimir Kozlov
69bcf41540 7047300: VM crashes with assert(_base == InstPtr) failed: Not an object pointer
The code incorrectly used is_instptr() instead of is_oopptr() to get const_oop.

Reviewed-by: never
2011-05-24 12:54:51 -07:00
Vladimir Kozlov
800a1a0611 7045506: assert(!can_reshape || !new_phi) failed: for igvn new phi should be hooked
Replace the assert in PhiNode::Ideal with check to avoid transformation of new phi.

Reviewed-by: never
2011-05-21 13:59:55 -07:00
Vladimir Kozlov
0aff6e35b8 7045693: java/util/EnumSet/EnumSetBash.java still failing intermittently
New limit for unrolled loop should be set only for zero trip guard and loop iteration test.

Reviewed-by: never
2011-05-21 11:44:31 -07:00
Vladimir Kozlov
8d44d62173 7046096: SEGV IN C2 WITH 6U25
Missing fail flag set in strings concatenation code.

Reviewed-by: never
2011-05-20 12:46:20 -07:00
Tom Rodriguez
c2f2cb75fc 7045513: JSR 292 inlining causes crashes in methodHandleWalk.cpp
Reviewed-by: jrose
2011-05-17 19:11:51 -07:00
Vladimir Kozlov
0e10a5ad61 7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index out of range: 29488
Fix problems in new RCE code.

Reviewed-by: never
2011-05-16 14:21:16 -07:00
Christian Thalinger
db9005f0d3 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW
Reviewed-by: jrose, kvn, never
2011-05-12 14:04:48 -07:00
Vladimir Kozlov
70dfd21e87 7043552: regression after 7042327
Generate Opaque2 node only during first unroll.

Reviewed-by: never
2011-05-10 12:57:21 -07:00
Christian Thalinger
fee8d7fca4 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters
Reviewed-by: jrose, never, kvn
2011-05-10 00:45:03 -07:00
Vladimir Kozlov
8698030a91 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit)
Separate limit by Opaque2 node when calculating new limit for unrolled loop.

Reviewed-by: never
2011-05-05 21:06:14 -07:00
Vladimir Kozlov
1ac79543d0 5091921: Sign flip issues in loop optimizer
Fix integer overflow problem in the code generated by loop optimizer.

Reviewed-by: never
2011-05-04 13:12:42 -07:00
Tom Rodriguez
c3a8cf7156 Merge 2011-05-03 17:09:05 -07:00
Tom Rodriguez
0ecc18851a 6796786: invalid FP identity transform - (a - b) -> b - a
Reviewed-by: iveresov, twisti
2011-05-03 12:11:54 -07:00
Vladimir Kozlov
e1442309e1 7041100: The load in String.equals intrinsic executed before null check
Remove control from loads in String.equals intrinsic and cast argument to not-null.

Reviewed-by: never
2011-05-03 09:10:39 -07:00
Tom Rodriguez
33f0e50994 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp
Reviewed-by: kvn, twisti
2011-05-02 18:53:37 -07:00