Zoltan Majo
|
5751808a6c
|
8148754: C2 loop unrolling fails due to unexpected graph shape
Check if graph shape is appropriate for optimization, bail out optimization if not.
Reviewed-by: kvn, twisti, shade, dnsimon
|
2016-03-21 09:51:20 +01:00 |
|
Roland Westrelin
|
98eca9ebe8
|
8148786: xml.tranform fails on x86-64
CCP computes wrong type for CountedLoop iv Phi
Reviewed-by: kvn
|
2016-02-17 10:59:04 +01:00 |
|
Michael Berg
|
3ade110066
|
8149421: Vectorized Post Loops
Add vectorised post loop for counted loops with vectors.
Reviewed-by: kvn
|
2016-02-12 16:12:15 -08:00 |
|
Roland Westrelin
|
9d5f03332e
|
8143542: C2 doesn't eliminate identical checks
Two identical Ifs back to back can be merged
Reviewed-by: kvn
|
2016-02-03 12:36:18 +01:00 |
|
Roland Westrelin
|
1462f0b038
|
8147645: get_ctrl_no_update() code is wrong
Array.fill intrinsification code doesn't mark replaced control as dead
Reviewed-by: kvn
|
2016-02-03 10:58:50 +01:00 |
|
Tobias Hartmann
|
69b52aa28b
|
8146629: Make phase->is_IterGVN() accessible from Node::Identity and Node::Value
Change arguments of Node::Identity() and Node::Value() from PhaseTransform* to PhaseGVN*.
Reviewed-by: kvn, roland
|
2016-01-12 12:55:09 +01:00 |
|
Andreas Eriksson
|
c64b2175e7
|
6869327: Add new C2 flag to keep safepoints in counted loops
Reviewed-by: kvn, shade
|
2015-12-04 14:06:38 +01:00 |
|
Roland Westrelin
|
fa6545ccc1
|
8137168: Replace IfNode with a new RangeCheckNode for range checks
New RangeCheckNode to enable optimization of explicit library level range checks
Reviewed-by: kvn, thartmann
|
2015-11-09 11:28:31 +01:00 |
|
Jan Civlin
|
0485593fbc
|
8139340: SuperWord enhancement to support vector conditional move (CMovVD) on Intel AVX cpu
Emit vector conditional moves
Reviewed-by: kvn
|
2015-10-26 19:33:31 -07:00 |
|
Jan Civlin
|
115afda88e
|
8136725: Provide utility for creation a counted loop reserve copy (clone)
Make it easier to revert to the original loop should that be needed
Reviewed-by: kvn
|
2015-10-09 12:17:58 -07:00 |
|
Tobias Hartmann
|
f298249547
|
8134739: compiler/loopopts/superword/TestVectorizationWithInvariant crashes in loop opts
Bail out of superword optimization if loop was removed (i.e., if zero-trip Opaque1Node was removed).
Reviewed-by: kvn, roland
|
2015-09-17 08:08:47 +02:00 |
|
Roland Westrelin
|
96b004cd82
|
8080289: Intermediate writes in a loop not eliminated by optimizer
Move Stores out of loop (after or before) when possible
Reviewed-by: kvn, vlivanov
|
2015-07-29 17:25:04 +02:00 |
|
Vladimir Kozlov
|
b5284a93ce
|
8129920: Vectorized loop unrolling
Optimize loop opts for vectorizible loops.
Reviewed-by: kvn, roland
|
2015-07-10 11:59:09 -07:00 |
|
Michael Berg
|
7c7b91845f
|
8080325: SuperWord loop unrolling analysis
Determine loop unroll factor based on supported vectors sizes.
Reviewed-by: roland, kvn
|
2015-06-16 16:10:36 -07:00 |
|
Roland Westrelin
|
513d9a5ede
|
8085832: Optimize main and post loop out when pre loop is found empty
Eliminate main loop and post loop if pre loop becomes empty
Reviewed-by: kvn, mcberg
|
2015-05-12 14:26:31 +02:00 |
|
Michael C Berg
|
9e55e44c85
|
8074981: Integer/FP scalar reduction optimization
Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.
Reviewed-by: kvn, twisti
|
2015-04-01 18:07:50 -07:00 |
|
Roland Westrelin
|
4bc2edad15
|
8054478: C2: Incorrectly compiled char[] array access crashes JVM
Dead backbranch in main loop results in erroneous array access
Reviewed-by: kvn, iveresov
|
2014-11-13 09:19:46 +01:00 |
|
Zhengyu Gu
|
adcde492fa
|
8041415: remove port.{cpp,hpp} files
Hotspot should use standard headers and types
Reviewed-by: coleenp, kvn
|
2014-05-07 06:03:31 -07:00 |
|
Mikael Vidstedt
|
a0da47fd66
|
8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
Copyright year updated for files modified during 2013
Reviewed-by: twisti, iveresov
|
2013-12-24 11:48:39 -08:00 |
|
Roland Westrelin
|
3f8ae3e9b9
|
8024069: replace_in_map() should operate on parent maps
Type information gets lost because replace_in_map() doesn't update parent maps
Reviewed-by: kvn, twisti
|
2013-10-19 12:16:43 +02:00 |
|
Vladimir Kozlov
|
ea54d8f3f0
|
8014811: loopTransform.cpp assert(cmp_end->in(2) == limit) failed
Stop current iteration of loop opts if partial_peel() failed and it created node clones outside processed loop.
Reviewed-by: roland
|
2013-05-22 09:02:43 -07:00 |
|
Morris Meyer
|
25c4a7fccd
|
8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp
Add guarantee() checks
Reviewed-by: kvn
|
2013-03-19 12:15:35 -07:00 |
|
Roland Westrelin
|
c401bf065d
|
7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
Add support for expensive nodes.
Reviewed-by: kvn
|
2013-02-12 12:56:11 +01:00 |
|
Mikael Vidstedt
|
769dd50182
|
7197424: update copyright year to match last edit in jdk8 hotspot repository
Update copyright year to 2012 for relevant files
Reviewed-by: dholmes, coleenp
|
2012-10-09 10:09:34 -07:00 |
|
Vladimir Kozlov
|
da65cc4532
|
7160161: Missed safepoint in non-Counted loop
Do not remove safepoints during peeling optimization.
Reviewed-by: twisti
|
2012-08-29 13:02:40 -07: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
|
09b7902e14
|
7107042: assert(no_dead_loop) failed: dead loop detected
Use dead nodes elimination code in PhaseIdealLoop before executing EA.
Reviewed-by: never, twisti
|
2011-11-09 07:25:51 -08: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
|
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
|
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 |
|
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 |
|
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 |
|
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 |
|
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
|
3de260da41
|
7008866: Missing loop predicate for loop with multiple entries
Add predicates when loop head bytecode is parsed instead of when back branch bytecode is parsed.
Reviewed-by: never
|
2011-03-21 11:28:14 -07:00 |
|
Vladimir Kozlov
|
c00a50c8e9
|
7017240: C2: native memory leak in nsk/regression/b4675027 on windows-x86 in comp mode with G1
Add ResourceMark into PhaseIdealLoop::build_and_optimize().
Reviewed-by: never
|
2011-02-07 09:46:01 -08:00 |
|
Stefan Karlsson
|
8006fe8f75
|
6989984: Use standard include model for Hospot
Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
|
2010-11-23 13:22:55 -08:00 |
|
Tom Rodriguez
|
08d9e03b81
|
4809552: Optimize Arrays.fill(...)
Reviewed-by: kvn
|
2010-08-27 17:33:49 -07:00 |
|
Vladimir Kozlov
|
448b83e288
|
6677629: PhaseIterGVN::subsume_node() should call hash_delete() and add_users_to_worklist()
Use replace_node() method instead of subsume_node().
Reviewed-by: jrose, never
|
2010-06-28 14:54:39 -07:00 |
|
Erik Trimble
|
ba7c173659
|
6941466: Oracle rebranding changes for Hotspot repositories
Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
|
2010-05-27 19:08:38 -07:00 |
|
Tom Rodriguez
|
dac78c30b9
|
6930043: C2: SIGSEGV in javasoft.sqe.tests.lang.arr017.arr01702.arr01702.loop_forw(II)I
Reviewed-by: kvn
|
2010-03-17 16:40:25 -07: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 |
|
Tom Rodriguez
|
c94a076d34
|
6862956: PhaseIdealLoop should have a CFG verification mode
Reviewed-by: kvn, twisti
|
2009-08-14 00:02:12 -07:00 |
|
Christian Thalinger
|
05d1de7727
|
6810672: Comment typos
I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
|
2009-02-27 13:27:09 -08:00 |
|
Tom Rodriguez
|
043fde10e5
|
6743188: incomplete fix for 6700047 C2 failed in idom_no_update
Reviewed-by: rasbold, kvn
|
2008-10-03 13:58:20 -07:00 |
|
Tom Rodriguez
|
4b1e242299
|
6384206: Phis which are later unneeded are impairing our ability to inline based on static types
Reviewed-by: rasbold, jrose
|
2008-09-17 12:59:52 -07:00 |
|
Xiomara Jayasena
|
c96a95c4b8
|
6719955: Update copyright year
Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
|
2008-07-02 12:55:16 -07:00 |
|
Vladimir Kozlov
|
277c3322f6
|
6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation
Cloning an allocation will not allow scalar replacement since memory operations could not be associated with one allocation.
Reviewed-by: rasbold
|
2008-03-06 10:53:33 -08:00 |
|
Tom Rodriguez
|
10c473e425
|
6395208: Elide autoboxing for calls to HashMap.get(int) and HashMap.get(long)
Reviewed-by: kvn, rasbold
|
2007-12-05 09:01:00 -08:00 |
|
J. Duke
|
8153779ad3
|
Initial load
|
2007-12-01 00:00:00 +00:00 |
|