35 Commits

Author SHA1 Message Date
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
Vladimir Kozlov
09d7f4bbcf 6667588: Don't generate duplicated CMP for float/double values
Float CMove generation add duplicated CMPF if there are more then one Move depending on the condition.

Reviewed-by: jrose, never, rasbold
2008-02-29 19:07:15 -08:00
J. Duke
8153779ad3 Initial load 2007-12-01 00:00:00 +00:00