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
Christian Thalinger
40c1bd4242
7192406: JSR 292: C2 needs exact return type information for invokedynamic and invokehandle call sites
...
Reviewed-by: kvn
2012-08-28 15:24:39 -07:00
Christian Thalinger
12901d0e5b
7023639: JSR 292 method handle invocation needs a fast path for compiled code
...
6984705: JSR 292 method handle creation should not go through JNI
Remove assembly code for JDK 7 chained method handles
Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Michael Haupt <michael.haupt@oracle.com>
Reviewed-by: jrose, twisti, kvn, mhaupt
2012-07-24 10:51:00 -07:00
Vladimir Kozlov
eb4a860bc3
6924259: Remove String.count/String.offset
...
Allow a version of String class that doesn't have count and offset fields.
Reviewed-by: never, coleenp
2012-05-14 09:36:00 -07:00
Vladimir Kozlov
e6015c7c26
7143491: G1 C2 CTW: assert(p2x->outcnt() == 2) failed: expects 2 users: Xor and URShift nodes
...
Adjust the assert and code in eliminate_card_mark() method for case when stored value is NULL.
Reviewed-by: iveresov, never
2012-02-07 16:33:43 -08:00
Roland Westrelin
97439fb4ff
7121140: Allocation paths require explicit memory synchronization operations for RMO systems
...
Adds store store barrier after initialization of header and body of objects.
Reviewed-by: never, kvn
2011-12-20 16:56:50 +01:00
Stefan Karlsson
e057d60ca1
7118863: Move sizeof(klassOopDesc) into the *Klass::*_offset_in_bytes() functions
...
Moved sizeof(klassOopDesc), changed the return type to ByteSize and removed the _in_bytes suffix.
Reviewed-by: never, bdelsart, coleenp, jrose
2011-12-07 11:35:03 +01:00
Roland Westrelin
b543a07b9a
7074017: Introduce MemBarAcquireLock/MemBarReleaseLock nodes for monitor enter/exit code paths
...
Replace MemBarAcquire/MemBarRelease nodes on the monitor enter/exit code paths with new MemBarAcquireLock/MemBarReleaseLock nodes
Reviewed-by: kvn, twisti
2011-08-02 18:36:40 +02: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
6d0283ed8e
Merge
2011-04-29 11:15:30 -07:00
Tom Rodriguez
2126589fd0
7029167: add support for conditional card marks
...
Reviewed-by: iveresov, kvn
2011-04-27 15:40:36 -07:00
Tom Rodriguez
16d6414619
7030715: JSR 292 JRuby test/test_super_call_site_caching.rb asserts with +DoEscapeAnalysis
...
Reviewed-by: twisti
2011-04-25 16:25:58 -07:00
Vladimir Kozlov
abc5f94df7
7026700: regression in 6u24-rev-b23: Crash in C2 compiler in PhaseIdealLoop::build_loop_late_post
...
Memory slices should be always created for non-static fields after allocation
Reviewed-by: never
2011-04-20 18:29:35 -07:00
John Cuthbertson
7c844aba67
Merge
2011-04-14 13:45:41 -07:00
John R Rose
41745904a3
Merge
2011-04-09 21:16:12 -07:00