History log of /openjdk10/hotspot/src/share/vm/opto/library_call.cpp
Revision Date Author Comments
# 13359:3b1f322a8582 01-Aug-2017 kvn

Merge


# 13254:c044f8d03932 05-Jul-2017 jwilhelm

8182299: Enable disabled clang warnings, build on OSX 10 + Xcode 8
8182656: Make the required changes in GC code to build on OSX 10 + Xcode 8
8182657: Make the required changes in Runtime code to build on OSX 10 + Xcode 8
8182658: Make the required changes in Compiler code to build on OSX 10 + Xcode 8
Reviewed-by: jwilhelm, ehelin, phh
Contributed-by: phh <hohensee@amazon.com>, jwilhelm <jesper.wilhelmsson@oracle.com>


# 13166:b4438b96a1db 09-Jun-2017 roland

8181211: C2: Use profiling data to optimize on/off heap unsafe accesses
Reviewed-by: kvn


# 13149:df318ded5778 29-May-2017 roland

8176506: C2: loop unswitching and unsafe accesses cause crash
Reviewed-by: vlivanov, mcberg, kvn, simonis


# 13082:72abda3e08b6 12-May-2017 kvn

Merge


# 13031:d6d39ac9a5bb 24-Apr-2017 jwilhelm

Merge


# 12999:3eccb54f17b8 09-Apr-2017 rraghavan

8171813: Reported null pointer dereference defect groups
Summary: Added required explicit NULL checks
Reviewed-by: thartmann, zmajo


# 12993:a8503d22944f 06-Apr-2017 jwilhelm

Merge


# 12951:316b82947d14 14-Mar-2017 coleenp

Merge


# 12913:5e9d9c1b9907 23-Feb-2017 bobv

Merge


# 12894:96dc2414df72 14-Feb-2017 ysuenaga

8172285: UL support for PrintCompilation
Reviewed-by: kvn


# 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


# 12827:5242609b8088 05-Jun-2017 psandoz

8181292: Backport Rename internal Unsafe.compare methods from 10 to 9
Reviewed-by: psandoz, dholmes, thartmann, kvn
Contributed-by: ron.pressler@oracle.com, claes.redestad@oracle.com


# 12777:0a7b3b558838 11-May-2017 psandoz

8159995: Rename internal Unsafe.compare methods
Reviewed-by: psandoz, dholmes
Contributed-by: ron.pressler@oracle.com


# 12748:4d6df9a75465 12-Apr-2017 dlong

8158168: Missing bounds checks for some String intrinsics
Reviewed-by: vlivanov, thartmann, sherman


# 12713:bb104b4b64dc 24-Mar-2017 prr

8177346: hotspot change for 8176513 breaks jdk9 build on Ubuntu 16.04
Reviewed-by: dholmes, kvn, vlivanov


# 12708:03f4b62f3562 15-Mar-2017 roland

8176513: Poor code quality for ByteBuffers
Summary: Relaxes the condition under which MemBarCPUOrder nodes are added around unsafe accesses.
Reviewed-by: vlivanov, kvn, jrose


# 12648:35db0413819a 15-Feb-2017 roland

8174164: SafePointNode::_replaced_nodes breaks with irreducible loops
Reviewed-by: kvn


# 12641:819158e3d5a3 14-Feb-2017 rkennke

8172434: CompareAndExchangeObject inserts two pre-barriers
Reviewed-by: kvn


# 12516:96db752884e3 03-Jan-2017 mdoerr

8172199: s390: Use same get_key_start_from_aescrypt_object implementation as PPC64
Reviewed-by: kvn


# 12313:110b1774a359 11-Nov-2016 rraghavan

8169201: Montgomery multiply intrinsic should use correct name
Summary: Corrected stubName to montgomery_multiply for inline_montgomeryMultiply()
Reviewed-by: aph, thartmann, zmajo


# 12277:031e87605d21 06-Oct-2016 simonis

8159611: C2: ArrayCopy elimination skips required parameter checks
Reviewed-by: kvn, zmajo, thartmann


# 12260:3609eb7f27fa 27-Oct-2016 mgronlun

8168662: Intrinsic support for event based tracing needs explicit control dependency
Reviewed-by: kvn, rehn


# 12228:bb6799e62761 21-Oct-2016 mgronlun

8166806: Add intrinsic support for writer used in event based tracing
Reviewed-by: kvn, egahlin


# 12083:d73bfd7b566d 20-Sep-2016 dlong

Merge


# 12076:ca56c5db7157 26-Aug-2016 vdeshpande

8154122: Intrinsify fused mac operations
Summary: added FMA intrinsics on x86
Reviewed-by: kvn, aph, darcy


# 11975:7c505133010d 08-Sep-2016 dlong

Merge


# 11961:e4094bc14d80 30-Aug-2016 zmajo

8161720: Better byte behavior for off-heap data
Summary: Normalize boolean values read with Unsafe.
Reviewed-by: aph, simonis, jrose, psandoz


# 11922:e84c337743f5 01-Sep-2016 rehn

8163589: Add back class id intrinsic method for event based tracing
Reviewed-by: kvn, mgronlun


# 11904:bde4bcd58309 24-Aug-2016 vlivanov

8155635: C2: Mixed unsafe accesses break alias analysis
Reviewed-by: jrose, kvn


# 11903:10dad1d40843 24-Aug-2016 vlivanov

8162101: C2: Handle "wide" aliases for unsafe accesses
Reviewed-by: kvn


# 11741:1f9a767f006d 29-Jul-2016 rbackman

Merge


# 11695:4be0cada20ad 06-Jul-2016 vlivanov

8160360: Mismatched field loads are folded in LoadNode::Value
Reviewed-by: kvn, thartmann


# 11693:b82f3570b774 04-Jul-2016 thartmann

8159129: TestStringIntrinsicRangeChecks fails w/ No exception thrown for compressByte/inflateByte
Summary: Need to convert char offsets to byte offsets before range check.
Reviewed-by: vlivanov


# 11692:cfb594b3cdbe 04-Jul-2016 thartmann

8160651: StubRoutines::_dtan does not restore callee save register rbx
Summary: Pop rbx before leaving stub.
Reviewed-by: vlivanov, vdeshpande


# 11658:8a5735c11a84 12-Jul-2016 goetz

8161258: Simplify including platform files.
Summary: Include patform files with macros cpu_header() etc. Do various cleanups of macro usages. Remove _64/_32 from adlc generated files and platform .hpp files. Merge stubRoutines_x86*.hpp. Remove empty mutex_<os>* files.
Reviewed-by: dholmes, coleenp, kbarrett


# 11603:cde17b3e2e70 21-Jul-2016 vlivanov

8155781: C2: opaque unsafe access triggers an assert
Reviewed-by: kvn, lmesnik, ppunegov


# 11515:aa5cd232c161 15-Jun-2016 shade

8157726: VarHandles/Unsafe should support sub-word atomic ops
Reviewed-by: psandoz, vlivanov, lagergren


# 11336:50b6bc2ac9e5 23-May-2016 gziemski

8152856: Xcode 7.3 -Wshift-negative-value compile failure on Mac OS X
Summary: Implement _lh_array_tag_type_value as const, not enum.
Reviewed-by: vlivanov, minqi


# 11318:c8325c5c290d 13-May-2016 mdoerr

8141635: Implement VarHandles/Unsafe intrinsics on POWER
Reviewed-by: shade, kvn, simonis


# 11294:5699d4102cd5 10-May-2016 vlivanov

Merge


# 11233:cf3f7ec2a1c7 10-May-2016 vlivanov

Merge


# 11227:dfaa2566defa 06-May-2016 shade

8155965: Unsafe.weakCompareAndSetVolatile entry points and intrinsics
Reviewed-by: psandoz, vlivanov


# 11224:fcb21f5eac8e 06-May-2016 shade

8156068: Unsafe.{get|set}Opaque should be single copy atomic
Reviewed-by: psandoz, vlivanov


# 11192:011616fee690 09-May-2016 vlivanov

Merge


# 11186:f57bf5857679 05-May-2016 psandoz

8155794: Move Objects.checkIndex BiFunction accepting methods to an internal package
Reviewed-by: shade, vlivanov


# 11157:60b331a4d392 06-May-2016 mikael

8150921: Update Unsafe getters/setters to use double-register variants
Reviewed-by: dholmes, shade, psandoz, jrose


# 11077:79dae2cd00ef 25-Apr-2016 vlivanov

8134918: C2: Type speculation produces mismatched unsafe accesses
Reviewed-by: kvn


# 10979:89883d363528 12-Apr-2016 bharadwaj

Merge


# 10976:e6abce3c8763 11-Apr-2016 vlivanov

8152590: C2: @Stable support doesn't always work w/ incremental inlining
Reviewed-by: kvn


# 10964:33f10a35ce20 06-Apr-2016 vdeshpande

8152907: Update for x86 tan and log10 in the math lib
Summary: Optimize Math.tan() and log10() for 64 and 32 bit X86 architecture using Intel LIBM implementation.
Reviewed-by: kvn, twisti
Contributed-by: shravya.rukmannagari@intel.com


# 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>


# 10810:1b2d19e6b14d 07-Apr-2016 bharadwaj

Merge


# 10789:68394bf0a09f 17-Mar-2016 mdoerr

8152172: PPC64: Support AES intrinsics
Reviewed-by: kvn, mdoerr, simonis
Contributed-by: horii@jp.ibm.com


# 10781:20b66ba124e9 07-Apr-2016 dcubed

Merge


# 10762:ea81fe138932 03-Apr-2016 jprovino

8132524: Missing includes to resourceArea.hpp
Summary: Files that use ResourceMark are missing the include of resourceArea.hpp
Reviewed-by: tschatzl, jwilhelm


# 10527:29c7e2e6df92 25-Mar-2016 shade

8152698: Remove obsolete Unsafe.putOrdered{X} methods, usages, runtime and compiler support
Reviewed-by: kvn, psandoz


# 10489:ffee6483b81b 22-Mar-2016 chegar

Merge


# 10433:bff625f165fa 07-Mar-2016 zmajo

Merge


# 10427:6c9cc4c0b514 03-Mar-2016 shade

8150465: Unsafe methods to produce uninitialized arrays
Reviewed-by: jrose, kvn, psandoz, aph, twisti, flar


# 10425:6ff38c89f1f2 03-Mar-2016 mikael

8149159: Clean up Unsafe
Reviewed-by: jrose, kvn, stsmirno, chegar, aph, psandoz, redestad, twisti


# 10420:c558850fac57 17-Mar-2016 alanb

8142968: Module System implementation
Summary: Initial integration of JEP 200, JEP 260, JEP 261, and JEP 282
Reviewed-by: acorn, ccheung, coleenp, ctornqvi, dholmes, dsimms, gtriantafill, iklam, jiangli, mgronlun, mseledtsov, cjplummer, sspitsyn, stefank, twisti, hseigel, lfoltan, alanb, mchung, dfazunen
Contributed-by: alan.bateman@oracle.com, alex.buckley@oracle.com, jonathan.gibbons@oracle.com, karen.kinnear@oracle.com, mandy.chung@oracle.com, mark.reinhold@oracle.com, harold.seigel@oracle.com, lois.foltan@oracle.com, calvin.cheung@oracle.com, christian.tornqvist@oracle.com, erik.joelsson@oracle.com, george.triantafillou@oracle.com, igor.ignatyev@oracle.com, ioi.lam@oracle.com, james.laskey@oracle.com, jean-francois.denise@oracle.com, jiangli.zhou@oracle.com, markus.gronlund@oracle.com, serguei.spitsyn@oracle.com, staffan.larsen@oracle.com, sundararajan.athijegannathan@oracle.com


# 10416:7b19da0e0dd6 05-Mar-2016 jwilhelm

Merge


# 10396:6b59d8ba8fc5 01-Mar-2016 mgronlun

8143226: Minor updates to Event Based tracing
Reviewed-by: jbachorik, egahlin


# 10349:d882a7c5753e 29-Feb-2016 vlivanov

8150543: Mismatched access detection is inaccurate
Reviewed-by: kvn, shade


# 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


# 10326:0bdb1a9d1fd1 23-Feb-2016 shade

8150180: String.value contents should be trusted
Reviewed-by: vlivanov, redestad, jrose, twisti


# 10174:6231dc9a7946 02-Feb-2016 jwilhelm

Merge


# 10160:aa28a104f3d8 01-Dec-2015 mgerdin

8148047: Move the vtable length field to Klass
Reviewed-by: cjplummer, twisti, coleenp, kbarrett


# 10132:269ee0058c3d 27-Jan-2016 mgerdin

8147461: Use byte offsets for vtable start and vtable length offsets
Reviewed-by: cjplummer, coleenp, dnsimon


# 10036:4857410e41c6 20-Jan-2016 simonis

8145336: PPC64: fix string intrinsics after CompactStrings change
Reviewed-by: mdoerr, aph, kvn


# 10028:bf74058d67ec 18-Jan-2016 thartmann

8144212: JDK 9 b93 breaks Apache Lucene due to compact strings
Summary: String compress/inflate intrinsics need to capture char and byte memory.
Reviewed-by: aph, roland, kvn


# 10003:b8fbbc5bab85 12-Jan-2016 zmajo

8086053: Address inconsistencies regarding ZeroTLAB
Summary: Add zero-initialization to C1 for fast TLAB refills; strenghten C2 conditions for skipping zero-initialization.
Reviewed-by: kvn, thartmann


# 9999:c90679b0ea25 18-Dec-2015 vlivanov

8133612: new clone logic added in 8042235 is missing from compiler intrinsics
Reviewed-by: roland


# 9995:13b04370e8e9 08-Jan-2016 vdeshpande

8143353: update for x86 sin and cos in the math lib
Summary: Optimize Math.sin() and cos() for 64 and 32 bit X86 architecture using Intel LIBM implementation.
Reviewed-by: kvn


# 9820:72f54de44772 29-Dec-2015 kvn

8143925: Enhancing CounterMode.crypt() for AES
Summary: Add intrinsic for CounterMode.crypt() to leverage the parallel nature of AES in Counter(CTR) Mode.
Reviewed-by: kvn, ascarpino
Contributed-by: kishor.kharbas@intel.com


# 9812:94849fb8ce93 23-Dec-2015 kvn

8145688: Update for x86 pow in the math lib
Summary: Optimizes Math.pow() for 64 and 32 bit X86 architecture using Intel LIBM implementation.
Reviewed-by: kvn
Contributed-by: vivek.r.deshpande@intel.com


# 9776:661e290d36f1 07-Dec-2015 kvn

8143355: Update for addition of vectorizedMismatch intrinsic for x86
Reviewed-by: kvn
Contributed-by: vivek.r.deshpande@intel.com, liqi.yi@intel.com


# 9752:9988b390777b 04-Dec-2015 vlivanov

8072008: Emit direct call instead of linkTo* for recursive indy/MH.invoke* calls
Reviewed-by: jrose, dlong, aph, forax


# 9611:b648e37988ca 27-Nov-2015 thartmann

8142303: C2 compilation fails with "bad AD file"
Summary: Move range checks into intrinsics for String methods.
Reviewed-by: kvn, aph


# 9492:f60b602209c7 20-Nov-2015 thartmann

8140390: Char stores/loads accessing byte arrays must be marked as unmatched
Summary: Mark unmatched char stores/loads emitted by CompactStrings.
Reviewed-by: roland, vlivanov, jrose


# 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


# 9474:55e98bd0eb95 16-Nov-2015 neliasso

Merge


# 9473:5132864a5d5f 13-Nov-2015 neliasso

Merge


# 9468:af5d7716ac09 16-Nov-2015 roland

8042997: Make intrinsic some or all check index/range methods
Summary: Objects.checkIndex() intrinsic
Reviewed-by: vlivanov, shade


# 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


# 9294:29771f4b4d47 06-Nov-2015 neliasso

8141629: Hs-comp doesn't build with JDK-8139040
Summary: Fix benign uninitialized vars
Reviewed-by: roland


# 9293:a20807e48002 06-Nov-2015 neliasso

Merge


# 9283:f31349f1215e 03-Nov-2015 thartmann

8141132: JEP 254: Compact Strings
Summary: Adopt a more space-efficient internal representation for strings.
Reviewed-by: alanb, bdelsart, coleenp, iklam, jiangli, jrose, kevinw, naoto, pliden, roland, smarks, twisti
Contributed-by: Brent Christian <brent.christian@oracle.com>, Vivek Deshpande <vivek.r.deshpande@intel.com>, Tobias Hartmann <tobias.hartmann@oracle.com>, Charlie Hunt <charlie.hunt@oracle.com>, Vladimir Kozlov <vladimir.kozlov@oracle.com>, Roger Riggs <roger.riggs@oracle.com>, Xueming Shen <xueming.shen@oracle.com>, Aleksey Shipilev <aleksey.shipilev@oracle.com>, Sandhya Viswanathan <sandhya.viswanathan@intel.com>


# 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


# 9244:825cee2cd7a6 22-Oct-2015 goetz

8139040: Fix initializations before ShouldNotReachHere() etc. and enable -Wuninitialized on linux.
Reviewed-by: stuefe, coleenp, roland


# 9205:4b46d2b42fcb 22-Oct-2015 iveresov

8139575: Update for x86 log in the math lib
Summary: Add new java.lang.Math() intrinsics from x86
Reviewed-by: kvn, iveresov
Contributed-by: vivek.r.deshpande@intel.com


# 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


# 9191:a176d4737606 20-Oct-2015 neliasso

8137167: JEP165: Compiler Control: Implementation task
Summary: Compiler Control JEP
Reviewed-by: roland, twisti, zmajo, simonis


# 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


# 9149:a8a8604f890f 17-Oct-2015 dlong

Merge


# 9123:738f57684fed 13-Oct-2015 enevill

8139259: aarch64: jtreg test TestLogSum segvs after 8132207
Summary: Fix jump to 0 caused by uninitialised _dexp in 8132207
Reviewed-by: roland, kvn


# 9106:53c5cb9d3fed 15-Oct-2015 jwilhelm

Merge


# 9056:dc9930a04ab0 29-Sep-2015 david

8080775: Better argument formatting for assert() and friends
Reviewed-by: kbarrett, pliden


# 9040:324ea1a2419a 05-Oct-2015 iveresov

8132207: update for x86 exp in the math lib
Summary: Add new java.lang.Math() intrinsics from x86
Reviewed-by: kvn, iveresov
Contributed-by: vivek.r.deshpande@intel.com


# 8910:66e8f7dba7d8 03-Sep-2015 kvn

8132081: C2 support for Adler32 on SPARC
Summary: Add C2 instrinsic support for Adler32 checksum on SPARC.
Reviewed-by: kvn
Contributed-by: ahmed.khawaja@oracle.com


# 8857:acf9f5d04075 12-Aug-2015 shade

8019968: Reference CAS induces GC store barrier even on failure
Reviewed-by: kvn, adinn, roland


# 8798:1659894de94f 03-Aug-2015 zmajo

8132457: Unify command-line flags controlling the usage of compiler intrinsics
Summary: Cleanup processing of command-line flags controlling intrinsics.
Reviewed-by: kvn


# 8745:abf45dd6ae7c 28-Jul-2015 zmajo

8130832: Extend the WhiteBox API to provide information about the availability of compiler intrinsics
Summary: Add a new method, sun.hotspot.WhiteBox.isIntrinsicAvailable, that can be used to determine if an intrinsic is available.
Reviewed-by: kvn, jrose


# 8733:0a3d4779fd89 23-Jul-2015 roland

Merge


# 8723:c8abbfeb4101 14-Jul-2015 vlivanov

8078629: VM should constant fold Unsafe.get*() loads from final fields
Reviewed-by: kvn, jrose, psandoz


# 8722:564b61ae7dc8 21-Jul-2015 dcubed

8075171: Contended Locking fast notify bucket
Summary: JEP-143/JDK-8073165 Contended Locking fast notify bucket
Reviewed-by: dholmes, acorn, dice, dcubed
Contributed-by: dave.dice@oracle.com, karen.kinnear@oracle.com, daniel.daugherty@oracle.com


# 8633:90922865a9d6 02-Jul-2015 zmajo

8076112: Add @HotSpotIntrinsicCandidate annotation to indicate methods for which Java Runtime has intrinsics
Summary: Annotate possibly intrinsified methods with @HotSpotIntrinsicCandidate. Add checks omitted by intrinsics to the library code. Add CheckIntrinsics flags to check consistency of intrinsics.
Reviewed-by: jrose, kvn, thartmann, vlivanov, abuckley, darcy, ascarpino, briangoetz, alanb, aph, dnsimon


# 8630:d30647171e49 02-Jul-2015 aph

Merge


# 8629:9fcbb6768a78 16-Jun-2015 aph

8130150: Implement BigInteger.montgomeryMultiply intrinsic
Summary: Add montgomeryMultiply intrinsics
Reviewed-by: kvn


# 8616:0cedc8c6582e 29-Jun-2015 kvn

8073583: C2 support for CRC32C on SPARC
Reviewed-by: jrose, kvn
Contributed-by: james.cheng@oracle.com


# 8602:ce0c612ea443 17-Jun-2015 ascarpino

8073108: Use x86 and SPARC CPU instructions for GHASH acceleration
Reviewed-by: kvn, jrose


# 8514:5a9d5d58e667 11-Jun-2015 vlivanov

8074551: GWT can be marked non-compilable due to deopt count pollution
Reviewed-by: kvn


# 8504:578f086f3435 03-Jun-2015 kvn

8081778: Use Intel x64 CPU instructions for RSA acceleration
Summary: Add intrinsics for BigInteger squareToLen and mulAdd methods.
Reviewed-by: kvn, jrose


# 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


# 8211:3dda6fe1c13a 15-Apr-2015 roland

8074676: java.lang.invoke.PermuteArgsTest.java fails with "assert(is_Initialize()) failed: invalid node class"
Summary: after guards in Arrays.copyOf() intrinsic, control may become top
Reviewed-by: kvn, vlivanov


# 8194:662f01f35702 31-Mar-2015 aph

8026049: (bf) Intrinsify ByteBuffer.put{Int, Double, Float, ...} methods
Summary: Use unaligned Unsafe loads and stores for ByteBuffer access on platforms which support unaligned access. Add intrinsics for Unsafe.{get,put}-X-Unaligned methods.
Reviewed-by: dholmes, jrose, psandoz, kvn


# 8193:f5937a29d1a4 27-Mar-2015 roland

8075921: assert assert(allocx == alloc) fails in library_call.cpp
Summary: control becomes top after arraycopy guards and confuses tighly coupled allocation logic
Reviewed-by: kvn, vlivanov


# 8176:79bf23e33421 20-Mar-2015 vlivanov

Merge


# 8175:1aa6df528006 20-Mar-2015 vlivanov

8074548: Never-taken branches cause repeated deopts in MHs.GWT case
Reviewed-by: jrose, kvn


# 8174:fd9961fbe2dd 20-Mar-2015 vlivanov

8075263: MHI::checkCustomized isn't eliminated for inlined MethodHandles
Reviewed-by: jrose, kvn


# 8170:5bc4954b575c 15-Mar-2015 roland

8073866: Fix for 8064703 is not sufficient
Summary: side effects between allocation and arraycopy can be reexecuted, unreachable uninitialized array can be seen by GCs
Reviewed-by: kvn, vlivanov


# 7946:ec1ca81aefc6 24-Feb-2015 roland

8073796: assert(check_obj_alignment(result)) failed: address not aligned: ...
Summary: Arrays.copyOf intrinsic can deoptimize with uninitialized new array
Reviewed-by: kvn


# 7939:ff87d12995da 24-Feb-2015 vlivanov

Merge


# 7935:54e0f8b411a8 18-Feb-2015 roland

6912521: System.arraycopy works slower than the simple loop for little lengths
Summary: convert small array copies to series of loads and stores
Reviewed-by: kvn, vlivanov


# 7859:dd131cca9937 17-Feb-2015 hseigel

8068687: Remove meta-index support and cleanup hotspot code for rt.jar etc in non-modular jdk image
Summary: Remove the meta-index code and rt.jar code and comments
Reviewed-by: mchung, gtriantafill


# 7847:70e539f62c3d 13-Feb-2015 ctornqvi

Merge


# 7844:ce2c731bb770 10-Feb-2015 psandoz

8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov


# 7822:e9291d20ecaa 09-Feb-2015 roland

8072016: Array copy may cause infinite cycle of deoptimization/compilation
Summary: Infinite deoptimization/recompilation cycles in case of arraycopy with tightly coupled allocation
Reviewed-by: kvn, vlivanov


# 7802:8e93f8517960 29-Jan-2015 vlivanov

8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: jrose, kvn


# 7747:0c32ee82088b 22-Jan-2015 thartmann

8069580: String intrinsic related cleanups
Summary: Small cleanup of string intrinsic related code.
Reviewed-by: kvn, roland


# 7646:acfdd92cedaa 16-Dec-2014 roland

6700100: optimize inline_native_clone() for small objects with exact klass
Summary: optimize small instance clones as loads/stores
Reviewed-by: kvn, iveresov


# 7503:80871303480c 01-Dec-2014 roland

8064703: crash running specjvm98's javac following 8060252
Summary: uncommon trap between arraycopy and initialization may leave array initialized
Reviewed-by: kvn, vlivanov, goetz


# 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


# 7315:aa056c7ce2d4 20-Oct-2014 roland

8060252: JDK-7173584 compiler changes regress SPECjvm2008 on SPARC
Summary: arraycopy code misses opportunities to optimize copies to just allocated array.
Reviewed-by: kvn


# 7310:cea556d9d85d 31-Oct-2014 kvn

8054492: Casting can result in redundant null checks in generated code
Summary: add C2 intrinsic for Class.cast() method and force inline it too.
Reviewed-by: jrose, roland, drchase, iignatyev


# 7038:d8ecd90aa61c 09-Sep-2014 roland

8057758: Tests run TypeProfileLevel=222 crash with guarantee(0) failed: must find derived/base pair
Summary: Use TypeAryPtr::INT type with offset 0 in inline_multiplyToLen().
Reviewed-by: kvn, iveresov


# 7005:624c017f6d94 04-Sep-2014 kvn

Merge


# 6998:4b78b9dddd05 29-Aug-2014 roland

8055910: closed/java/util/Collections/CheckedCollections.java failed with ClassCastException not thrown
Summary: missing subtype check for Arrays.copyOf intrinsic
Reviewed-by: kvn, iveresov


# 6997:427de14928ab 02-Sep-2014 kvn

8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method
Summary: Add new C2 intrinsic for BigInteger::multiplyToLen() on x86 in 64-bit VM.
Reviewed-by: roland


# 6975:4acab3118361 28-Aug-2014 coleenp

8049105: Move array component mirror to instance of java/lang/Class (hotspot part 2)
Summary: This removes component mirrors from arrayKlass metadata and the C2 intrinsic for them.
Reviewed-by: kvn, twisti, mgerdin


# 6917:29999b8709a4 19-Aug-2014 roland

8055153: nsk/stress/jck60/jck60014 crashes on sparc
Summary: missing control for LoadRange and LoadKlass nodes created during arraycopy node expansion
Reviewed-by: kvn, iveresov


# 6908:f62b69773aaf 13-Aug-2014 kvn

8054927: Missing MemNode::acquire ordering in some volatile Load nodes
Summary: Fixed memory ordering parameter and added missing barriers for volatile loads.
Reviewed-by: roland, iveresov


# 6903:190b0e9d0ad1 11-Aug-2014 roland

7173584: Implement arraycopy as a macro node
Summary: delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by: kvn, iveresov


# 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


# 6760:22b98ab2a69f 04-Jul-2014 goetz

8049325: Introduce and clean up umbrella headers for the files in the cpu subdirectories.
Summary: Introduce and clean up umbrella headers for the files in the cpu subdirectories.
Reviewed-by: lfoltan, coleenp, dholmes


# 6576:edf93f2ccf99 11-Jun-2014 kvn

8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
Summary: Add C2 SHA intrinsics on SPARC
Reviewed-by: kvn, roland
Contributed-by: james.cheng@oracle.com


# 6571:9be8f500449d 10-Jun-2014 kvn

8035605: Expand functionality of PredictedIntrinsicGenerator
Summary: Allow several predicates and separate intrinsic methods per one intrinsified (virtual) method.
Reviewed-by: roland


# 6569:e38bb04f030d 10-Jun-2014 roland

8026796: Make replace_in_map() on parent maps generic
Summary: propagate node replacements along control flow edges to callers
Reviewed-by: kvn, vlivanov


# 6568:dd14b24efd49 10-Jun-2014 vlivanov

8033626: assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place
Reviewed-by: kvn, roland


# 6546:3533da0f7728 02-Jun-2014 thartmann

8034812: remove IDX_INIT macro hack in Node class
Summary: 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


# 6539:774578bd0cb4 29-May-2014 anoll

8011646: SEGV in compiled code with loop predication
Summary: Remove control edge of load node to ensure that castPP removal sets the control edge correctly
Reviewed-by: kvn, roland


# 6444:47b707b6c4e7 15-May-2014 coleenp

8025580: Temporary flags: UseNewReflection and ReflectionWrapResolutionErrors
Summary: The fix removes all UseNewReflection/ReflectionWrapResolutionErrors occurrences/logic and adds them into the list of obsolete_jvm_flags in arguments.cpp.
Reviewed-by: coleenp, hseigel
Contributed-by: ygaevsky@azulsystems.com


# 6395:3e1b9ea326fa 05-May-2014 anoll

8042052: assert(t != NULL) failed: must set before get
Summary: Added missing call to _gvn.transform to make sure the type of the PhiNode is recorded in the gvn.
Reviewed-by: kvn
Contributed-by: Tobias Hartmann <tobias.hartmann@oracle.com>


# 6365:6a81ae43d3a3 24-Apr-2014 adlertz

8029302: Performance regression in Math.pow intrinsic
Summary: Added special case for x^y where y == 2
Reviewed-by: kvn, roland


# 6248:33cc0d9740a8 09-Apr-2014 roland

8007988: PrintInlining output is inconsistent with incremental inlining
Summary: fix duplicate and conflicting inlining output
Reviewed-by: kvn, vlivanov


# 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


# 6216:37023a7f1e1b 31-Mar-2014 roland

8031755: Type speculation should be used to optimize explicit null checks
Summary: feed profiling data about reference nullness to type speculation.
Reviewed-by: kvn, iveresov


# 6186:ead873def219 24-Mar-2014 poonam

6653795: C2 intrinsic for Unsafe.getAddress performs pointer sign extension on 32-bit systems
Summary: Native pointers less than 64 bits wide should be extended as an unsigned number.
Reviewed-by: kvn, kevinw


# 6078:2edca307b15a 01-Mar-2014 dsamersoff

8036102: part of the fix for 6498581 lost in mismerge
Summary: Restore code lost in mis-merge
Reviewed-by: dcubed


# 6076:ef7328717719 01-Mar-2014 dsamersoff

Merge


# 6073:f6301b007a16 26-Feb-2014 minqi

6498581: ThreadInterruptTest3 produces wrong output on Windows
Summary: There is race condition between os::interrupt and os::is_interrupted on Windows. In JVM_Sleep(Thread.sleep), check if thread gets interrupted, it may see interrupted but not really interrupted so cause spurious waking up (early return from sleep). Fix by checking if interrupt event really gets set thus prevent false return. For intrinsic of _isInterrupted, on Windows, go fastpath only on bit not set.
Reviewed-by: acorn, kvn
Contributed-by: david.holmes@oracle.com, yumin.qi@oracle.com


# 6049:cd5d10655495 22-Jan-2014 rbackman

8027754: Enable loop optimizations for loops with MathExact inside
Reviewed-by: kvn, iveresov


# 6017:0f19095fd8c1 20-Feb-2014 goetz

8035394: PPC64: Make usage of intrinsic dsqrt depend on processor recognition.
Reviewed-by: kvn


# 6010:abec000618bf 28-Jan-2014 kvn

Merge


# 6006:c6d7e7406136 16-Jan-2014 goetz

8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes
Reviewed-by: dholmes, kvn
Contributed-by: martin.doerr@sap.com


# 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


# 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


# 5816:00f5eff62d18 14-Jan-2014 kvn

8002074: Support for AES on SPARC
Summary: Add intrinsics/stub routines support for single-block and multi-block (as used by Cipher Block Chaining mode) AES encryption and decryption operations on the SPARC platform.
Reviewed-by: kvn, roland
Contributed-by: shrinivas.joshi@oracle.com


# 5613:a57a165b8296 28-Oct-2013 rbackman

8027353: Exact intrinsics: assert(n != NULL) failed: must not be null
Reviewed-by: kvn, roland


# 5562:59e8ad757e19 18-Oct-2013 rbackman

8026844: Various Math functions needs intrinsification
Reviewed-by: kvn, twisti


# 5556:b2ee5dc63353 22-Oct-2013 roland

8024070: C2 needs some form of type speculation
Summary: record unused type profile information with type system, propagate and use it.
Reviewed-by: kvn, twisti


# 5546:3213ba4d3dff 18-Oct-2013 roland

8024069: replace_in_map() should operate on parent maps
Summary: type information gets lost because replace_in_map() doesn't update parent maps
Reviewed-by: kvn, twisti


# 5363:29bdcf12457c 27-Sep-2013 shade

8014447: Object.hashCode intrinsic breaks inline caches
Summary: Try to inline as normal method first, then fall back to intrinsic.
Reviewed-by: kvn, twisti


# 5356:c9ccd7b85f20 27-Sep-2013 rbackman

8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti


# 5328:1b64d46620a3 24-Sep-2013 kvn

8022585: VM crashes when ran with -XX:+PrintInlining
Summary: use adr_at() to access inline info structures in growableArray. Add ability to specify print inlining per method.
Reviewed-by: twisti


# 5302:da051ce490eb 19-Sep-2013 adlertz

Merge


# 5297:b2e698d2276c 13-Sep-2013 drchase

8014013: CallInfo structure no longer accurately reports the result of a LinkResolver operation
Summary: Enhance method resolution and resulting data structures, plus some refactoring.
Reviewed-by: twisti, acorn, jrose


# 5275:884ed7a10f09 16-Sep-2013 tschatzl

Merge


# 5259:7944aba7ba41 12-Aug-2013 ehelin

8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel


# 5223:edb5ab0f3fe5 10-Sep-2013 vlivanov

8001107: @Stable annotation for constant folding of lazily evaluated variables
Reviewed-by: rbackman, twisti, kvn
Contributed-by: john.r.rose@oracle.com, vladimir.x.ivanov@oracle.com


# 5202:29aa8936f03c 28-Aug-2013 kvn

8023597: Optimize G1 barriers code for unsafe load_store
Summary: Avoid loading old values in G1 pre-barriers for inlined unsafe load_store nodes.
Reviewed-by: kvn, tonyp
Contributed-by: Martin Doerr <martin.doerr@sap.com>


# 5111:acedd49a1bce 07-Aug-2013 rbackman

8022675: Redundant class init check
Reviewed-by: kvn, twisti


# 4918:b800986664f4 02-Jul-2013 drchase

7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32
Summary: add intrinsics using new instruction to interpreter, C1, C2, for suitable x86; add test
Reviewed-by: kvn, twisti


# 4802:f2110083203d 10-Jun-2013 sla

8005849: JEP 167: Event-Based JVM Tracing
Reviewed-by: acorn, coleenp, sla
Contributed-by: Karen Kinnear <karen.kinnear@oracle.com>, Bengt Rutisson <bengt.rutisson@oracle.com>, Calvin Cheung <calvin.cheung@oracle.com>, Erik Gahlin <erik.gahlin@oracle.com>, Erik Helin <erik.helin@oracle.com>, Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>, Keith McGuigan <keith.mcguigan@oracle.com>, Mattias Tobiasson <mattias.tobiasson@oracle.com>, Markus Gronlund <markus.gronlund@oracle.com>, Mikael Auno <mikael.auno@oracle.com>, Nils Eliasson <nils.eliasson@oracle.com>, Nils Loodin <nils.loodin@oracle.com>, Rickard Backman <rickard.backman@oracle.com>, Staffan Larsen <staffan.larsen@oracle.com>, Stefan Karlsson <stefan.karlsson@oracle.com>, Yekaterina Kantserova <yekaterina.kantserova@oracle.com>


# 4676:70120f47d403 09-May-2013 kvn

8014189: JVM crash with SEGV in ConnectionGraph::record_for_escape_analysis()
Summary: Add NULL checks and asserts for Type::make_ptr() returned value.
Reviewed-by: twisti


# 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


# 4486:124ca22437b1 12-Apr-2013 chegar

Merge


# 4485:3d641132f83b 26-Feb-2013 twisti

8004336: Better handling of method handle intrinsic frames
Reviewed-by: kvn, jrose, ahgross


# 4431:16885e702c88 25-Mar-2013 twisti

7198429: need checked categorization of caller-sensitive methods in the JDK
Reviewed-by: kvn, jrose


# 4182:c59b7900a2bd 18-Feb-2013 roland

8007959: Use expensive node logic for more math nodes
Summary: use expensive node logic for other more math nodes.
Reviewed-by: kvn


# 4154:8b3da8d14c93 11-Feb-2013 roland

7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
Summary: Add support for expensive nodes.
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


# 4010:6d1f5516534e 11-Jan-2013 twisti

8006127: remove printing code added with 8006031
Reviewed-by: kvn


# 4005:a3f92e6c0274 11-Jan-2013 twisti

8006031: LibraryCallKit::inline_array_copyOf disabled unintentionally with 7172640
Reviewed-by: kvn


# 3932:c52660592f37 21-Dec-2012 roland

Merge


# 3926:1e41b0bc58a0 18-Dec-2012 kvn

8004318: JEP-171: Support Unsafe fences intrinsics
Summary: Add three memory-ordering intrinsics to the sun.misc.Unsafe class.
Reviewed-by: twisti, kvn
Contributed-by: Aleksey Shipilev <aleksey.shipilev@oracle.com>


# 3924:620e502e3f47 18-Dec-2012 vlivanov

Merge


# 3923:eb409f2f146e 18-Dec-2012 vlivanov

8003135: HotSpot inlines and hoists the Thread.currentThread().isInterrupted() out of the loop
Summary: Make the load of TLS._osthread._interrupted flag in Thread.isInterrupted(Z)Z intrinsic effectively volatile.
Reviewed-by: kvn, jrose


# 3922:ad5dd04754ee 18-Dec-2012 roland

8005031: Some cleanup in c2 to prepare for incremental inlining support
Summary: collection of small changes to prepare for incremental inlining.
Reviewed-by: twisti, kvn


# 3911:18712b1caf7a 12-Dec-2012 rkennke

8004898: library_call.cpp build error after 7172640 with GCC 4.7.2
Summary: fix opto/library_call.cpp compilation errors
Reviewed-by: twisti, coleenp


# 3884:dd38cfd12c3a 03-Dec-2012 twisti

8004319: test/gc/7168848/HumongousAlloc.java fails after 7172640
Reviewed-by: kvn, johnc


# 3878:beebba0acc11 26-Nov-2012 twisti

7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop()
Reviewed-by: kvn, jrose


# 3770:a3ecd773a7b9 24-Oct-2012 kvn

7184394: add intrinsics to use AES instructions
Summary: Use new x86 AES instructions for AESCrypt.
Reviewed-by: twisti, kvn, roland
Contributed-by: tom.deneau@amd.com


# 3764:cfe522e6461c 17-Oct-2012 kvn

8000623: tools/javac/Diagnostics/6769027/T6769027.java crashes in PSPromotionManager::copy_to_survivor_space
Summary: Fix type of method pointer load from vtable.
Reviewed-by: twisti, johnc, roland


# 3729:d804e148cff8 12-Oct-2012 kvn

Merge


# 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


# 3723:65d07d9ee446 08-Oct-2012 twisti

8000263: JSR 292: signature types may appear to be unloaded
Reviewed-by: kvn, jrose


# 3707:d8ce2825b193 29-Sep-2012 coleenp

8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn


# 3680:e626685e9f6c 27-Sep-2012 kvn

7193318: C2: remove number of inputs requirement from Node's new operator
Summary: Deleted placement new operator of Node - node(size_t, Compile *, int).
Reviewed-by: kvn, twisti
Contributed-by: bharadwaj.yadavalli@oracle.com


# 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


# 3602:da91efe96a93 01-Sep-2012 coleenp

6964458: Reimplement class meta-data storage to use native memory
Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>


# 3567:09aad8452938 20-Aug-2012 kvn

7190310: Inlining WeakReference.get(), and hoisting $referent may lead to non-terminating loops
Summary: In C2 add software membar after load from Reference.referent field to prevent commoning of loads across safepoint since GC can change its value. In C1 always generate Reference.get() intrinsic.
Reviewed-by: roland, twisti, dholmes, johnc


# 3534:1d7922586cf6 24-Jul-2012 twisti

7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI
Summary: remove assembly code for JDK 7 chained method handles
Reviewed-by: jrose, twisti, kvn, mhaupt
Contributed-by: John Rose <john.r.rose@oracle.com>, Christian Thalinger <christian.thalinger@oracle.com>, Michael Haupt <michael.haupt@oracle.com>


# 3473:d50605d9417e 02-Jul-2012 roland

7177917: Failed test java/lang/Math/PowTests.java
Summary: When c2 intrinsifies pow/exp, it should never inline the java implementations.
Reviewed-by: kvn


# 3448:eeb819cf36e5 18-Jun-2012 roland

7174363: Arrays.copyOfRange leads to VM crash with -Xcomp -server if executed by testing framework
Summary: Arrays.copyOfRange(original, from, to) with from > original.length tries to do a copy with a negative length.
Reviewed-by: kvn, twisti


# 3411:8b0a4867acf0 12-Jun-2012 twisti

7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
Contributed-by: Krystal Mok <sajia@taobao.com>


# 3352:6759698e3140 15-May-2012 roland

7133857: exp() and pow() should use the x87 ISA on x86
Summary: use x87 instructions to implement exp() and pow() in interpreter/c1/c2.
Reviewed-by: kvn, never, twisti


# 3325:8f972594effc 14-May-2012 kvn

6924259: Remove String.count/String.offset
Summary: Allow a version of String class that doesn't have count and offset fields.
Reviewed-by: never, coleenp


# 3274:0105f367a14c 05-Mar-2012 rbackman

7160570: Intrinsification support for tracing framework
Reviewed-by: sla, never


# 3202:61b82be3b1ff 12-Mar-2012 never

7152957: VM crashes with assert(false) failed: bad AD file
Reviewed-by: kvn, never
Contributed-by: nils.eliasson@oracle.com


# 3196:b40ac3579043 05-Mar-2012 never

6658428: C2 doesn't inline java method if corresponding intrinsic failed to inline.
Summary: Allow fallback to non-intrinsic inline case
Reviewed-by: kvn, jrose, never
Contributed-by: nils.eliasson@oracle.com


# 3094:f174909614bd 10-Feb-2012 bpittore

Merge


# 3091:a79cb7c55012 25-Jan-2012 jiangli

7132690: InstanceKlass:_reference_type should be u1 type
Summary: Change InstanceKlass::_reference_type to u1 type.
Reviewed-by: dholmes, coleenp, acorn
Contributed-by: Jiangli Zhou <jiangli.zhou@oracle.com>


# 3086:b9bc6cae88f2 07-Feb-2012 kvn

7143491: G1 C2 CTW: assert(p2x->outcnt() == 2) failed: expects 2 users: Xor and URShift nodes
Summary: Adjust the assert and code in eliminate_card_mark() method for case when stored value is NULL.
Reviewed-by: iveresov, never


# 2972:35acf8f0a2e4 10-Jan-2012 kvn

7128352: assert(obj_node == obj) failed
Summary: Compare uncasted object nodes.
Reviewed-by: never


# 2965:22cee0ee8927 06-Jan-2012 kvn

Merge


# 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


# 2956:069ab3f976d3 07-Dec-2011 stefank

7118863: Move sizeof(klassOopDesc) into the *Klass::*_offset_in_bytes() functions
Summary: Moved sizeof(klassOopDesc), changed the return type to ByteSize and removed the _in_bytes suffix.
Reviewed-by: never, bdelsart, coleenp, jrose


# 2933:52b5d32fbfaf 06-Dec-2011 coleenp

7117052: instanceKlass::_init_state can be u1 type
Summary: Change instanceKlass::_init_state field to u1 type.
Reviewed-by: bdelsart, coleenp, dholmes, phh, never
Contributed-by: Jiangli Zhou <jiangli.zhou@oracle.com>


# 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


# 2504:b2cb497dec28 27-May-2011 kvn

7047069: Array can dynamically change size when assigned to an object field
Summary: Fix initialization of a newly-allocated array with arraycopy
Reviewed-by: never


# 2434:e6d7eed3330c 03-May-2011 kvn

7041100: The load in String.equals intrinsic executed before null check
Summary: Remove control from loads in String.equals intrinsic and cast argument to not-null.
Reviewed-by: never


# 2381:286c498ae0d4 29-Apr-2011 kvn

Merge


# 2375:66b0e2371912 20-Apr-2011 kvn

7026700: regression in 6u24-rev-b23: Crash in C2 compiler in PhaseIdealLoop::build_loop_late_post
Summary: memory slices should be always created for non-static fields after allocation
Reviewed-by: never


# 2355:edd9b016deb6 15-Apr-2011 johnc

7036021: G1: build failure on win64 and linux with hs21 in jdk6 build environment
Summary: Missing parentheses around a casted expression and some missing casts were causing build failures with the jdk6 build tools.
Reviewed-by: kvn, brutisso


# 2352:5d046bf49ce7 14-Apr-2011 johnc

Merge


# 2351:59766fd005ff 13-Apr-2011 johnc

7035117: G1: nsk/stress/jni/jnistress002 fails with assertion failure
Summary: Allow long type for offset in G1 code in compiler implementations of Unsafe.getObject
Reviewed-by: never, iveresov


# 2349:92add02409c9 08-Apr-2011 jmasa

Merge


# 2346:e1162778c1c8 07-Apr-2011 johnc

7009266: G1: assert(obj->is_oop_or_null(true )) failed: Error
Summary: A referent object that is only weakly reachable at the start of concurrent marking but is re-attached to the strongly reachable object graph during marking may not be marked as live. This can cause the reference object to be processed prematurely and leave dangling pointers to the referent object. Implement a read barrier for the java.lang.ref.Reference::referent field by intrinsifying the Reference.get() method, and intercepting accesses though JNI, reflection, and Unsafe, so that when a non-null referent object is read it is also logged in an SATB buffer.
Reviewed-by: kvn, iveresov, never, tonyp, dholmes


# 2293:13bc79b5c9c8 02-Apr-2011 roland

7033154: Improve C1 arraycopy performance
Summary: better static analysis. Take advantage of array copy stubs.
Reviewed-by: never


# 2291:07acc51c1d2a 02-Apr-2011 kvn

7032314: Allow to generate CallLeafNoFPNode in IdealKit
Summary: Added CallLeafNoFPNode generation to IdealKit. Added i_o synchronization.
Reviewed-by: never


# 2252:3d58a4983660 28-Mar-2011 twisti

7022998: JSR 292 recursive method handle calls inline themselves infinitely
Reviewed-by: never, kvn


# 2232:0e3ed5a14f73 25-Mar-2011 jcoomes

Merge


# 2230:9dc311b8473e 21-Mar-2011 kvn

7008866: Missing loop predicate for loop with multiple entries
Summary: Add predicates when loop head bytecode is parsed instead of when back branch bytecode is parsed.
Reviewed-by: never


# 2226:b099aaf51bf8 22-Mar-2011 jcoomes

6962931: move interned strings out of the perm gen
Reviewed-by: never, coleenp, ysr, jwilhelm


# 2171:0ac769a57c64 01-Mar-2011 iveresov

6627983: G1: Bad oop deference during marking
Summary: Bulk zeroing reduction didn't work with G1, because arraycopy would call pre-barriers on uninitialized oops. The solution is to have version of arraycopy stubs that don't have pre-barriers. Also refactored arraycopy stubs generation on SPARC to be more readable and reduced the number of stubs necessary in some cases.
Reviewed-by: jrose, kvn, never


# 2167:41d4973cf100 26-Feb-2011 kvn

6942326: x86 code in string_indexof() could read beyond reserved heap space
Summary: copy small (<8) strings on stack if str+16 crosses a page boundary and load from stack into XMM. Back up pointer when loading string's tail.
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


# 1764:75588558f1bf 07-Oct-2010 never

6980792: Crash "exception happened outside interpreter, nmethods and vtable stubs (1)"
Reviewed-by: kvn


# 1668:3e8fbc61cee8 25-Aug-2010 twisti

6978355: renaming for 6961697
Summary: This is the renaming part of 6961697 to keep the actual changes small for review.
Reviewed-by: kvn, never


# 1666:4b29a725c43c 21-Aug-2010 jrose

6912064: type profiles need to be exploited more for dynamic language support
Reviewed-by: kvn


# 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


# 1433:df736661d0c8 11-May-2010 jrose

Merge


# 1424:ae8f909e5fc7 29-Apr-2010 iveresov

6948602: Disable use of SSE4.2 in String.indexOf intrinsic until 6942326 is fixed
Summary: Disable the use of pcmpestri until it can be guaranteed that the load doesn't cross in to the uncommited space. See 6942326.
Reviewed-by: never, kvn


# 1416:e8e83be27dd7 10-May-2010 never

6951190: assert(!klass_is_exact(),"only non-exact klass") while building JDK
Reviewed-by: kvn


# 1396:d7f654633cfe 26-Apr-2010 never

6946040: add intrinsic for short and char reverseBytes
Reviewed-by: never, twisti
Contributed-by: Hiroshi Yamauchi <yamauchi@google.com>


# 1152:cd37471eaecc 08-Jan-2010 twisti

6914206: change way of permission checking for generated MethodHandle adapters
Summary: Put generated MH adapter in InvokeDynamic/MethodHandle classes to be able to indentify them easily in the compiler.
Reviewed-by: kvn, never, jrose


# 1027:39b01ab7035a 16-Oct-2009 ysr

6888898: CMS: ReduceInitialCardMarks unsafe in the presence of cms precleaning
6889757: G1: enable card mark elision for initializing writes from compiled code (ReduceInitialCardMarks)
Summary: Defer the (compiler-elided) card-mark upon a slow-path allocation until after the store and before the next subsequent safepoint; G1 now answers yes to can_elide_tlab_write_barriers().
Reviewed-by: jcoomes, kvn, 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


# 958:c7e94e8fff43 10-Sep-2009 kvn

6880053: assert(alloc_obj->as_CheckCastPP()->type() != TypeInstPtr::NOTNULL)
Summary: Removed second CheckCastPP and use MembarCPUOrder after arraycopy to cloned object.
Reviewed-by: never


# 950:8fe1963e3964 28-Aug-2009 kvn

6875577: CTW fails with /hotspot/src/share/vm/opto/memnode.cpp
Summary: Fix do_null_check to check for unloaded klass for all oop pointers.
Reviewed-by: never, cfang


# 902:fc2281ddce3c 04-Aug-2009 cfang

6868269: CompileTheWorld assertion failure introduced by the reexecute bit implementation
Summary: Improvement on reexecute implementation to fix the assertion failure
Reviewed-by: kvn, never


# 900:9987d9d5eb0e 31-Jul-2009 cfang

6833129: specjvm98 fails with NullPointerException in the compiler with -XX:DeoptimizeALot
Summary: developed a reexecute logic for the interpreter to reexecute the bytecode when deopt happens
Reviewed-by: kvn, never, jrose, twisti


# 896:1cef5ec3ca56 27-Jul-2009 twisti

Merge


# 895:94b6d06fd759 20-Jul-2009 twisti

6860920: serialize.cpp shouldn't use objArrayOopDesc::base_offset_in_bytes(T_BYTE)
Summary: serialize.cpp currently uses objArrayOopDesc::base_offset_in_bytes(T_BYTE), which seems to be wrong.
Reviewed-by: coleenp, kvn


# 856:75596850f863 21-Jul-2009 jrose

6862576: vmIntrinsics needs cleanup in order to support JSR 292 intrinsics
Summary: remove useless lazy evaluation of intrinsics; add LAST_COMPILER_INLINE to help categorize them
Reviewed-by: kvn


# 851:fc4be448891f 16-Jul-2009 kvn

6851742: (EA) allocation elimination doesn't work with UseG1GC
Summary: Fix eliminate_card_mark() to eliminate G1 pre/post barriers.
Reviewed-by: never


# 836:4325cdaa78ad 06-Jul-2009 kvn

6857661: 64-bit server VM: assert(is_Initialize(),"invalid node class")
Summary: Move the secondary raw memory barrier to the correct place in generate_arraycopy().
Reviewed-by: never


# 833:acba6af809c8 01-Jul-2009 kvn

6840775: Multiple JVM crashes seen with 1.6.0_10 through 1.6.0_14
Summary: Put missed reference to allocated array in copyOf() intrinsic into OopMap for the call slow_arraycopy().
Reviewed-by: never


# 827:bf3489cc0aa0 01-Jul-2009 never

6856025: assert(_base >= OopPtr && _base <= KlassPtr,"Not a Java pointer")
Reviewed-by: kvn


# 825:8f5825e0aeaa 26-Jun-2009 never

6818666: G1: Type lost in g1 pre-barrier
Reviewed-by: kvn


# 787:aabd393cf1ee 21-May-2009 kvn

6772683: Thread.isInterrupted() fails to return true on multiprocessor PC
Summary: Set the control edge for the field _interrupted load in inline_native_isInterrupted().
Reviewed-by: never


# 775:93c14e5562c4 06-May-2009 twisti

6823354: Add intrinsics for {Integer,Long}.{numberOfLeadingZeros,numberOfTrailingZeros}()
Summary: These methods can be instrinsified by using bit scan, bit test, and population count instructions.
Reviewed-by: kvn, never


# 730:9c6be3edf0dc 23-Apr-2009 cfang

6589834: deoptimization problem with -XX:+DeoptimizeALot
Summary: Relocate the stack pointer adjustment to where uncommon_trap is actually inserted for new_array.
Reviewed-by: kvn, jrose


# 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


# 643:c771b7f43bbf 13-Mar-2009 twisti

6378821: bitCount() should use POPC on SPARC processors and AMD+10h
Summary: bitCount() should use POPC on SPARC processors where POPC is implemented directly in hardware.
Reviewed-by: kvn, never


# 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


# 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


# 235:9c2ecc2ffb12 11-Jul-2008 trims

Merge


# 221:1e026f8da827 24-Jun-2008 kvn

6710487: More than half of JDI Regression tests hang with COOPs in -Xcomp mode
Summary: Remove DecodeNNode::decode() and EncodePNode::encode() methods.
Reviewed-by: rasbold, never


# 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


# 174:510f98a80563 03-Jun-2008 rasbold

6709972: runThese failed with assert(false,"bad AD file")
Summary: guard AryEqNode construction with has_match_rule() test, set SpecialArraysEquals default off
Reviewed-by: kvn, never


# 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


# 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


# 34:545c277a3ecf 29-Feb-2008 kvn

6667581: Don't generate initialization (by 0) code for arrays with size 0
Summary: generate_arraycopy() does not check the size of allocated array.
Reviewed-by: jrose, never


# 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


# 0:a61af66fc99e 30-Nov-2007 duke

Initial load