47 Commits

Author SHA1 Message Date
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
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