Vladimir Kozlov
0853423f46
8046275: Fastdebug build failing on jdk9/hs/ control jobs after pulling some hs-comp changes
...
Add missing check for Opaque nodes from loop predicates in clone_loop().
Reviewed-by: iveresov
2014-06-09 15:42:31 -07:00
Tobias Hartmann
2a0815a55e
8034812: remove IDX_INIT macro hack in Node class
...
The IDX_INIT macro used by Node::Node(...) to retrieve the Compile object is removed and replaced by a call to Compile::current(). The Node constructor, new operator and all calls to it are adapted accordingly.
Reviewed-by: kvn, jrose, iveresov, goetz
2014-06-02 08:07:29 +02:00
Vladimir Kozlov
8badeecc2c
8039050: Crash in C2 compiler at Node::rematerialize
...
Added missing calls to record_for_igvn() in loop opts. Added verification of def-use domination.
Reviewed-by: iveresov
2014-04-15 14:34:48 -07:00
Morris Meyer
6db303a301
8001532: C2 node files refactoring
...
Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
2014-04-01 09:05:20 -07:00
Rickard Bäckman
0b85ee832e
8027754: Enable loop optimizations for loops with MathExact inside
...
Reviewed-by: kvn, iveresov
2014-01-23 12:08:28 +01:00
Roland Westrelin
c19a7e0fa3
8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
...
Type methods shouldn't always operate on speculative part
Reviewed-by: kvn, twisti
2014-01-24 09:31:53 +01: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
Rickard Bäckman
0ef4539a9f
8028198: SIGSEGV in PhaseIdealLoop::build_loop_late_post
...
Reviewed-by: iveresov, kvn
2013-11-12 13:47:57 +01: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
Rickard Bäckman
441f1d74cf
8024924: Intrinsify java.lang.Math.addExact
...
Reviewed-by: kvn, twisti
2013-09-27 08:39:19 +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
Bharadwaj Yadavalli
2d2532e740
7092905: C2: Keep track of the number of dead nodes
...
Keep an (almost) accurate running count of the reachable (live) flow graph nodes.
Reviewed-by: kvn, twisti, jrose, vlivanov
2012-11-27 17:24:15 -08:00
Vladimir Kozlov
5f132a5ec3
Merge
2012-10-12 09:22:52 -07: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
Roland Westrelin
61eb5a0549
7054512: Compress class pointers after perm gen removal
...
Support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
2012-10-09 10:11:38 +02:00
Bharadwaj Yadavalli
d5d2e78faa
7193318: C2: remove number of inputs requirement from Node's new operator
...
Deleted placement new operator of Node - node(size_t, Compile *, int).
Reviewed-by: kvn, twisti
2012-09-27 09:38:42 -07:00
Vlaidmir Ivanov
dd85e2f356
7173340: C2: code cleanup: use PhaseIterGVN::replace_edge(Node*, int, Node*) where applicable
...
Replace frequent C2 optimizer code patterns with new methods calls
Reviewed-by: kvn, twisti
2012-06-12 16:23:31 -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
669fa7396d
7097546: Optimize use of CMOVE instructions
...
Avoid CMove in a loop if possible. May generate CMove if it could be moved outside a loop.
Reviewed-by: never
2011-10-26 06:08:56 -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
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
John R Rose
41745904a3
Merge
2011-04-09 21:16:12 -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
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
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
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
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
Erik Trimble
e846382e12
Merge
2009-07-29 16:00:35 -07:00
Xiomara Jayasena
a63ef10004
6862919: Update copyright year
...
Update copyright for files that have been modified in 2009, up to 07/09
Reviewed-by: tbell, ohair
2009-07-28 12:12:40 -07:00
Hiroshi Yamauchi
a24ea182cc
6860469: remix_address_expressions sets incorrect control causing crash in split_if_with_block_post
...
Co-authored-by: Chuck Rasbold <rasbold@google.com>
Reviewed-by: never, kvn
2009-07-15 13:37:35 -07:00
Changpeng Fang
7a36ade1ec
6855164: SIGSEGV during compilation of method involving loop over CharSequence
...
Don not split a block if it contains a FastLockNode with a PhiNode input.
Reviewed-by: kvn, never
2009-07-02 16:18:19 -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
Tom Rodriguez
3d9b153464
6738933: assert with base pointers must match with compressed oops enabled
...
Reviewed-by: kvn, rasbold
2008-09-02 15:03:05 -07:00
Vladimir Kozlov
897278fce0
6731641: assert(m->adr_type() == mach->adr_type(),"matcher should not change adr type")
...
Fixed few addP node type and narrow oop type problems.
Reviewed-by: rasbold, never
2008-08-01 10:06:45 -07:00
Vladimir Kozlov
50c4a23cac
6726999: nsk/stress/jck12a/jck12a010 assert(n != null,"Bad immediate dominator info.")
...
Escape Analysis fixes.
Reviewed-by: never, rasbold
2008-07-28 17:12:52 -07:00
Tom Rodriguez
20de63f383
6700047: C2 failed in idom_no_update
...
Partial peeling shouldn't place clones into loop
Reviewed-by: kvn
2008-07-25 15:54:23 -07:00
Erik Trimble
2d6f42d18c
Merge
2008-07-11 01:14:44 -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
4213e62fb7
6716441: error in meet with +DoEscapeAnalysis
...
Set instance_id to InstanceBot for InstPtr->meet(AryPtr) when types are not related.
Reviewed-by: jrose, never
2008-06-26 13:34:00 -07:00
Vladimir Kozlov
0a077d276e
6715633: when matching a memory node the adr_type should not change
...
Verify the adr_type of a mach node was not changed
Reviewed-by: rasbold, never
2008-06-20 11:10:05 -07:00
Vladimir Kozlov
76035424de
6703890: Compressed Oops: add LoadNKlass node to generate narrow oops (32-bits) compare instructions
...
Add LoadNKlass and CMoveN nodes, use CmpN and ConN nodes to generate narrow oops compare instructions.
Reviewed-by: never, rasbold
2008-05-21 13:46:23 -07:00
Chuck Rasbold
ba411c2466
6684385: Loop unswitching crashes without LoopNode
...
Without LoopNode, exit early from loop unswitching and partial peeling
Reviewed-by: kvn, never, sgoldman
2008-04-09 09:25:45 -07:00
Tom Rodriguez
49434b6bad
6659207: access violation in CompilerThread0
...
Split_thru_phi produces top on a non-dead path
Reviewed-by: kvn, rasbold, sgoldman
2008-03-18 23:54:17 -07:00
Vladimir Kozlov
30dc0edfc8
6673473: (Escape Analysis) Add the instance's field information to PhiNode
...
Avoid an infinite generation of instance's field values Phi nodes.
Reviewed-by: never
2008-03-13 16:31:32 -07:00