59 Commits

Author SHA1 Message Date
Tobias Hartmann
23a62fdfca 8150804: C2 Compilation fails with assert(_base >= OopPtr && _base <= AryPtr) failed: Not a Java pointer
Wait with removing casts from inputs in PhiNode::ideal() until after parsing for the type information to propagate.

Reviewed-by: kvn
2016-03-15 17:42:28 +01:00
Roland Westrelin
dc88c70fbb 8147853: "assert(t->meet(t0) == t) failed: Not monotonic" with sun/util/calendar/zi/TestZoneInfo310.java
Type of counted loop Phi may be saturated before special code to handle counted loops kicks in

Reviewed-by: kvn
2016-01-21 18:04:14 +01:00
Roland Westrelin
b6658d2b5f 8146999: hotspot/test/compiler/c2/8007294/Test8007294.java test nightly failure
Uncast() fails with CheckCastPP

Reviewed-by: kvn, thartmann
2016-01-18 21:34:28 +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
Roland Westrelin
631c143469 8145322: Code generated from unsafe loops can be slightly improved
Improve code generated from checkIndex and unsafe loops

Reviewed-by: kvn, thartmann
2016-01-11 16:33:27 +01:00
Roland Westrelin
6961dea52a 8139771: Eliminating CastPP nodes at Phis when they all come from a unique input may cause crash
Lost dependency when CastPP at Phis are eliminate

Reviewed-by: kvn
2015-12-11 16:57:08 +01:00
Volker Simonis
350b04eab2 8141551: C2 can not handle returns with inccompatible interface arrays
Reviewed-by: kvn
2015-11-16 14:19:10 +01:00
Vlad Ureche
645a55a98f 8011858: Use Compile::live_nodes() instead of Compile::unique() in appropriate places
Reviewed-by: kvn, vlivanov
2015-08-10 10:39:19 -07:00
Michael Haupt
fd2f61a53f 8004073: Implement C2 Ideal node specific dump() method
Add Node::dump_rel() to dump a node and its related nodes (the notion of "related" depends on the node at hand); add Node::dump_comp() to dump a node in compact representation; add Node::dump_rel_comp() to dump a node and its related nodes in compact representation; add the required machinery; extend some C2 IR nodes with compact and related dumping

Reviewed-by: kvn, roland
2015-03-18 16:16:30 +01:00
Roland Westrelin
1c38036fd8 8075922: assert(t == t_no_spec) fails in phaseX.cpp
Subgraph becomes dead RegionNode::Ideal() but is not destroyed

Reviewed-by: kvn, vlivanov
2015-03-25 14:25:53 +01:00
Harold Seigel
ce4261471b 8068687: Remove meta-index support and cleanup hotspot code for rt.jar etc in non-modular jdk image
Remove the meta-index code and rt.jar code and comments

Reviewed-by: mchung, gtriantafill
2015-02-17 13:19:23 -05:00
Tobias Hartmann
70a55eac34 8054033: Remove unused references to Compile*
Removed unused references to Compile* missed by JDK-8034812.

Reviewed-by: kvn, roland
2014-08-05 09:58:52 +02:00
Tobias Hartmann
11eb4553c9 8040213: C2 does not put all modified nodes on IGVN worklist
Verification code is added that checks if modified nodes are put on the IGVN worklist and modified nodes are processed by 'PhaseIterGVN::transform_old()'

Reviewed-by: kvn, jrose
2014-07-25 10:06:17 +02: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
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
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
Roland Westrelin
14578d5ae9 8029464: assert(ft == ttkp->cast_to_ptr_type(jtkp->ptr()) || ft->isa_narrowoop()
Fix the assert check for narrow klass pointer.

Reviewed-by: twisti, kvn
2014-01-13 16:16:25 -08:00
Erik Helin
30f059b5fc 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
2013-08-12 17:37:02 +02:00
Vladimir Kozlov
b4977e887a 6934604: enable parts of EliminateAutoBox by default
Resurrected autobox elimination code and enabled part of it by default.

Reviewed-by: roland, twisti
2013-05-08 15:08:01 -07:00
David Chase
25c31f3742 6443505: Ideal() function for CmpLTMask
Repair wrong code generation, added new matching rule

Reviewed-by: kvn, twisti
2013-04-12 19:14:47 -07:00
Roland Westrelin
73d6d417be 8005071: Incremental inlining for JSR 292
Post parse inlining driven by number of live nodes.

Reviewed-by: twisti, kvn, jrose
2012-12-23 17:08:22 +01:00
Roland Westrelin
b1c3e5ccc6 8005031: Some cleanup in c2 to prepare for incremental inlining support
Collection of small changes to prepare for incremental inlining.

Reviewed-by: twisti, kvn
2012-12-18 14:55:25 +01: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
Jon Masamitsu
5c58d27aac 6964458: Reimplement class meta-data storage to use native memory
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
2012-09-01 13:25:18 -04:00
Vladimir Kozlov
791afc42da 7128352: assert(obj_node == obj) failed
Compare uncasted object nodes.

Reviewed-by: never
2012-01-10 18:05:38 -08:00
Vladimir Kozlov
6b52dbceb0 7105605: Use EA info to optimize pointers compare
Optimize pointers compare using EA information.

Reviewed-by: never, twisti
2011-11-14 18:38:03 -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
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
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
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
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
24b71d013a Merge 2010-05-19 10:22:39 -07:00
Vladimir Kozlov
d72f8abedf 6937111: Restore optimization for Phi of AddP (6552204)
Restored the original code which was removed by the fix for 6614100.

Reviewed-by: never
2010-04-05 10:17:15 -07:00
Vladimir Kozlov
0ebcf0d492 6894807: No ClassCastException for HashAttributeSet constructors if run with -Xcomp
Return interface klass type if it is exact.

Reviewed-by: never
2010-01-21 10:07:59 -08:00
Vladimir Kozlov
998bcbaf4b 6889300: assert(i != k || is_new || i->outcnt() > 0, "don't return dead nodes")
PhiNode::Ideal() should return TOP for Phi node with no users.

Reviewed-by: never, jrose
2009-10-13 22:32:31 -07:00
Vladimir Kozlov
f2ea22a547 6865031: Application gives bad result (throws bad exception) with compressed oops
Produce narrow type for new Phi from the original Phi type.

Reviewed-by: cfang
2009-07-31 12:04:07 -07:00
Vladimir Kozlov
2e2f60507e 6851282: JIT miscompilation results in null entry in array when using CompressedOops
Get type for new Phi from non dead path.

Reviewed-by: never
2009-07-16 16:29:55 -07:00
Erik Trimble
8d6035660e Merge 2009-03-12 18:16:36 -07:00
Xiomara Jayasena
2be2e027b0 6814575: Update copyright year
Update copyright for files that have been modified in 2009, up to 03/09

Reviewed-by: katleman, tbell, ohair
2009-03-09 13:28:46 -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
532cc3cef8 6788347: C2Compiler crash 6u7
Reviewed-by: kvn
2009-01-14 14:12:00 -08:00
Vladimir Kozlov
adce6fc49a 6667595: Set probability FAIR for pre-, post- loops and ALWAYS for main loop
Fix loop's probability. Add optimizations to avoid spilling. Change InlineSmallCode to product flag.

Reviewed-by: never
2008-10-02 08:37:44 -07:00
Vladimir Kozlov
b15796424e 6747051: Improve code and implicit null check generation for compressed oops
Push DecodeN node below the Null check to the non-null path to use the mach node without 0 test.

Reviewed-by: rasbold, never
2008-09-23 12:29:06 -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
Vladimir Kozlov
fae39068e8 6723160: Nightly failure: Error: meet not symmetric
Add missing _instance_id settings and other EA fixes.

Reviewed-by: rasbold
2008-07-16 16:04:39 -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