Roland Westrelin
686e5a0a6f
8064703: crash running specjvm98's javac following 8060252
...
Uncommon trap between arraycopy and initialization may leave array initialized
Reviewed-by: kvn, vlivanov, goetz
2014-12-01 11:59:56 +01:00
Zoltan Majo
49b224a4f7
8057622: java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest: SEGV inside compiled code (sparc)
...
In Parse::array_store_check(), add control edge FROM IfTrue branch of runtime type check of the destination array TO loading _element_klass from destination array.
Reviewed-by: kvn, roland, anoll
2014-11-06 09:40:58 +01:00
Staffan Friberg
8b424b422f
8057737: Avoid G1 write barriers on newly allocated objects
...
Reviewed-by: mgerdin, kvn, iveresov
2014-10-09 13:06:15 -07:00
Roland Westrelin
a56ade07c7
7173584: Implement arraycopy as a macro node
...
Delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by: kvn, iveresov
2014-08-11 14:12:51 +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
Zoltan Majo
1d44fa46f0
8050860: Cleanup TypeTuple and TypeFunc
...
Declared fields TypeFunc::_domain, TypeFunc::_range, TypeTuple::_cnt and TypeTuple::_fields private, changed direct accesses to fields to use accessor methods.
Reviewed-by: kvn, vlivanov
2014-07-24 09:15:38 +02:00
Vladimir Kozlov
56cea022c9
8035605: Expand functionality of PredictedIntrinsicGenerator
...
Allow several predicates and separate intrinsic methods per one intrinsified (virtual) method.
Reviewed-by: roland
2014-06-10 12:28:06 -07: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
Vladimir Ivanov
ea0470002e
8033626: assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place
...
Reviewed-by: kvn, roland
2014-06-10 10:00:59 +00: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
Tobias Hartmann
85296fec28
8036851: volatile double accesses are not explicitly atomic in C2
...
The C2 structure is adapted to distinguish between volatile and non-volatile double accesses.
Reviewed-by: twisti, kvn
2014-05-06 09:17:57 +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
fa3b0a8f47
8031755: Type speculation should be used to optimize explicit null checks
...
Feed profiling data about reference nullness to type speculation.
Reviewed-by: kvn, iveresov
2014-03-31 09:08:53 +02:00
Poonam Bajaj
1516f610a1
6653795: C2 intrinsic for Unsafe.getAddress performs pointer sign extension on 32-bit systems
...
Native pointers less than 64 bits wide should be extended as an unsigned number.
Reviewed-by: kvn, kevinw
2014-03-24 08:43:10 -07:00
Vladimir Kozlov
97a51c5c2a
8031320: Use Intel RTM instructions for locks
...
Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
2014-03-20 17:49:27 -07:00
Igor Veresov
35f1475d20
8025644: java/util/stream/test/org/openjdk/tests/java/util/stream/ToArrayOpTest.java fails with TestData$OfRef): failure java.lang.AssertionError: expected [true] but found [false]
...
In GraphKit::gen_checkcast() provide only exact superklass to GraphKit::maybe_cast_profiled_receiver()
Reviewed-by: kvn, roland
2014-03-10 11:09:02 -07:00
Per Lidén
4dc240f785
8079792: GC directory structure cleanup
...
Reviewed-by: brutisso, stefank, david
2015-05-13 15:16:06 +02:00
Morris Meyer
c696dd6700
Merge
2014-02-28 08:02:20 -08:00
Roland Westrelin
227129c4d9
8031754: Type speculation should favor profile data from outermost inlined method
...
Favor profile data coming from outer most method
Reviewed-by: kvn, twisti
2014-02-28 13:44:16 +01:00
Harold Seigel
b2c117b170
Merge
2014-02-23 13:16:03 -05:00
Markus Grönlund
68857c9469
8035493: JVMTI PopFrame capability must instruct compilers not to prune locals
...
Reviewed-by: kvn, sla, coleenp, sspitsyn
2014-02-22 10:22:05 +01:00
Roland Westrelin
493557fc90
8031752: Failed speculative optimizations should be reattempted when root of compilation is different
...
Support for speculative traps that keep track of the root of the compilation in which a trap occurs.
Reviewed-by: kvn, twisti
2014-02-25 18:16:24 +01: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
13b13f5259
8024921: PPC64 (part 113): Extend Load and Store nodes to know about memory ordering
...
Add a field to C2 LoadNode and StoreNode classes which indicates whether the load/store should do an acquire/release on platforms which support it.
Reviewed-by: kvn
2013-11-15 11:05:32 -08:00
Roland Westrelin
1b5bd82335
8024070: C2 needs some form of type speculation
...
Record unused type profile information with type system, propagate and use it.
Reviewed-by: kvn, twisti
2013-10-23 12:40:23 +02: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
Staffan Friberg
83e635a090
8026293: Schedule part of G1 pre-barrier late
...
Move rare executed part of G1 write barrier from hot path.
Reviewed-by: kvn, twisti, roland
2013-10-15 12:14:00 -07:00
Igor Veresov
db9a439624
Merge
2013-10-13 13:22:24 -07:00
John Coomes
e61cbf8d69
Merge
2013-10-11 08:27:21 -07:00
Mikael Gerdin
7f3b537807
8014555: G1: Memory ordering problem with Conc refinement and card marking
...
Add a StoreLoad barrier in the G1 post-barrier to fix a race with concurrent refinement. Also-reviewed-by: martin.doerr@sap.com
Reviewed-by: iveresov, tschatzl, brutisso, roland, kvn
2013-10-08 17:35:51 +02:00
Roland Westrelin
59adc04ee5
8024067: Missing replace_in_map() calls following null checks
...
Add replace_in_map() calls following some null checks in type checks
Reviewed-by: kvn
2013-10-03 10:55:07 +02:00
Axel Siebenborn
0c588fa80b
8025599: Missing store barrier with OptimizeStringConcat
...
Reviewed-by: kvn, twisti
2013-09-30 15:42:39 -07:00
Vladimir Ivanov
f0e77ac67f
8001107: @Stable annotation for constant folding of lazily evaluated variables
...
Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: rbackman, twisti, kvn
2013-09-10 14:51:48 -07:00
Martin Doerr
c678f0173a
8023597: Optimize G1 barriers code for unsafe load_store
...
Avoid loading old values in G1 pre-barriers for inlined unsafe load_store nodes.
Reviewed-by: kvn, tonyp
2013-08-28 11:22:43 +02:00
Vladimir Kozlov
dac98bcc0d
8023472: C2 optimization breaks with G1
...
Set control edge for previous value load in G1 pre-barrier
Reviewed-by: twisti
2013-08-23 18:04:35 -07:00
Vladimir Kozlov
fc1302ea95
8019247: SIGSEGV in compiled method c8e.e.t_.getArray(Ljava/lang/Class;)[Ljava/lang/Object
...
Undo recent changes (and add more comments) in Ideal_allocation().
Reviewed-by: roland
2013-07-02 10:30:49 -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
Martin Doerr
19d99e3d92
8012715: G1: GraphKit accesses PtrQueue::_index as int but is size_t
...
In graphKit INT operations were generated to access PtrQueue::_index which has type size_t. This is 64 bit on 64-bit machines. No problems occur on little endian machines as long as the index fits into 32 bit, but on big endian machines the upper part is read, which is zero. This leads to unnecessary branches to the slow path in the runtime.
Reviewed-by: twisti, johnc
2013-04-24 14:48:43 -07:00
Vladimir Kozlov
848ccdbdfe
8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address
...
Always transform AddP nodes in IdealKit by calling _gvn.transform().
Reviewed-by: roland, twisti
2013-03-26 12:55:26 -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
Vladimir Kozlov
e508acf372
8004741: Missing compiled exception handle table entry for multidimensional array allocation
...
Added missing exception path for multidimensional array allocation and use Throwable type instead of OutOfMemoryError for allocation's exception.
Reviewed-by: twisti
2012-12-19 19:21:15 -08: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
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
Christian Thalinger
31411dbc32
7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop()
...
Reviewed-by: kvn, jrose
2012-11-26 17:25:11 -08:00
Vladimir Ivanov
b1d745897b
8000313: C2 should use jlong for 64bit values
...
Replace all occurrences of long with jlong in C2 code.
Reviewed-by: kvn, twisti
2012-10-08 13:02:13 -07: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