Tobias Hartmann
ca56200977
6675699: need comprehensive fix for unconstrained ConvI2L with narrowed type
...
Emit CastII to make narrow ConvI2L dependent on the corresponding range check.
Reviewed-by: kvn, roland
2016-01-18 08:40:25 +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
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
Martin Doerr
ad3414f985
8146612: C2: Precedence edges specification violated
...
Reviewed-by: kvn
2016-01-08 11:41:04 +01:00
Vladimir Ivanov
afeb87ddd8
8144935: C2: safepoint is pruned from a non-counted loop
...
Reviewed-by: roland
2015-12-10 14:51:53 +03:00
Zoltan Majo
1ca592e687
8129847: Compiling methods generated by Nashorn triggers high memory usage in C2
...
Add a new compiler phase, PhaseRenumberLive, that renumbers live nodes.
Reviewed-by: kvn, thartmann, vlivanov, shade
2015-12-01 08:05:10 +01:00
Christian Thalinger
16526e000e
8136421: JEP 243: Java-Level JVM Compiler Interface
...
Reviewed-by: ihse, alanb, roland, coleenp, iveresov, kvn, kbarrett
2015-10-08 12:49:30 -10: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
Jan Civlin
c7d33de202
8076284: Improve vectorization of parallel streams
...
Improve vectorization of java/util/stream/Streams$RangeIntSpliterator::forEachRemaining() method and enable loop vectorization in a given method on demand.
Reviewed-by: kvn
2015-05-05 12:33:57 -07:00
Roland Westrelin
05ea4dbf1e
8069191: moving predicate out of loops may cause array accesses to bypass null check
...
Remove CastPP nodes only during final graph reshape
Reviewed-by: kvn, jrose
2015-03-24 10:25:09 +01:00
Roland Westrelin
71e31ee0b9
8073480: C2 should optimize explicit range checks
...
Explicit range checks should be recognized by C2
Reviewed-by: kvn, vlivanov
2015-03-17 10:06:31 +01:00
Zoltan Majo
eb5be4c2fe
8066312: Add new Node* Node::find_out(int opc) method
...
Added methods find_user_with() and has_user_with() for searching for a particular out type.
Reviewed-by: kvn, jrose
2015-01-19 09:32:40 +01:00
Roland Westrelin
d2891a37e7
8027626: assert(Opcode() != Op_If || outcnt() == 2) failed: bad if #1
...
IGVN encounters IfNode with single projection when optimizing dying subgraph
Reviewed-by: kvn
2015-01-08 11:00:38 +01:00
Vladimir Ivanov
5a00d5f6b5
8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
...
Reviewed-by: kvn, roland
2014-11-24 07:29:03 -08:00
Tobias Hartmann
8b9a829836
8048879: "unexpected yanked node" opto/postaloc.cpp:139
...
MemBarAcquireNode prevents deletion of dead LoadNNode. Added condition to 'has_special_unique_user' to trigger deletion.
Reviewed-by: kvn, iveresov
2014-08-19 07:36:11 +02: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
Roland Westrelin
2838bcc3bf
8026796: Make replace_in_map() on parent maps generic
...
Propagate node replacements along control flow edges to callers
Reviewed-by: kvn, vlivanov
2014-06-10 13:37:16 +02:00
Igor Veresov
ddffd7c3f1
8044496: 8034812 broke build with clang
...
Remove superfluous clang-diagnostic-pop
Reviewed-by: kvn, drchase
2014-06-02 07:26:52 -10: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
David Chase
305ec3bd3f
8037816: Fix for 8036122 breaks build with Xcode5/clang
...
Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
2014-05-09 16:50:54 -04:00
Vladimir Kozlov
c909ac41de
8039298: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)->higher_equal(TypePtr::NULL_PTR))
...
Convert the assert into the runtime check to skip IGVN optimizations for problematic memory nodes. Eliminate dead nodes more aggressively.
Reviewed-by: twisti, iveresov
2014-05-02 16:44:54 -07:00
Vladimir Kozlov
4200d0d095
Merge
2014-02-20 12:20:56 -08:00
Henry Jen
a752b0b503
8033215: clang: node.cpp:284 IDX_INIT macro use uninitialized field _out
...
Reviewed-by: twisti, kvn
2014-02-11 21:32:19 -08:00
Vladimir Kozlov
7d92dc4d79
Merge
2014-01-28 12:28:17 -08:00
Vladimir Kozlov
c3a0e80e0b
Merge
2014-01-28 12:25:34 -08: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
Goetz Lindenmaier
b4ded0bc2e
8029025: PPC64 (part 203): opto: Move static _in_dump_cnt to Compile object
...
Also introduces the compiler oracle 'option' feature for PrintAssembly.
Reviewed-by: kvn
2013-11-22 12:14:09 -08:00
Vladimir Kozlov
ccfb92c6a9
8012972: Incremental Inlining should support scalar replaced object in debug info
...
Store in _first_index not absolute index but an index relative to the last (youngest) jvms->_scloff value
Reviewed-by: roland, twisti
2013-08-23 11:41:37 -07:00
Vladimir Kozlov
d7176bf7f8
8014189: JVM crash with SEGV in ConnectionGraph::record_for_escape_analysis()
...
Add NULL checks and asserts for Type::make_ptr() returned value.
Reviewed-by: twisti
2013-05-09 17:28:04 -07: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
Roland Westrelin
fe92862089
8007294: ReduceFieldZeroing doesn't check for dependent load and can lead to incorrect execution
...
InitializeNode::can_capture_store() must check that the captured store doesn't overwrite a memory location that is loaded before the store.
Reviewed-by: kvn
2013-02-25 14:13:04 +01: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
Goetz Lindenmaier
44cdae9a57
8005055: pass outputStream to more opto debug routines
...
Pass the output stream to node->dump() and everything reachable from there
Reviewed-by: kvn
2013-01-22 11:31:25 -08:00
Erik Helin
7fc460bae3
8004845: Catch incorrect usage of new and delete during compile time for value objects and stack objects
...
Makes the "new" and "delete" operator of _ValueObj and StackObj private
Reviewed-by: dholmes, coleenp
2012-12-17 15:25:26 +01: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
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
d1191bb4f4
7119644: Increase superword's vector size up to 256 bits
...
Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
2012-06-15 01:25:19 -07: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
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
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
Tom Rodriguez
5387ee459e
7024475: loop doesn't terminate when compiled
...
Reviewed-by: kvn
2011-03-27 00:00:14 -07:00
Vladimir Kozlov
5d3ab72d1d
7017746: Regression : C2 compiler crash due to SIGSEGV in PhaseCFG::schedule_early()
...
Add TEMP edges (and KILL projections) before duplicated operands are removed in Expand() methods.
Reviewed-by: never
2011-02-10 14:25:59 -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
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
John Coomes
7e76feaf42
6888953: some calls to function-like macros are missing semicolons
...
Reviewed-by: pbk, kvn
2009-10-11 16:19:25 -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