#
12854:2ab74e5dbdc2 |
|
23-Jun-2017 |
roland |
8181742: Load that bypasses arraycopy has wrong memory state Summary: Set load memory edge to the memory state right before the arraycopy. Reviewed-by: kvn, thartmann
|
#
12766:b7690ac63aa5 |
|
19-Apr-2017 |
iveresov |
8178047: Aliasing problem with raw memory accesses Summary: Require equal bases when unaliasing offsets for raw accesses Reviewed-by: kvn
|
#
11515:aa5cd232c161 |
|
15-Jun-2016 |
shade |
8157726: VarHandles/Unsafe should support sub-word atomic ops Reviewed-by: psandoz, vlivanov, lagergren
|
#
10963:a7aa11177232 |
|
30-Mar-2016 |
ikrylov |
8147844: new method j.l.Runtime.onSpinWait() and the corresponding x86 hotspot instrinsic Summary: adds c1 & c2 x86 intrinsics for j.l.Runtime.onSpinWait() that utilize the PAUSE instruction Reviewed-by: iveresov, kvn Contributed-by: Ivan Krylov <ivan@azul.com>, Yuri Gaevsky <ygaevsky@azul.com>
|
#
10531:c36eb416cc8b |
|
28-Mar-2016 |
vlivanov |
8152179: C2: Folding of unsigned loads is broken w/ @Stable Reviewed-by: jrose, kvn
|
#
10530:b79c4762e270 |
|
28-Mar-2016 |
vlivanov |
8152773: C2: LoadNode properties aren't preserved when converting between signed/unsigned variants Reviewed-by: jrose, kvn
|
#
10428:a66bdd827fcb |
|
03-Mar-2016 |
shade |
8146801: Allocating short arrays of non-constant size is slow Reviewed-by: kvn, twisti, vlivanov
|
#
10328:8b9fdaeb8c57 |
|
23-Feb-2016 |
shade |
8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles Reviewed-by: psandoz, kvn, jrose, adinn, simonis, coleenp
|
#
10006:d9d0a63499ce |
|
11-Jan-2016 |
thartmann |
8146629: Make phase->is_IterGVN() accessible from Node::Identity and Node::Value Summary: Change arguments of Node::Identity() and Node::Value() from PhaseTransform* to PhaseGVN*. Reviewed-by: kvn, roland
|
#
9477:0abc78fcf184 |
|
16-Nov-2015 |
roland |
8142386: Octane crashes with assert(is_Load()) Summary: Unsafe access to an array is wrongly marked as mismatched Reviewed-by: vlivanov, thartmann
|
#
9473:5132864a5d5f |
|
13-Nov-2015 |
neliasso |
Merge
|
#
9445:4bee38ba018c |
|
28-Oct-2015 |
roland |
8140309: [REDO] failed: no mismatched stores, except on raw memory: StoreB StoreI Summary: Mismatched stores on same slice possible with Unsafe.Put*Unaligned methods Reviewed-by: kvn, thartmann
|
#
9281:e33baf2cad34 |
|
05-Nov-2015 |
jwilhelm |
Merge
|
#
9261:9319d5be1bfb |
|
27-Oct-2015 |
chegar |
8139891: Prepare Unsafe for true encapsulation Reviewed-by: alanb, dholmes, jrose, psandoz, twisti
|
#
9199:d80d1084cfdc |
|
21-Oct-2015 |
dlong |
8140267: assert(is_native_ptr || alias_type->adr_type() == TypeOopPtr::BOTTOM || alias_type->field() != __null || alias_type->element() != __null) failed: field, array element or unknown Summary: back out 8136473 Reviewed-by: twisti
|
#
9189:9108fab781a4 |
|
16-Oct-2015 |
roland |
8136473: failed: no mismatched stores, except on raw memory: StoreB StoreI Summary: Mismatched stores on same slice possible with Unsafe.Put*Unaligned methods Reviewed-by: kvn, thartmann
|
#
8858:78c4bc2839bf |
|
14-Aug-2015 |
roland |
8130847: Cloned object's fields observed as null after C2 escape analysis Summary: Eliminated instance/array written to by an array copy variant must be correctly initialized when reallocated at a deopt Reviewed-by: kvn, vlivanov
|
#
8482:ed9cc6871da2 |
|
21-May-2015 |
roland |
8077504: Unsafe load can loose control dependency and cause crash Summary: Node::depends_only_on_test() should return false for Unsafe loads Reviewed-by: kvn, adinn
|
#
8384:c78f961f7edb |
|
12-May-2015 |
roland |
8076188: Optimize arraycopy out for non escaping destination Summary: if the destination of an arraycopy is non escaping, the arraycopy may be optimized out Reviewed-by: kvn, vlivanov
|
#
8285:d11fb4e8a82e |
|
24-Mar-2015 |
roland |
8069191: moving predicate out of loops may cause array accesses to bypass null check Summary: Remove CastPP nodes only during final graph reshape Reviewed-by: kvn, jrose
|
#
7890:f83851ae258e |
|
26-Feb-2015 |
kvn |
Merge
|
#
7878:7bce4e135976 |
|
11-Dec-2014 |
kvn |
Merge
|
#
7877:cc8363b030d5 |
|
11-Dec-2014 |
aph |
8064611: AARCH64: Changes to HotSpot shared code Summary: Everything except cpu/ and os_cpu/ Reviewed-by: dholmes, goetz, dlong, coleenp, kvn
|
#
7844:ce2c731bb770 |
|
10-Feb-2015 |
psandoz |
8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support Reviewed-by: kvn, vlivanov
|
#
7438:269dae261504 |
|
17-Nov-2014 |
vlivanov |
8062258: compiler/debug/TraceIterativeGVN.java segfaults in trace_PhaseIterGVN Reviewed-by: kvn
|
#
7378:e2441a0d98f3 |
|
06-Nov-2014 |
zmajo |
8057622: java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest: SEGV inside compiled code (sparc) Summary: 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
|
#
6837:ae45df3285c9 |
|
05-Aug-2014 |
thartmann |
8054033: Remove unused references to Compile* Summary: Removed unused references to Compile* missed by JDK-8034812. Reviewed-by: kvn, roland
|
#
6396:446bb44e5367 |
|
06-May-2014 |
anoll |
8036851: volatile double accesses are not explicitly atomic in C2 Summary: The C2 structure is adapted to distinguish between volatile and non-volatile double accesses. Reviewed-by: twisti, kvn Contributed-by: Tobias Hartmann <tobias.hartmann@oracle.com>
|
#
6219:12cd03f831d8 |
|
01-Apr-2014 |
morris |
8001532: C2 node files refactoring Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes Reviewed-by: kvn, morris
|
#
6010:abec000618bf |
|
28-Jan-2014 |
kvn |
Merge
|
#
5993:50fdb38839eb |
|
26-Nov-2013 |
goetz |
8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence. Summary: Use new nodes for loadFence/storeFence intrinsics in C2. Reviewed-by: kvn, dholmes
|
#
5989:da862781b584 |
|
21-Nov-2013 |
kvn |
Merge
|
#
5983:2113136690bc |
|
15-Nov-2013 |
goetz |
8024921: PPC64 (part 113): Extend Load and Store nodes to know about memory ordering Summary: 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
|
#
5776:de6a9e811145 |
|
24-Dec-2013 |
mikael |
8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013 Summary: Copyright year updated for files modified during 2013 Reviewed-by: twisti, iveresov
|
#
5635:94a83e0f9ce1 |
|
05-Nov-2013 |
iveresov |
8017065: C2 allows safepoint checks to leak into G1 pre-barriers Summary: Make all raw loads strictly respect control dependencies, make sure RCE doesn't move raw loads, add verification of G1 pre-barriers. Reviewed-by: kvn, roland
|
#
4675:6f3fd5150b67 |
|
08-May-2013 |
kvn |
6934604: enable parts of EliminateAutoBox by default Summary: Resurrected autobox elimination code and enabled part of it by default. Reviewed-by: roland, twisti
|
#
4222:6931f425c517 |
|
25-Feb-2013 |
roland |
8007294: ReduceFieldZeroing doesn't check for dependent load and can lead to incorrect execution Summary: 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
|
#
4044:b30b3c2a0cf2 |
|
22-Jan-2013 |
kvn |
6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86 Summary: Use SSE4.2 and AVX2 instructions for encodeArray intrinsic. Reviewed-by: roland
|
#
3729:d804e148cff8 |
|
12-Oct-2012 |
kvn |
Merge
|
#
3725:f6badecb7ea7 |
|
09-Oct-2012 |
vlivanov |
7199654: Remove LoadUI2LNode Summary: Removed LoadUI2L node from Ideal nodes, use match rule in .ad files instead. Reviewed-by: kvn
|
#
3724:8e47bac5643a |
|
09-Oct-2012 |
roland |
7054512: Compress class pointers after perm gen removal Summary: support of compress class pointers in the compilers. Reviewed-by: kvn, twisti
|
#
3718:b9a9ed0f8eeb |
|
09-Oct-2012 |
mikael |
7197424: update copyright year to match last edit in jdk8 hotspot repository Summary: Update copyright year to 2012 for relevant files Reviewed-by: dholmes, coleenp
|
#
3671:7eca5de9e0b6 |
|
20-Sep-2012 |
roland |
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement() Summary: use shorter instruction sequences for atomic add and atomic exchange when possible. Reviewed-by: kvn, jrose
|
#
3411:8b0a4867acf0 |
|
12-Jun-2012 |
twisti |
7174218: remove AtomicLongCSImpl intrinsics Reviewed-by: kvn, twisti Contributed-by: Krystal Mok <sajia@taobao.com>
|
#
3007:53a127075045 |
|
20-Jan-2012 |
kvn |
7131302: connode.cpp:205 Error: ShouldNotReachHere() Summary: Add Value() methods to short and byte Load nodes to truncate constants which does not fit. Reviewed-by: jrose
|
#
2957:1dc233a8c7fe |
|
20-Dec-2011 |
roland |
7121140: Allocation paths require explicit memory synchronization operations for RMO systems Summary: adds store store barrier after initialization of header and body of objects. Reviewed-by: never, kvn
|
#
2876:1bd45abaa507 |
|
16-Nov-2011 |
kvn |
6890673: Eliminate allocations immediately after EA Summary: Try to eliminate allocations and related locks immediately after escape analysis. Reviewed-by: never
|
#
2722:a92cdbac8b9e |
|
26-Sep-2011 |
kvn |
7081933: Use zeroing elimination optimization for large array Summary: Don't zero new typeArray during runtime call if the allocation is followed by arraycopy into it. Reviewed-by: twisti
|
#
2617:1af104d6cf99 |
|
16-Aug-2011 |
kvn |
7079329: Adjust allocation prefetching for T4 Summary: on T4 2 BIS instructions should be issued to prefetch 64 bytes Reviewed-by: iveresov, phh, twisti
|
#
2612:f1c12354c3f7 |
|
02-Aug-2011 |
roland |
7074017: Introduce MemBarAcquireLock/MemBarReleaseLock nodes for monitor enter/exit code paths Summary: replace MemBarAcquire/MemBarRelease nodes on the monitor enter/exit code paths with new MemBarAcquireLock/MemBarReleaseLock nodes Reviewed-by: kvn, twisti
|
#
2273:1d1603768966 |
|
05-Apr-2011 |
trims |
7010070: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - second pass Summary: Update the copyright to be 2010 on all changed files in OpenJDK Reviewed-by: ohair
|
#
2259:f9424955eb18 |
|
30-Mar-2011 |
kvn |
7029152: Ideal nodes for String intrinsics miss memory edge optimization Summary: In Ideal() method of String intrinsics nodes look for TypeAryPtr::CHARS memory slice if memory is MergeMem. Do not unroll a loop with String intrinsics code. Reviewed-by: never
|
#
1879:f95d63e2154a |
|
23-Nov-2010 |
stefank |
6989984: Use standard include model for Hospot Summary: Replaced MakeDeps and the includeDB files with more standardized solutions. Reviewed-by: coleenp, kvn, kamg
|
#
1529:4311f23817fd |
|
15-Jun-2010 |
kvn |
6959430: Make sure raw loads have control edge Summary: check that raw loads have control edge Reviewed-by: never, twisti
|
#
1472:c18cbe5936b8 |
|
27-May-2010 |
trims |
6941466: Oracle rebranding changes for Hotspot repositories Summary: Change all the Sun copyrights to Oracle copyright Reviewed-by: ohair
|
#
1367:9e321dcfa5b7 |
|
07-Apr-2010 |
kvn |
6940726: Use BIS instruction for allocation prefetch on Sparc Summary: Use BIS instruction for allocation prefetch on Sparc Reviewed-by: twisti
|
#
1198:8d9bfe6a446b |
|
28-Jan-2010 |
never |
6920346: G1: "must avoid base_memory and AliasIdxTop" Reviewed-by: kvn
|
#
1100:f96a1a986f7b |
|
09-Dec-2009 |
kvn |
6895383: JCK test throws NPE for method compiled with Escape Analysis Summary: Add missing checks for MemBar nodes in EA. Reviewed-by: never
|
#
986:62001a362ce9 |
|
14-Sep-2009 |
kvn |
6827605: new String intrinsics may prevent EA scalar replacement 6875866: Intrinsic for String.indexOf() is broken on x86 with SSE4.2 Summary: Modify String intrinsic methods to pass char[] pointers instead of string oops. Reviewed-by: never
|
#
985:685e959d09ea |
|
14-Sep-2009 |
cfang |
6877254: Server vm crashes with no branches off of store slice" when run with CMS and UseSuperWord(default) Summary: design StoreCMNode::Ideal to promote its oopStore input if the input is a MergeMem node Reviewed-by: kvn, never
|
#
681:fbde8ec322d0 |
|
31-Mar-2009 |
cfang |
6761600: Use sse 4.2 in intrinsics Summary: Use SSE 4.2 in intrinsics for String.{compareTo/equals/indexOf} and Arrays.equals. Reviewed-by: kvn, never, jrose
|
#
628:7bb995fbd3c0 |
|
12-Mar-2009 |
trims |
Merge
|
#
624:337400e7a5dd |
|
09-Mar-2009 |
twisti |
6797305: Add LoadUB and LoadUI opcode class Summary: Add a LoadUB (unsigned byte) and LoadUI (unsigned int) opcode class so we have these load optimizations in the first place and do not need to handle them in the matcher. Reviewed-by: never, kvn
|
#
605:98cb887364d3 |
|
27-Feb-2009 |
twisti |
6810672: Comment typos Summary: I have collected some typos I have found while looking at the code. Reviewed-by: kvn, never
|
#
579:0fbdb4381b99 |
|
09-Mar-2009 |
xdono |
6814575: Update copyright year Summary: Update copyright for files that have been modified in 2009, up to 03/09 Reviewed-by: katleman, tbell, ohair
|
#
558:3b5ac9e7e6ea |
|
26-Jan-2009 |
twisti |
6796746: rename LoadC (char) opcode class to LoadUS (unsigned short) Summary: Renaming LoadC to LoadUS would round up the planned introduction of LoadUB and LoadUI. Reviewed-by: phh, kvn
|
#
420:a1980da045cc |
|
07-Nov-2008 |
kvn |
6462850: generate biased locking code in C2 ideal graph Summary: Inline biased locking code in C2 ideal graph during macro nodes expansion Reviewed-by: never
|
#
366:8261ee795323 |
|
17-Sep-2008 |
rasbold |
6711100: 64bit fastdebug server vm crashes with assert(_base == Int,"Not an Int") Summary: insert CastII nodes to narrow type of load_array_length() node Reviewed-by: never, kvn
|
#
253:b0fe4deeb9fb |
|
28-Jul-2008 |
kvn |
6726999: nsk/stress/jck12a/jck12a010 assert(n != null,"Bad immediate dominator info.") Summary: Escape Analysis fixes. Reviewed-by: never, rasbold
|
#
196:d1605aabd0a1 |
|
02-Jul-2008 |
xdono |
6719955: Update copyright year Summary: Update copyright year for files that have been modified in 2008 Reviewed-by: ohair, tbell
|
#
169:9148c65abefc |
|
29-May-2008 |
rasbold |
6695049: (coll) Create an x86 intrinsic for Arrays.equals Summary: Intrinsify java/util/Arrays.equals(char[], char[]) Reviewed-by: kvn, never
|
#
164:c436414a719e |
|
21-May-2008 |
kvn |
6703890: Compressed Oops: add LoadNKlass node to generate narrow oops (32-bits) compare instructions Summary: Add LoadNKlass and CMoveN nodes, use CmpN and ConN nodes to generate narrow oops compare instructions. Reviewed-by: never, rasbold
|
#
163:885ed790ecf0 |
|
21-May-2008 |
kvn |
6695810: null oop passed to encode_heap_oop_not_null Summary: fix several problems in C2 related to Escape Analysis and Compressed Oops. Reviewed-by: never, jrose
|
#
122:ec73d88d5b43 |
|
23-Apr-2008 |
kamg |
Merge
|
#
119:d1a5218d7eaf |
|
16-Apr-2008 |
kvn |
6686791: Side effect in NumberFormat tests with -server -Xcomp Summary: Optimization in CmpPNode::sub() removed the valid compare instruction because of false positive answer from detect_dominating_control(). Reviewed-by: jrose, sgoldman
|
#
113:ba764ed4b6f2 |
|
13-Apr-2008 |
coleenp |
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
|
#
85:f3b3fe64f59f |
|
15-Apr-2008 |
kvn |
6692301: Side effect in NumberFormat tests with -server -Xcomp Summary: Optimization in CmpPNode::sub() removed the valid compare instruction because of false positive answer from detect_dominating_control(). Reviewed-by: jrose, sgoldman
|
#
74:2a9af0b9cb1c |
|
20-Mar-2008 |
kvn |
6674600: (Escape Analysis) Optimize memory graph for instance's fields Summary: EA gives opportunite to do more aggressive memory optimizations. Reviewed-by: never, jrose
|
#
64:b8f5ba577b02 |
|
13-Mar-2008 |
kvn |
6673473: (Escape Analysis) Add the instance's field information to PhiNode Summary: Avoid an infinite generation of instance's field values Phi nodes. Reviewed-by: never
|
#
33:3288958bf319 |
|
29-Feb-2008 |
kvn |
6667580: Optimize CmpP for allocations Summary: CmpP could be optimized out if it compares new allocated objects. Reviewed-by: jrose, never, rasbold
|
#
29:d5fc211aea19 |
|
25-Feb-2008 |
kvn |
6633953: type2aelembytes{T_ADDRESS} should be 8 bytes in 64 bit VM Summary: T_ADDRESS size is defined as 'int' size (4 bytes) but C2 use it for raw pointers and as memory type for StoreP and LoadP nodes. Reviewed-by: jrose
|
#
17:ff5961f4c095 |
|
05-Dec-2007 |
never |
6395208: Elide autoboxing for calls to HashMap.get(int) and HashMap.get(long) Reviewed-by: kvn, rasbold
|
#
0:a61af66fc99e |
|
30-Nov-2007 |
duke |
Initial load
|