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
Tom Rodriguez
dfc5561910
Merge
2011-05-02 10:51:36 -07:00
Christian Thalinger
6bfb306487
6552561: MaxRecursiveInlineLevel flag doesn't operate correctly
...
Reviewed-by: kvn, never
2011-05-02 00:55:09 -07:00
Vladimir Kozlov
6d0283ed8e
Merge
2011-04-29 11:15:30 -07:00
Vladimir Kozlov
2683d5390b
7039652: Performance regression after 7004547 changes
...
Use unrolled_count() to limit unrolling and use the stride check only for initial stride value.
Reviewed-by: never
2011-04-28 16:40:23 -07:00
Tom Rodriguez
eb8db40092
7032162: assert(flat != TypePtr::BOTTOM) failed: cannot alias-analyze an untyped ptr
...
Reviewed-by: kvn
2011-04-28 14:00:13 -07:00
Tom Rodriguez
2126589fd0
7029167: add support for conditional card marks
...
Reviewed-by: iveresov, kvn
2011-04-27 15:40:36 -07:00
Vladimir Kozlov
6c8fc4b347
7039586: test/java/util/Collections/Rotate.java failing with hs21-b09
...
A predicate should not be moved in partial peel optimization since it will invalidate jvm state of its uncommon trap.
Reviewed-by: never
2011-04-26 12:14:22 -07:00
Tom Rodriguez
16d6414619
7030715: JSR 292 JRuby test/test_super_call_site_caching.rb asserts with +DoEscapeAnalysis
...
Reviewed-by: twisti
2011-04-25 16:25:58 -07:00
Jon Masamitsu
8328bb291e
Merge
2011-04-20 20:32:45 -07:00
Vladimir Kozlov
abc5f94df7
7026700: regression in 6u24-rev-b23: Crash in C2 compiler in PhaseIdealLoop::build_loop_late_post
...
Memory slices should be always created for non-static fields after allocation
Reviewed-by: never
2011-04-20 18:29:35 -07:00
John Cuthbertson
f603d437be
7036021: G1: build failure on win64 and linux with hs21 in jdk6 build environment
...
Missing parentheses around a casted expression and some missing casts were causing build failures with the jdk6 build tools.
Reviewed-by: kvn, brutisso
2011-04-15 10:10:50 -07:00
John Cuthbertson
7c844aba67
Merge
2011-04-14 13:45:41 -07:00
John Cuthbertson
20a3437a74
7035117: G1: nsk/stress/jni/jnistress002 fails with assertion failure
...
Allow long type for offset in G1 code in compiler implementations of Unsafe.getObject
Reviewed-by: never, iveresov
2011-04-13 17:56:43 -07:00
Igor Veresov
aac4b1553e
6988308: assert((cnt > 0.0f) && (prob > 0.0f)) failed: Bad frequency assignment in if
...
Make sure cnt doesn't become negative and integer overflow doesn't happen.
Reviewed-by: kvn, twisti
2011-04-13 14:33:03 -07:00
John R Rose
41745904a3
Merge
2011-04-09 21:16:12 -07:00
Vladimir Kozlov
2096fd712c
7004555: Add new policy for one iteration loops
...
Add new policy for one iteration loops (mostly formal pre- loops).
Reviewed-by: never
2011-04-08 14:56:22 -07:00
Jon Masamitsu
b6e631d446
Merge
2011-04-08 14:19:50 -07:00
John R Rose
f8fe3457a5
7009600: JSR 292 Server compiler crashes in Compile::find_intrinsic(ciMethod*, bool)
...
Catch errors during the compile-time processing of method handles; back out cleanly
Reviewed-by: twisti
2011-04-07 17:12:23 -07:00
John Cuthbertson
a08e1ce906
7009266: G1: assert(obj->is_oop_or_null(true )) failed: Error
...
A referent object that is only weakly reachable at the start of concurrent marking but is re-attached to the strongly reachable object graph during marking may not be marked as live. This can cause the reference object to be processed prematurely and leave dangling pointers to the referent object. Implement a read barrier for the java.lang.ref.Reference::referent field by intrinsifying the Reference.get() method, and intercepting accesses though JNI, reflection, and Unsafe, so that when a non-null referent object is read it is also logged in an SATB buffer.
Reviewed-by: kvn, iveresov, never, tonyp, dholmes
2011-04-07 09:53:20 -07:00
Vladimir Kozlov
ed30132e8b
6992789: assert(phi->_idx >= nodes_size()) failed: only new Phi per instance memory slice
...
Swap checks: check for regular memory slice first and keep input phi.
Reviewed-by: never
2011-04-06 17:32:09 -07:00
Tom Rodriguez
aac4647e6e
7032963: StoreCM shouldn't participate in store elimination
...
Reviewed-by: kvn
2011-04-05 19:14:03 -07:00
Erik Trimble
c9e484d473
7010070: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - second pass
...
Update the copyright to be 2010 on all changed files in OpenJDK
Reviewed-by: ohair
2011-04-05 14:12:31 -07:00
Vladimir Kozlov
3151573d39
7004547: regular loop unroll should not unroll more than max unrolling
...
Take into account that after unroll conjoined heads and tails will fold.
Reviewed-by: never
2011-04-04 19:02:36 -07:00
Tom Rodriguez
774ac503d0
7026957: assert(type2aelembytes(store->as_Mem()->memory_type(), true) == 1 << shift->in(2)->get_int()) failed
...
Reviewed-by: kvn, jrose
2011-04-04 12:57:04 -07:00
Roland Westrelin
f94d7776ca
7033154: Improve C1 arraycopy performance
...
Better static analysis. Take advantage of array copy stubs.
Reviewed-by: never
2011-04-03 12:00:54 +02:00
Vladimir Kozlov
00eca5e982
7004535: Clone loop predicate during loop unswitch
...
Clone loop predicate for clonned loops
Reviewed-by: never
2011-04-02 10:54:15 -07:00
Vladimir Kozlov
68f1177f59
7032314: Allow to generate CallLeafNoFPNode in IdealKit
...
Added CallLeafNoFPNode generation to IdealKit. Added i_o synchronization.
Reviewed-by: never
2011-04-02 09:49:27 -07:00
Tom Rodriguez
5cd8d5c115
6909440: C2 fails with assertion (_always_cold->is_cold(),"must always be cold")
...
Reviewed-by: kvn
2011-04-01 21:45:33 -07:00
Vladimir Kozlov
0493606cdd
7032696: Fix for 7029152 broke VM
...
StrIntrinsicNode::Ideal() should not optimize memory during Parse.
Reviewed-by: jrose, never
2011-03-31 13:22:34 -07:00
Vladimir Kozlov
3ecb9f51df
7029152: Ideal nodes for String intrinsics miss memory edge optimization
...
In Ideal() method of String intrinsics nodes look for TypeAryPtr::CHARS memory slice if memory is MergeMem. Do not unroll a loop with String intrinsics code.
Reviewed-by: never
2011-03-30 12:08:49 -07:00
Christian Thalinger
f51036e9bc
7022998: JSR 292 recursive method handle calls inline themselves infinitely
...
Reviewed-by: never, kvn
2011-03-28 03:58:07 -07:00
Tom Rodriguez
5387ee459e
7024475: loop doesn't terminate when compiled
...
Reviewed-by: kvn
2011-03-27 00:00:14 -07:00
Roland Westrelin
4171ca786e
7029017: Additional architecture support for c2 compiler
...
Enables cross building of a c2 VM. Support masking of shift counts when the processor architecture mandates it.
Reviewed-by: kvn, never
2011-03-25 09:35:39 +01:00
John Coomes
cdd5139d91
Merge
2011-03-24 23:04:36 -07:00
John Coomes
fe899cc10d
6962931: move interned strings out of the perm gen
...
Reviewed-by: never, coleenp, ysr, jwilhelm
2011-03-22 13:36:33 -07:00