Code Review for hotspot

Prepared by:rkennke on Thu Oct 8 21:50:19 CEST 2015
Workspace:/home/rkennke/src/openjdk/jdk9-shenandoah-new/hotspot
Compare against: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot
Compare against version:8960
Summary of changes: 13071 lines changed: 12470 ins; 286 del; 315 mod; 212542 unchg
Changeset: hotspot.changeset
Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/c1_LIRAssembler_x86.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8830 : 8131682: C1 should use multibyte nops everywhere
Reviewed-by: dlong, goetz, adinn, aph, vlivanov
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 7965 : 7143664: Clean up OrderAccess implementations and usage
Summary: Clarify and correct the abstract model for memory barriers provided by the orderAccess class. Refactor the implementations using template specialization to allow the bulk of the code to be shared, with platform specific customizations applied as needed.
Reviewed-by: acorn, dcubed, dholmes, dlong, goetz, kbarrett, sgehwolf
Contributed-by: Erik Osterlund <erik.osterlund@lnu.se>
rev 7844 : 8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov
rev 7331 : 8062370: Various minor code improvements
Summary: A lot of fixes useful to improve the code quality.
Reviewed-by: coleenp, dholmes
rev 6602 : 8046684: sharedRuntime.cpp...assert(((nmethod*)cb)->is_at_poll_or_poll_return(pc)) failed: safepoint polling: type must be poll
Summary: Emit a poll relocation for the testl in is_polling_page_far() on x86
Reviewed-by: vlivanov, roland
rev 6307 : 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.
Reviewed-by: twisti, kvn
rev 6221 : 8039043: Implicit null check is in the wrong place in C1 -UseCompressedOops
Summary: Null check is placed in a wrong place when storing a null to an object field on x64 with compressed oops off
Reviewed-by: roland, vlivanov, kvn
rev 6181 : 8031203: remove SafepointPollOffset
Reviewed-by: kvn, roland
rev 5813 : 8028764: dtrace/hotspot_jni/ALL/ALL001 crashes the vm on Solaris-amd64, SIGSEGV in MarkSweep::follow_stack()+0x8a
Summary: C1 generates code to encode compressed oop into tmp register before runtime call for patching where GC may happen
Reviewed-by: iveresov, twisti, kvn
Contributed-by: mgerdin <mikael.gerdin@oracle.com>
rev 5559 : 8026495: JVM Crashes when started with -XX:+DTraceMethodProbes on Solaris x86_64
Summary: Fix wrong calling convention in LIR_Assembler::emit_unwind_handler(), T_METADATA support in calling convention generator, C1 register allocator
Reviewed-by: twisti, jrose
rev 5545 : 8008242: VerifyOops is broken on SPARC
Summary: Fixed displacement issues in SPARC macroassembler and ensure that getClass intrinsic temporary result is T_METADATA
Reviewed-by: kvn, twisti
rev 5479 : 8023657: New type profiling points: arguments to call
Summary: x86 interpreter and c1 type profiling for arguments at calls
Reviewed-by: kvn, twisti
rev 5302 : Merge
rev 5301 : 8023542: Test java/io/File/CheckPermission.java fails due to unfinished recursion (java.lang.StackOverflowError) when JIT'ed code (-client,-server) is running
Summary: Move null check before klass reference materialization in checkcast
Reviewed-by: kvn, roland
rev 5259 : 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
rev 5193 : 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
Summary: Do patching rather bailing out for unlinked call with appendix
Reviewed-by: twisti, kvn
rev 4918 : 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
rev 4425 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>
rev 3883 : 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
rev 3729 : Merge
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3616 : 7195816: NPG: Crash in c1_ValueType - ShouldNotReachHere
Summary: C1 needs knowledge of T_METADATA at the LIR level.
Reviewed-by: kvn, coleenp
rev 3602 : 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>
rev 3534 : 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>
rev 3413 : 7174928: JSR 292: unresolved invokedynamic call sites deopt and osr infinitely
Reviewed-by: kvn
rev 3352 : 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
rev 3325 : 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
rev 3309 : 7160539: JDeveloper crashes on 64-bit Windows
Summary: x64 C1 needs to zero upper 32bits when doing l2i conversion
Reviewed-by: never, kvn
rev 3157 : 7120481: storeStore barrier in constructor with final field
Summary: Issue storestore barrier before constructor return if the constructor write final field.
Reviewed-by: dholmes, jrose, roland, coleenp
Contributed-by: Jiangli Zhou <jiangli.zhou@oracle.com>
rev 3000 : 7131288: COMPILE SKIPPED: deopt handler overflow (retry at different tier)
Summary: Fix exception handler stub size, enable guarantees to check for the correct deopt and exception stub sizes in the future
Reviewed-by: kvn, never, twisti
rev 2965 : Merge
rev 2956 : 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
rev 2933 : 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>
rev 2721 : 7089790: integrate bsd-port changes
Reviewed-by: kvn, twisti, jrose
Contributed-by: Kurt Miller <kurt@intricatesoftware.com>, Greg Lewis <glewis@eyesbeyond.com>, Jung-uk Kim <jkim@freebsd.org>, Christos Zoulas <christos@zoulas.com>, Landon Fuller <landonf@plausible.coop>, The FreeBSD Foundation <board@freebsdfoundation.org>, Michael Franz <mvfranz@gmail.com>, Roger Hoover <rhoover@apple.com>, Alexander Strange <astrange@apple.com>
rev 2664 : 7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn
rev 2501 : 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub
Summary: Save and restore the argument registers around the call to checkcast_arraycopy
Reviewed-by: never, roland
rev 2497 : 7046893: LP64 problem with double_quadword in c1_LIRAssembler_x86.cpp
Summary: Fixed invalid casts in address computation
Reviewed-by: kvn, never
Contributed-by: thomas.salter@unisys.com
rev 2326 : 7035713: 3DNow Prefetch Instruction Support
Summary: The upcoming processors from AMD are the first that support 3dnow prefetch without supporting the 3dnow instruction set.
Reviewed-by: kvn
Contributed-by: tom.deneau@amd.com
rev 2293 : 7033154: Improve C1 arraycopy performance
Summary: better static analysis. Take advantage of array copy stubs.
Reviewed-by: never
rev 2262 : 7032388: guarantee(VM_Version::supports_cmov()) failed: illegal instruction on i586 after 6919934
Summary: 6919934 added some unguarded cmov instructions which hit a guarantee on older hardware.
Reviewed-by: never, iveresov, kvn, phh
rev 2251 : 6964776: c2 should ensure the polling page is reachable on 64 bit
Summary: Materialize the pointer to the polling page in a register instead of using rip-relative addressing when the distance from the code cache is larger than disp32.
Reviewed-by: never, kvn
rev 2168 : 7012914: JSR 292 MethodHandlesTest C1: frame::verify_return_pc(return_address) failed: must be a return pc
Reviewed-by: never, bdelsart
rev 1997 : 7010618: C1: array length should be treated at int on 64bit during array allocation
Summary: Sign-extend the length argument during array allocation
Reviewed-by: never, kvn
rev 1977 : 7009231: C1: Incorrect CAS code for longs on SPARC 32bit
Summary: Fix CAS of longs on SPARC 32bit and cmove on SPARC 64bit.
Reviewed-by: kvn
rev 1920 : 7005241: C1: SEGV in java.util.concurrent.LinkedTransferQueue.xfer() with compressed oops
Summary: Implementation of the CAS primitive for x64 compressed oops was incorrect. It kills rscratch2 register (r11), which is allocatable in C1. Also, we don't need to restore cmpval as it's never used after that, so we need only one temporary register, which can be scratch1.
Reviewed-by: kvn, never
rev 1914 : 7003554: (tiered) assert(is_null_object() || handle() != NULL) failed: cannot embed null pointer
Summary: C1 with profiling doesn't check whether the MDO has been really allocated, which can silently fail if the perm gen is full. The solution is to check if the allocation failed and bailout out of inlining or compilation.
Reviewed-by: kvn, never
rev 1909 : 6985015: C1 needs to support compressed oops
Summary: This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.
Reviewed-by: twisti, kvn, never, phh
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1768 : 6991512: G1 barriers fail with 64bit C1
Summary: Fix compare-and-swap intrinsic problem with G1 post-barriers and issue with branch ranges in G1 stubs on sparc
Reviewed-by: never, kvn
rev 1752 : Merge
rev 1750 : 6988018: dtrace/hotspot/MethodInvocation/MethodInvocation002 crashes with client compiler
Reviewed-by: iveresov, kvn, kamg
rev 1728 : 6988779: c1_LIRAssembler_x86.cpp crashes VS2010 compiler
Summary: The workaround changes the scope of the variable
Reviewed-by: phh, ysr, kvn
rev 1711 : 6919069: client compiler needs to capture more profile information for tiered work
Summary: Added profiling of instanceof and aastore.
Reviewed-by: kvn, jrose, never
rev 1710 : 6984056: C1: incorrect code for integer constant addition on x64
Summary: Fix add/sub of constants to ints on x64
Reviewed-by: kvn
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1499 : Merge
rev 1492 : 6955349: C1: Make G1 barriers work with x64
Summary: This fixes G1 barriers in c1 on x64.
Reviewed-by: never
rev 1484 : 6930772: JSR 292 needs to support SPARC C1
Summary: C1 for SPARC needs to support JSR 292.
Reviewed-by: never, jrose
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1411 : Merge
rev 1409 : 6888953: some calls to function-like macros are missing semicolons
Reviewed-by: pbk, kvn
rev 1398 : 6946892: c1 shouldn't sign-extend to upper 32bits on x64
Summary: c1 does sign-extension when it loads ints and shorts from memory to 64-bit registers. This causes problems for c2 because it relies on the fact the int passed in a 64-bit register is zero-extended.
Reviewed-by: never
rev 1378 : 6939930: exception unwind changes in 6919934 hurts compilation speed
Reviewed-by: twisti
rev 1369 : 6942223: c1 64 bit fixes
Summary: This fixes lir_cmp_l2i on x64 and sparc 64bit, and the debug info generation.
Reviewed-by: never
rev 1301 : 6934966: JSR 292 add C1 logic for saved SP over MethodHandle calls
Summary: The logic for x86 C1 to save the SP over MH calls is pretty straight forward but SPARC handles that differently.
Reviewed-by: never, jrose
rev 1297 : 6932496: c1: deoptimization of jsr subroutine fails on sparcv9
Summary: store jsr ret bci as intptr constant in c1 debug info
Reviewed-by: never
rev 1295 : 6919934: JSR 292 needs to support x86 C1
Summary: This implements JSR 292 support for C1 x86.
Reviewed-by: never, jrose, kvn
rev 1257 : Merge
rev 1251 : 6923002: assert(false,"this call site should not be polymorphic")
Summary: Clear the total count when a receiver information is cleared.
Reviewed-by: never, jrose
rev 1216 : Merge
rev 1213 : 6902182: 4/4 Starting with jdwp agent should not incur performance penalty
Summary: Rename can_post_exceptions support to can_post_on_exceptions. Add support for should_post_on_exceptions flag to permit per JavaThread optimizations.
Reviewed-by: never, kvn, dcubed
Contributed-by: tom.deneau@amd.com
rev 1206 : 6614597: Performance variability in jvm2008 xml.validation
Summary: Fix incorrect marking of methods as not compilable.
Reviewed-by: never
rev 1204 : 6921352: JSR 292 needs its own deopt handler
Summary: We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.
Reviewed-by: never, jrose
rev 1201 : 6921339: backout 6917766
Reviewed-by: mr
rev 1200 : 6917766: JSR 292 needs its own deopt handler
Summary: We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.
Reviewed-by: never, jrose
rev 1060 : 6769124: various 64-bit fixes for c1
Reviewed-by: never
rev 989 : 6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
rev 780 : 6788527: Server vm intermittently fails with assertion "live value must not be garbage" with fastdebug bits
Summary: Cache Jvmti and DTrace flags used by Compiler.
Reviewed-by: never
rev 647 : Merge
rev 644 : 6813212: factor duplicated assembly code for general subclass check (for 6655638)
Summary: Code in interp_masm, stubGenerator, c1_LIRAssembler, and AD files moved into MacroAssembler.
Reviewed-by: kvn
rev 628 : Merge
rev 622 : 6812678: macro assembler needs delayed binding of a few constants (for 6655638)
Summary: minor assembler enhancements preparing for method handles
Reviewed-by: kvn
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 512 : 6787106: Hotspot 32 bit build fails on platforms having different definitions for intptr_t & int32_t
Summary: Avoid casting between int32_t and intptr_t specifically for MasmAssembler::movptr in 32 bit platforms.
Reviewed-by: jrose, kvn
rev 321 : 6746320: Hotspot regression test for 6512111 fails in -Xmixed mode
Reviewed-by: kvn
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 29 : 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
rev 0 : Initial load
87 lines changed: 84 ins; 1 del; 2 mod; 4025 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/c1_LIRGenerator_x86.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 6556 : 8031994: java/lang/Character/CheckProp test times out
Reviewed-by: iveresov, roland
rev 5819 : 8022395: java.util.zip.ZipException: Not in GZIP format in JT_JDK/test/java/util/zip/GZIP tests
Reviewed-by: kvn, iveresov
rev 5616 : 8024919: G1: SPECjbb2013 crashes due to a broken object reference
Summary: Pass correct new value to post_barrer() in Unsafe.getAndSetObject() C1 intrinsic
Reviewed-by: kvn, roland
rev 5259 : 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
rev 4918 : 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
rev 4425 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3616 : 7195816: NPG: Crash in c1_ValueType - ShouldNotReachHere
Summary: C1 needs knowledge of T_METADATA at the LIR level.
Reviewed-by: kvn, coleenp
rev 3602 : 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>
rev 3413 : 7174928: JSR 292: unresolved invokedynamic call sites deopt and osr infinitely
Reviewed-by: kvn
rev 3411 : 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
Contributed-by: Krystal Mok <sajia@taobao.com>
rev 3352 : 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
rev 2718 : 7091764: Tiered: enable aastore profiling
Summary: Turn on aastore profiling
Reviewed-by: jrose, twisti
rev 2346 : 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
rev 2054 : 7014247: CTW fails when compile sun/misc/AtomicLongCSImpl (REMOVED from JDK7)
Summary: Use lea to compute field address in AtomicLongCSImpl::attemptUpdate() intrinsic on x86.
Reviewed-by: never, kvn
rev 1977 : 7009231: C1: Incorrect CAS code for longs on SPARC 32bit
Summary: Fix CAS of longs on SPARC 32bit and cmove on SPARC 64bit.
Reviewed-by: kvn
rev 1912 : 6875026: CTW failure jdk6_18/hotspot/src/share/vm/c1/c1_LinearScan.cpp:5486
Reviewed-by: kvn, iveresov
rev 1909 : 6985015: C1 needs to support compressed oops
Summary: This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.
Reviewed-by: twisti, kvn, never, phh
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1793 : 6992477: fix for 6991512 broke sparc barriers
Reviewed-by: kvn, iveresov
rev 1768 : 6991512: G1 barriers fail with 64bit C1
Summary: Fix compare-and-swap intrinsic problem with G1 post-barriers and issue with branch ranges in G1 stubs on sparc
Reviewed-by: never, kvn
rev 1739 : 6986046: C1 valuestack cleanup
Summary: fixes an historical oddity in C1 with inlining where all of the expression stacks are kept in the topmost ValueStack instead of being in their respective ValueStacks.
Reviewed-by: never
Contributed-by: Christian Wimmer <cwimmer@uci.edu>
rev 1711 : 6919069: client compiler needs to capture more profile information for tiered work
Summary: Added profiling of instanceof and aastore.
Reviewed-by: kvn, jrose, never
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1601 : 6953477: Increase portability and flexibility of building Hotspot
Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.
Reviewed-by: phh, never, coleenp, dholmes
rev 1499 : Merge
rev 1492 : 6955349: C1: Make G1 barriers work with x64
Summary: This fixes G1 barriers in c1 on x64.
Reviewed-by: never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1060 : 6769124: various 64-bit fixes for c1
Reviewed-by: never
rev 1000 : Merge
rev 989 : 6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
rev 982 : Merge
rev 953 : 6855215: Calculation error (NaN) after about 1500 calculations
Reviewed-by: kvn
rev 948 : 6884624: Update copyright year
Summary: Update copyright for files that have been modified in 2009 through Septermber
Reviewed-by: tbell, ohair
rev 933 : 6875329: fix for 6795465 broke exception handler cloning
Reviewed-by: kvn
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 362 : Merge
rev 356 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 29 : 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
rev 0 : Initial load
69 lines changed: 45 ins; 0 del; 24 mod; 1463 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/c1_Runtime1_x86.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8417 : Merge
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8379 : 8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com
rev 8337 : 8013171: G1: C1 x86_64 barriers use 32-bit accesses to 64-bit PtrQueue::_index
Reviewed-by: roland, tschatzl
rev 8290 : 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
Summary: Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.
Reviewed-by: kvn, roland, dlong, enevill, shade
rev 7923 : 8069016: Add BarrierSet downcast support
Summary: Add FakeRttiSupport utility and use to provide barrier_set_cast.
Reviewed-by: jmasa, sangheki
rev 7543 : 8066900: Array Out Of Bounds Exception causes variable corruption
Summary: Fix FP registers save/restore during exception handling
Reviewed-by: kvn, vlivanov
rev 7331 : 8062370: Various minor code improvements
Summary: A lot of fixes useful to improve the code quality.
Reviewed-by: coleenp, dholmes
rev 6430 : 8032463: VirtualDispatch test timeout with DeoptimizeALot
Summary: Introduce code aging for warm method detection
Reviewed-by: kvn, twisti
rev 5776 : 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
rev 5720 : 8028109: compiler/codecache/CheckReservedInitialCodeCacheSizeArgOrder.java crashes in RT_Baseline
Summary: Use non-relocatable code to load byte_map_base
Reviewed-by: kvn, roland
rev 5425 : 8014555: G1: Memory ordering problem with Conc refinement and card marking
Summary: 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
rev 5193 : 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
Summary: Do patching rather bailing out for unlinked call with appendix
Reviewed-by: twisti, kvn
rev 4425 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>
rev 4107 : 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
rev 3602 : 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>
rev 3172 : 7148486: At a method handle call returning with an exception may call the runtime with misaligned stack (x64)
Summary: stack must be realigned when calling the runtime for exception propagation at a call.
Reviewed-by: kvn, never
rev 2965 : Merge
rev 2956 : 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
rev 2933 : 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>
rev 2809 : 7102657: JSR 292: C1 deoptimizes unlinked invokedynamic call sites infinitely
Reviewed-by: never, bdelsart
rev 2664 : 7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn
rev 2262 : 7032388: guarantee(VM_Version::supports_cmov()) failed: illegal instruction on i586 after 6919934
Summary: 6919934 added some unguarded cmov instructions which hit a guarantee on older hardware.
Reviewed-by: never, iveresov, kvn, phh
rev 2168 : 7012914: JSR 292 MethodHandlesTest C1: frame::verify_return_pc(return_address) failed: must be a return pc
Reviewed-by: never, bdelsart
rev 2053 : 7008809: should report the class in ArrayStoreExceptions from compiled code
Reviewed-by: iveresov, twisti
rev 1988 : 7003271: Hotspot should track cumulative Java heap bytes allocated on a per-thread basis
Summary: Track allocated bytes in Thread's, update on TLAB retirement and direct allocation in Eden and tenured, add JNI methods for ThreadMXBean.
Reviewed-by: coleenp, kvn, dholmes, ysr
rev 1909 : 6985015: C1 needs to support compressed oops
Summary: This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.
Reviewed-by: twisti, kvn, never, phh
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1601 : 6953477: Increase portability and flexibility of building Hotspot
Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.
Reviewed-by: phh, never, coleenp, dholmes
rev 1499 : Merge
rev 1492 : 6955349: C1: Make G1 barriers work with x64
Summary: This fixes G1 barriers in c1 on x64.
Reviewed-by: never
rev 1484 : 6930772: JSR 292 needs to support SPARC C1
Summary: C1 for SPARC needs to support JSR 292.
Reviewed-by: never, jrose
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1368 : 6941529: SharedRuntime::raw_exception_handler_for_return_address must reset thread MethodHandle flag
Summary: During testing a bug was hit when an exception returned to the interpreter and the SP was wrong.
Reviewed-by: kvn, never
rev 1295 : 6919934: JSR 292 needs to support x86 C1
Summary: This implements JSR 292 support for C1 x86.
Reviewed-by: never, jrose, kvn
rev 647 : Merge
rev 644 : 6813212: factor duplicated assembly code for general subclass check (for 6655638)
Summary: Code in interp_masm, stubGenerator, c1_LIRAssembler, and AD files moved into MacroAssembler.
Reviewed-by: kvn
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 533 : 6795913: A few remaining wrong casts need to be fixed for building hotspot successfully on Mac OS.
Summary: Use NULL_WORD in the places where intptr_t is expected due to incompatible types between intptr_t & int32_t
Reviewed-by: phh, coleenp, never
rev 512 : 6787106: Hotspot 32 bit build fails on platforms having different definitions for intptr_t & int32_t
Summary: Avoid casting between int32_t and intptr_t specifically for MasmAssembler::movptr in 32 bit platforms.
Reviewed-by: jrose, kvn
rev 380 : Merge
rev 362 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 337 : 6754988: Update copyright year
Summary: Update for files that have been modified starting July 2008
Reviewed-by: ohair, tbell
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 0 : Initial load
21 lines changed: 19 ins; 0 del; 2 mod; 1864 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/jniFastGetField_x86_64.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 3883 : 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1668 : 6978355: renaming for 6961697
Summary: This is the renaming part of 6961697 to keep the actual changes small for review.
Reviewed-by: kvn, never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 337 : 6754988: Update copyright year
Summary: Update for files that have been modified starting July 2008
Reviewed-by: ohair, tbell
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 0 : Initial load
2 lines changed: 2 ins; 0 del; 0 mod; 228 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/macroAssembler_x86.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8928 : Merge
rev 8925 : 8072817: CardTableExtension kind() should be BarrierSet::CardTableExtension
Summary: Use BarrierSet::CardTableForRS where needed, and update concrete bs tags.
Reviewed-by: jwilhelm, jmasa
rev 8879 : 8076373: In 32-bit VM interpreter and compiled code process NaN values differently
Summary: Change interpreter to use XMM registers on x86_32 if they are available. Add stubs for methods transforming from/to int/long float/double.
Reviewed-by: kvn, mcberg
rev 8830 : 8131682: C1 should use multibyte nops everywhere
Reviewed-by: dlong, goetz, adinn, aph, vlivanov
rev 8715 : 8131344: Missing klass.inline.hpp include in compiler files
Reviewed-by: kvn
rev 8698 : 8130448: thread dump improvements, comment additions, new diagnostics inspired by 8077392
Reviewed-by: dholmes, coleenp
rev 8638 : 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Summary: Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett
rev 8567 : 8079315: UseCondCardMark broken in conjunction with CMS precleaning on x86
Summary: Add the necessary StoreLoad barrier in interpreter, C1 and C2 for x86
Reviewed-by: tschatzl
rev 8566 : 8078438: Interpreter should support conditional card marks (UseCondCardMark) on x86 and aarch64
Summary: Add interpreter support for conditional card marks on x86 and aarch64
Reviewed-by: tschatzl, aph
rev 8504 : 8081778: Use Intel x64 CPU instructions for RSA acceleration
Summary: Add intrinsics for BigInteger squareToLen and mulAdd methods.
Reviewed-by: kvn, jrose
rev 8422 : Merge
rev 8417 : Merge
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8400 : Merge
rev 8398 : 6811960: x86 biasedlocking epoch expired rare bug
Summary: It is now guaranteed that biased_locking_enter will be passed a valid tmp_reg.
Reviewed-by: coleenp, dcubed, kvn
rev 8379 : 8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com
rev 8295 : Merge
rev 8290 : 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
Summary: Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.
Reviewed-by: kvn, roland, dlong, enevill, shade
rev 8284 : 8078113: 8011102 changes may cause incorrect results
Summary: replace Vzeroupper instruction in stubs with zeroing only used ymm registers.
Reviewed-by: kvn
Contributed-by: sandhya.viswanathan@intel.com
rev 8229 : 8073165: Contended Locking fast exit bucket
Summary: JEP-143/JDK-8073165 Contended Locking fast exit bucket
Reviewed-by: dholmes, acorn, dice, dcubed
Contributed-by: dave.dice@oracle.com, karen.kinnear@oracle.com, daniel.daugherty@oracle.com
rev 7923 : 8069016: Add BarrierSet downcast support
Summary: Add FakeRttiSupport utility and use to provide barrier_set_cast.
Reviewed-by: jmasa, sangheki
rev 7853 : 8061553: Contended Locking fast enter bucket
Summary: JEP-143/JDK-8061553 Contended Locking fast enter bucket
Reviewed-by: dholmes, acorn
Contributed-by: dave.dice@oracle.com, karen.kinnear@oracle.com, daniel.daugherty@oracle.com
rev 7747 : 8069580: String intrinsic related cleanups
Summary: Small cleanup of string intrinsic related code.
Reviewed-by: kvn, roland
rev 7678 : 8063086: Math.pow yields different results upon repeated calls
Summary: C2 treats x^2 as a special case and computes x * x while the interpreter and c1 don't have special case code for X^2.
Reviewed-by: kvn
rev 7386 : Merge
rev 7379 : 8062950: Bug in locking code when UseOptoBiasInlining is disabled: assert(dmw->is_neutral()) failed: invariant
Reviewed-by: dholmes, kvn
rev 7377 : Merge
rev 7366 : 8061308: Remove iCMS
Reviewed-by: mgerdin, jmasa
rev 7349 : 8062851: cleanup ObjectMonitor offset adjustments
Summary: JEP-143/JDK-8046133 - cleanup computation of ObjectMonitor field pointers
Reviewed-by: dholmes, redestad, coleenp
rev 6997 : 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
rev 6839 : 8052081: Optimize generated by C2 code for Intel's Atom processor
Summary: Allow to execute vectorization and crc32 optimization on Atom. Enable UseFPUForSpilling by default on x86.
Reviewed-by: roland
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6365 : 8029302: Performance regression in Math.pow intrinsic
Summary: Added special case for x^y where y == 2
Reviewed-by: kvn, roland
rev 6307 : 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.
Reviewed-by: twisti, kvn
rev 6249 : 8038939: Some options related to RTM locking optimization works inconsistently
Summary: Switch UseRTMXendForLockBusy flag ON by default and change code to retry RTM locking on lock busy condition by default.
Reviewed-by: roland
rev 6182 : 8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
rev 6048 : 8033805: Move Fast_Lock/Fast_Unlock code from .ad files to macroassembler
Summary: Consolidated C2 x86 locking code in one place in macroAssembler_x86.cpp.
Reviewed-by: roland
rev 5720 : 8028109: compiler/codecache/CheckReservedInitialCodeCacheSizeArgOrder.java crashes in RT_Baseline
Summary: Use non-relocatable code to load byte_map_base
Reviewed-by: kvn, roland
rev 5637 : 8026775: nsk/jvmti/RedefineClasses/StressRedefine crashes due to EXCEPTION_ACCESS_VIOLATION
Summary: Uncommon trap blob did not bang all the stack shadow pages
Reviewed-by: kvn, twisti, iveresov, jrose
rev 5594 : 8024927: Nashorn performance regression with CompressedOops
Summary: Allocate compressed class space at end of Java heap.  For small heap sizes, without CDS, save some space so compressed classes can have the same favorable compression as oops
Reviewed-by: stefank, hseigel, goetz
rev 5425 : 8014555: G1: Memory ordering problem with Conc refinement and card marking
Summary: 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
rev 5259 : 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
rev 5093 : 8003424: Enable Class Data Sharing for CompressedOops
8016729: ObjectAlignmentInBytes=16 now forces the use of heap based compressed oops
8005933: The -Xshare:auto option is ignored for -server
Summary: Move klass metaspace above the heap and support CDS with compressed klass ptrs.
Reviewed-by: coleenp, kvn, mgerdin, tschatzl, stefank
rev 4918 : 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
rev 4438 : 8011102: Clear AVX registers after return from JNI call
Summary: Execute vzeroupper instruction after JNI call and on exits in jit compiled code which use 256bit vectors.
Reviewed-by: roland
rev 4332 : 8008555: Debugging code in compiled method sometimes leaks memory
Summary: support for strings that have same life-time as code that uses them.
Reviewed-by: kvn, twisti
rev 4148 : 8007708: compiler/6855215 assert(VM_Version::supports_sse4_2())
Summary: Added missing UseSSE42 check. Also added missing avx2 assert for vpermq instruction.
Reviewed-by: roland, twisti
rev 4108 : Merge
rev 4107 : 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
rev 4044 : 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
rev 3978 : 8005419: Improve intrinsics code performance on x86 by using AVX2
Summary: use 256bit vpxor,vptest instructions in String.compareTo() and equals() intrinsics.
Reviewed-by: twisti
rev 3977 : 8004537: replace AbstractAssembler emit_long with emit_int32
Reviewed-by: jrose, kvn, twisti
Contributed-by: Morris Meyer <morris.meyer@oracle.com>
rev 3976 : 8005544: Use 256bit YMM registers in arraycopy stubs on x86
Summary: Use YMM registers in arraycopy and array_fill stubs.
Reviewed-by: roland, twisti
rev 3975 : 8005522: use fast-string instructions on x86 for zeroing
Summary: use 'rep stosb' instead of 'rep stosq' when fast-string operations are available.
Reviewed-by: twisti, roland
rev 3931 : 8004250: replace AbstractAssembler a_byte/a_long with emit_int8/emit_int32
Reviewed-by: jrose, kvn, twisti
Contributed-by: Morris Meyer <morris.meyer@oracle.com>
rev 3928 : 8004835: Improve AES intrinsics on x86
Summary: Enable AES intrinsics on non-AVX cpus, group together aes instructions in crypto stubs.
Reviewed-by: roland, twisti
rev 3888 : 8003250: SPARC: move MacroAssembler into separate file
Reviewed-by: jrose, kvn
rev 3883 : 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
23 lines changed: 22 ins; 0 del; 1 mod; 8558 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/methodHandles_x86.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8638 : 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Summary: Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett
rev 8290 : 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
Summary: Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.
Reviewed-by: kvn, roland, dlong, enevill, shade
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 5367 : Merge
rev 5365 : 8025260: Methodhandles/JSR292: NullPointerException (NPE) thrown instead of AbstractMethodError (AME)
Summary: Copied null-checks from templateInterpreter_CPU into methodHandles_CPU
Reviewed-by: jrose, twisti
rev 5349 : 7195622: CheckUnhandledOops has limited usefulness now
Summary: Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms.
Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin
Contributed-by: lois.foltan@oracle.com
rev 4454 : 8003310: Enable -Wunused-function when compiling with gcc
Summary: Add the -Wunused-function flag and remove a number of unused functions.
Reviewed-by: dholmes, coleenp, kvn
rev 3903 : 8004076: Move _max_locals and _size_of_parameters to ConstMethod for better sharing.
Summary: Move _max_locals and _size_of_parameters to ConstMethod for better sharing.
Reviewed-by: coleenp, minqi, jrose
rev 3883 : 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
rev 3723 : 8000263: JSR 292: signature types may appear to be unloaded
Reviewed-by: kvn, jrose
rev 3666 : 7196262: JSR 292: java/lang/invoke/PrivateInvokeTest.java fails on solaris-sparc
Reviewed-by: kvn, jrose, bdelsart
rev 3617 : 7196681: NPG: Some JSR 292 tests crash in Windows exception handler
Summary: There was a rogue os::breakpoint() call in log_dependency left over from the jsr292 merge.  Also changed verify_oop() calls for metadata to verify_{method,klass}_ptr.
Reviewed-by: kvn, twisti
rev 3602 : 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>
rev 3534 : 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>
rev 3131 : 7141329: Strange values of stack_size in -XX:+TraceMethodHandles output
Reviewed-by: kvn, never
rev 3066 : 7141637: JSR 292: MH spread invoker crashes with NULL argument on x86_32
Reviewed-by: twisti
Contributed-by: Volker Simonis <volker.simonis@gmail.com>
rev 3016 : 7120468: SPARC/x86: use frame::describe to enhance trace_method_handle
Summary: improvements of TraceMethodHandles for JSR292
Reviewed-by: never, twisti
rev 3010 : 7120450: complete information dumped by frame_describe
Summary: improvements of frame_describe
Reviewed-by: never, twisti
rev 2999 : 7111138: delete the obsolete flag -XX:+UseRicochetFrames
Reviewed-by: dholmes, bdelsart, kvn, twisti
rev 2956 : 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
rev 2820 : 7104960: JSR 292: +VerifyMethodHandles in product JVM can overflow buffer
Reviewed-by: kvn, jrose, twisti
rev 2761 : 7081938: JSR292: assert(magic_number_2() == MAGIC_NUMBER_2) failed
Reviewed-by: never, bdelsart
rev 2701 : 7088020: SEGV in JNIHandleBlock::release_block
Reviewed-by: kvn, twisti
rev 2670 : 7071307: MethodHandle bimorphic inlining should consider the frequency
Reviewed-by: twisti, roland, kvn, iveresov
rev 2611 : 7075623: 6990212 broke raiseException in 64 bit
Reviewed-by: kvn, twisti
rev 2570 : 6990212: JSR 292 JVMTI MethodEnter hook is not called for JSR 292 bootstrap and target methods
Summary: check for single stepping when dispatching invokes from method handles
Reviewed-by: coleenp, twisti, kvn, dsamersoff
rev 2543 : 7055355: JSR 292: crash while throwing WrongMethodTypeException
Reviewed-by: jrose, twisti, bdelsart
rev 2519 : 7052219: JSR 292: Crash in ~BufferBlob::MethodHandles adapters
Reviewed-by: twisti, kvn, jrose
rev 2517 : 7047697: MethodHandle.invokeExact call for wrong method causes VM failure if run with -Xcomp
Reviewed-by: never, twisti
rev 2515 : 7045514: SPARC assembly code for JSR 292 ricochet frames
Reviewed-by: kvn, jrose
rev 2485 : 7045513: JSR 292 inlining causes crashes in methodHandleWalk.cpp
Reviewed-by: jrose
rev 2468 : 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW
Reviewed-by: jrose, kvn, never
rev 2460 : 6939861: JVM should handle more conversion operations
Reviewed-by: twisti, jrose
rev 2433 : 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp
Reviewed-by: kvn, twisti
rev 2204 : 7012648: move JSR 292 to package java.lang.invoke and adjust names
Summary: package and class renaming only; delete unused methods and classes
Reviewed-by: twisti
rev 2168 : 7012914: JSR 292 MethodHandlesTest C1: frame::verify_return_pc(return_address) failed: must be a return pc
Reviewed-by: never, bdelsart
rev 2130 : 7018378: JSR 292: _bound_int_mh produces wrong result on 64-bit SPARC
Reviewed-by: kvn
rev 2001 : 7010180: JSR 292 InvokeDynamicPrintArgs fails with: assert(_adapter == NULL) failed: init'd to NULL
Reviewed-by: never
rev 1976 : 7007377: JSR 292 MethodHandlesTest.testCastFailure fails on SPARC with -Xcomp +DeoptimizeALot
Reviewed-by: kvn, jrose
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1792 : Merge
rev 1791 : Merge
rev 1787 : 6983240: guarantee((Solaris::min_stack_allowed >= (StackYellowPages+StackRedPages...) wrong
Summary: min_stack_allowed is a compile time constant and Stack*Pages are settable
Reviewed-by: dholmes, kvn
rev 1766 : 6829194: JSR 292 needs to support compressed oops
Reviewed-by: kvn, jrose
rev 1738 : 6986944: JSR 292 assert(caller_nm->is_method_handle_return(caller_frame.pc())) failed: must be MH call site
Reviewed-by: never, kvn
rev 1713 : 6939224: MethodHandle.invokeGeneric needs to perform the correct set of conversions
Reviewed-by: never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1427 : 6939134: JSR 292 adjustments to method handle invocation
Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces
Reviewed-by: twisti
rev 1426 : 6943304: remove tagged stack interpreter
Reviewed-by: coleenp, never, gbenson
rev 1423 : 6829193: JSR 292 needs to support SPARC
Summary: There are unimplemented portions of the hotspot code for method handles and invokedynamic specific to SPARC.
Reviewed-by: kvn, never, jrose
rev 1330 : Merge
rev 1304 : 6932091: JSR 292 x86 code cleanup
Summary: Some code cleanups found during the JSR 292 SPARC port.
Reviewed-by: kvn, never
rev 1293 : 6932536: JSR 292 modified JDK MethodHandlesTest fails on x86_64
Summary: A modified MethodHandlesTest revealed two bugs on x86_64.
Reviewed-by: never, jrose
rev 1277 : 6928839: JSR 292 typo in x86 _adapter_check_cast
Summary: There is a small typo in methodHandles_x86.cpp.
Reviewed-by: kvn
rev 1135 : 6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164)
Summary: During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately.
Reviewed-by: kvn, never
rev 1133 : 6894206: JVM needs a way to traverse method handle structures
Summary: We need a way to walk chained method handles in the JVM to call the right methods and to generate required bytecode adapters for the compilers.
Reviewed-by: kvn
rev 1108 : 6829192: JSR 292 needs to support 64-bit x86
Summary: changes for method handles and invokedynamic
Reviewed-by: kvn
rev 1039 : 6815692: method handle code needs some cleanup (post-6655638)
Summary: correctly raise exceptions, support safe bitwise "raw" conversions, fix bugs revealed by VerifyMethodHandles, remove dead code, improve debugging support
Reviewed-by: never, twisti
rev 845 : 6700789: G1: Enable use of compressed oops with G1 heaps
Summary: Modifications to G1 so as to allow the use of compressed oops.
Reviewed-by: apetrusenko, coleenp, jmasa, kvn, never, phh, tonyp
rev 710 : 6655638: dynamic languages need method handles
Summary: initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.)
Reviewed-by: kvn, twisti, never
7 lines changed: 5 ins; 0 del; 2 mod; 628 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/sharedRuntime_x86_64.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8630 : Merge
rev 8629 : 8130150: Implement BigInteger.montgomeryMultiply intrinsic
Summary: Add montgomeryMultiply intrinsics
Reviewed-by: kvn
rev 8608 : 8081247: AVX 512 extended support
Summary: add more support for EVEX encoding
Reviewed-by: kvn, neliasso
rev 8379 : 8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com
rev 8295 : Merge
rev 8290 : 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
Summary: Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.
Reviewed-by: kvn, roland, dlong, enevill, shade
rev 8229 : 8073165: Contended Locking fast exit bucket
Summary: JEP-143/JDK-8073165 Contended Locking fast exit bucket
Reviewed-by: dholmes, acorn, dice, dcubed
Contributed-by: dave.dice@oracle.com, karen.kinnear@oracle.com, daniel.daugherty@oracle.com
rev 7837 : 8068976: Remove JSDT implementation
Reviewed-by: sla, mchung, dholmes
rev 6450 : 8043314: Fix for JDK-8041934 causes assert(is_interpreted_frame()) failed: interpreted frame expected
Summary: Back out fix for JDK-8041934
Reviewed-by: coleenp, sspitsyn
rev 6441 : 8041934: com/sun/jdi/RepStep.java fails in RT_Baseline on all platforms with assert(_cur_stack_depth == count_frames()) failed: cur_stack_depth out of sync
Summary: Missing call to jvmti_method_exit from native wrapper code
Reviewed-by: twisti, dcubed, sspitsyn
Contributed-by: rickard.backman@oracle.com
rev 6307 : 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.
Reviewed-by: twisti, kvn
rev 6246 : 8039146: Fix 64-bit store to int JNIHandleBlock::_top
Reviewed-by: coleenp, kvn
rev 6182 : 8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
rev 6010 : Merge
rev 5996 : Merge
rev 5970 : 8024344: PPC64 (part 112): C argument in register AND stack slot.
Summary: On PPC, the first 13 floating point arguments to C calls are passed in floating point registers. Also, all but the first 8 arguments are passed on the stack. So there can be floating point arguments that are passed on the stack and in a register. We duplicate the regs datastructure in c_calling_convention() to represent this.
Reviewed-by: kvn, cjplummer
rev 5776 : 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
rev 5680 : 8028308: nsk regression, assert(obj->is_oop()) failed: not an oop
Summary: rbp not restored when stack overflow is thrown from deopt/uncommon trap blobs
Reviewed-by: kvn, iveresov
rev 4849 : 8003268: SharedRuntime::generate_native_wrapper doesn't save all registers across runtime tracing calls for JNI critical native methods
Reviewed-by: kvn
rev 4438 : 8011102: Clear AVX registers after return from JNI call
Summary: Execute vzeroupper instruction after JNI call and on exits in jit compiled code which use 256bit vectors.
Reviewed-by: roland
rev 3883 : 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
rev 3816 : 8000725: NPG: method_holder() and pool_holder() and pool_holder field should be InstanceKlass
Summary: Change types of above methods and field to InstanceKlass and remove unneeded casts from the source files.
Reviewed-by: dholmes, coleenp, zgu
Contributed-by: harold.seigel@oracle.com
rev 3668 : 7196199: java/text/Bidi/Bug6665028.java failed: Bidi run count incorrect
Summary: Save whole XMM/YMM registers in safepoint interrupt handler.
Reviewed-by: roland, twisti
rev 3666 : 7196262: JSR 292: java/lang/invoke/PrivateInvokeTest.java fails on solaris-sparc
Reviewed-by: kvn, jrose, bdelsart
rev 3616 : 7195816: NPG: Crash in c1_ValueType - ShouldNotReachHere
Summary: C1 needs knowledge of T_METADATA at the LIR level.
Reviewed-by: kvn, coleenp
rev 3602 : 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>
rev 3534 : 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>
rev 3175 : 7150051: incorrect oopmap in critical native
Reviewed-by: kvn, twisti
rev 3173 : 7145024: Crashes in ucrypto related to C2
Reviewed-by: kvn
rev 3172 : 7148486: At a method handle call returning with an exception may call the runtime with misaligned stack (x64)
Summary: stack must be realigned when calling the runtime for exception propagation at a call.
Reviewed-by: kvn, never
rev 3065 : 7013347: allow crypto functions to be called inline to enhance performance
Reviewed-by: kvn
rev 2818 : 6636110: unaligned stackpointer leads to crash during deoptimization
Reviewed-by: never, kvn
Contributed-by: Andreas Schoesser <andreas.schoesser@sap.com>
rev 2695 : 7087445: Improve platform independence of JSR292 shared code
Summary: changes necessary for some JSR292 ports
Reviewed-by: jrose, dholmes
rev 2515 : 7045514: SPARC assembly code for JSR 292 ricochet frames
Reviewed-by: kvn, jrose
rev 2460 : 6939861: JVM should handle more conversion operations
Reviewed-by: twisti, jrose
rev 2252 : 7022998: JSR 292 recursive method handle calls inline themselves infinitely
Reviewed-by: never, kvn
rev 2117 : 7009309: JSR 292: compiler/6991596/Test6991596.java crashes on fastdebug JDK7/b122
Reviewed-by: kvn, never
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1499 : Merge
rev 1487 : 6934104: JSR 292 needs to support SPARC C2
Summary: C2 for SPARC needs to support JSR 292.
Reviewed-by: kvn, never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1426 : 6943304: remove tagged stack interpreter
Reviewed-by: coleenp, never, gbenson
rev 1368 : 6941529: SharedRuntime::raw_exception_handler_for_return_address must reset thread MethodHandle flag
Summary: During testing a bug was hit when an exception returned to the interpreter and the SP was wrong.
Reviewed-by: kvn, never
rev 1187 : 6911204: generated adapters with large signatures can fill up the code cache
Reviewed-by: kvn, jrose
rev 1135 : 6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164)
Summary: During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately.
Reviewed-by: kvn, never
rev 848 : 6859338: amd64 native unverified entry point pushes values before implicit null check
Reviewed-by: kvn, twisti
rev 682 : 6824463: deopt blob is testing wrong register on 64-bit x86
Reviewed-by: jrose, phh, kvn
rev 628 : Merge
rev 614 : Merge
rev 612 : Merge
rev 610 : 6805864: 4/3 Problem with jvmti->redefineClasses: some methods don't get redefined
Summary: Remove incorrect optimization in klassItable::adjust_method_entries(). Add RedefineClasses() tracing support for obsolete method entry.
Reviewed-by: acorn, swamyv
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 524 : 6792301: StackAlignmentInBytes not honored for compiled native methods
Summary: Fixed the stack misalignment when generate_native_wrapper is called.
Reviewed-by: never, kamg, kvn, phh
rev 520 : 6791168: Fix invalid code in bytecodeInterpreter that can cause gcc ICE
Summary: Fix compilation errors from latest gcc in CC_INTERP including offending missing void* cast.
Reviewed-by: xlu
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 165 : 6703888: Compressed Oops: use the 32-bits gap after klass in a object
Summary: Use the gap also for a narrow oop field and a boxing object value.
Reviewed-by: coleenp, never
rev 116 : 6537506: Provide a mechanism for specifying Java-level USDT-like dtrace probes
Summary: Initial checkin of JSDT code
Reviewed-by: acorn, sbohne
rev 113 : 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
rev 0 : Initial load
2 lines changed: 1 ins; 0 del; 1 mod; 3892 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/stubGenerator_x86_64.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8925 : 8072817: CardTableExtension kind() should be BarrierSet::CardTableExtension
Summary: Use BarrierSet::CardTableForRS where needed, and update concrete bs tags.
Reviewed-by: jwilhelm, jmasa
rev 8919 : 8133646: Internal Error: x86/vm/macroAssembler_x86.cpp:886 DEBUG MESSAGE: StubRoutines::call_stub: threads must correspond
Reviewed-by: kvn, coleenp, dcubed
rev 8630 : Merge
rev 8629 : 8130150: Implement BigInteger.montgomeryMultiply intrinsic
Summary: Add montgomeryMultiply intrinsics
Reviewed-by: kvn
rev 8608 : 8081247: AVX 512 extended support
Summary: add more support for EVEX encoding
Reviewed-by: kvn, neliasso
rev 8602 : 8073108: Use x86 and SPARC CPU instructions for GHASH acceleration
Reviewed-by: kvn, jrose
rev 8504 : 8081778: Use Intel x64 CPU instructions for RSA acceleration
Summary: Add intrinsics for BigInteger squareToLen and mulAdd methods.
Reviewed-by: kvn, jrose
rev 8379 : 8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com
rev 8284 : 8078113: 8011102 changes may cause incorrect results
Summary: replace Vzeroupper instruction in stubs with zeroing only used ymm registers.
Reviewed-by: kvn
Contributed-by: sandhya.viswanathan@intel.com
rev 8030 : 8067891: Remove vestigal G1SATBCT barrier set kind
Summary: Remove all case statements specifying G1SATBCT
Reviewed-by: tschatzl, kbarrett
rev 7923 : 8069016: Add BarrierSet downcast support
Summary: Add FakeRttiSupport utility and use to provide barrier_set_cast.
Reviewed-by: jmasa, sangheki
rev 7432 : 8058255: Native jbyte Atomic::cmpxchg for supported x86 platforms
Summary: Use the native cmpxchgb instruction on x86.
Reviewed-by: dholmes, kbarrett, phh
Contributed-by: erik.osterlund@lnu.se
rev 6997 : 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
rev 5816 : 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
rev 5093 : 8003424: Enable Class Data Sharing for CompressedOops
8016729: ObjectAlignmentInBytes=16 now forces the use of heap based compressed oops
8005933: The -Xshare:auto option is ignored for -server
Summary: Move klass metaspace above the heap and support CDS with compressed klass ptrs.
Reviewed-by: coleenp, kvn, mgerdin, tschatzl, stefank
rev 5005 : Merge
rev 5004 : 8020433: Crash when using -XX:+RestoreMXCSROnJNICalls
Summary: remove StubRoutines::x86::_mxcsr_std and use StubRoutines::_mxcsr_std
Reviewed-by: jrose
rev 4965 : 8016697: Use stubs to implement safefetch
Summary: Implement Safefetch as stub routines. This reduces compiler and os dependencies.
Reviewed-by: twisti, kvn
rev 4918 : 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
rev 4824 : 8014431: cleanup warnings indicated by the -Wunused-value compiler option on linux
Reviewed-by: dholmes, coleenp
Contributed-by: jeremymanson@google.com, calvin.cheung@oracle.com
rev 4721 : 8010927: Kitchensink crashed with SIGSEGV, Problematic frame: v ~StubRoutines::checkcast_arraycopy
Summary: Changed gen_write_ref_array_post_barrier() code on x64 to pass start address and number of copied oop elements. In generate_checkcast_copy() skip post barrier code if no elements are copied.
Reviewed-by: roland
rev 4438 : 8011102: Clear AVX registers after return from JNI call
Summary: Execute vzeroupper instruction after JNI call and on exits in jit compiled code which use 256bit vectors.
Reviewed-by: roland
rev 3976 : 8005544: Use 256bit YMM registers in arraycopy stubs on x86
Summary: Use YMM registers in arraycopy and array_fill stubs.
Reviewed-by: roland, twisti
rev 3928 : 8004835: Improve AES intrinsics on x86
Summary: Enable AES intrinsics on non-AVX cpus, group together aes instructions in crypto stubs.
Reviewed-by: roland, twisti
rev 3890 : Merge
rev 3883 : 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
rev 3864 : 8003935: Simplify the needed includes for using Thread::current()
Reviewed-by: dholmes, rbackman, coleenp
rev 3770 : 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
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3602 : 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>
rev 3534 : 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>
rev 3352 : 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
rev 3171 : 7147740: add assertions to check stack alignment on VM entry from generated code (x64)
Summary: check stack alignment on VM entry on x64.
Reviewed-by: kvn, never
rev 3133 : 7144405: JumbleGC002 assert(m->offset() == pc_offset) failed: oopmap not found
Summary: oop map needs pc stored in frame anchor in StubGenerator::generate_throw_exception()
Reviewed-by: twisti, never, kvn
rev 3087 : 7119286: JSR292: SIGSEGV in JNIHandleBlock::release_block(JNIHandleBlock*, Thread*)+0x3c
Summary: unaligned stack in throw_NullPointerException_at_call_entry().
Reviewed-by: twisti, never, kvn
rev 2965 : Merge
rev 2956 : 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
rev 2937 : 7116216: StackOverflow GC crash
Summary: GC crash for explicit stack overflow checks after a C2I transition.
Reviewed-by: coleenp, never
Contributed-by: yang02.wang@sap.com, bertrand.delsart@oracle.com
rev 2879 : 7110489: C1: 64-bit tiered with ForceUnreachable: assert(reachable(src)) failed: Address should be reachable
Reviewed-by: kvn, iveresov, twisti
rev 2875 : 7003454: order constants in constant table by number of references in code
Reviewed-by: kvn, never, bdelsart
rev 2721 : 7089790: integrate bsd-port changes
Reviewed-by: kvn, twisti, jrose
Contributed-by: Kurt Miller <kurt@intricatesoftware.com>, Greg Lewis <glewis@eyesbeyond.com>, Jung-uk Kim <jkim@freebsd.org>, Christos Zoulas <christos@zoulas.com>, Landon Fuller <landonf@plausible.coop>, The FreeBSD Foundation <board@freebsdfoundation.org>, Michael Franz <mvfranz@gmail.com>, Roger Hoover <rhoover@apple.com>, Alexander Strange <astrange@apple.com>
rev 2701 : 7088020: SEGV in JNIHandleBlock::release_block
Reviewed-by: kvn, twisti
rev 2543 : 7055355: JSR 292: crash while throwing WrongMethodTypeException
Reviewed-by: jrose, twisti, bdelsart
rev 2256 : 7026307: DEBUG MESSAGE: broken null klass on amd64
Summary: Correct typo introduces in 7020521
Reviewed-by: never, kvn
rev 2254 : 6741940: Nonvolatile XMM registers not preserved across JNI calls
Summary: Save xmm6-xmm15 in call stub on win64
Reviewed-by: kvn, never
rev 2171 : 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
rev 2160 : 7020521: arraycopy stubs place prebarriers incorrectly
Summary: Rearranged the pre-barrier placement in arraycopy stubs so that they are properly called in case of chained calls. Also refactored the code a little bit so that it looks uniform across the platforms and is more readable.
Reviewed-by: never, kvn
rev 1913 : 6998985: faulty generic arraycopy on windows x86_64: 4th arg overwritten with oop
Reviewed-by: kvn, never
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1683 : 4809552: Optimize Arrays.fill(...)
Reviewed-by: kvn
rev 1503 : 6958254: -XX:+VerifyOops is broken on x86
Summary: save and restore r10 in verify_oop().
Reviewed-by: never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1426 : 6943304: remove tagged stack interpreter
Reviewed-by: coleenp, never, gbenson
rev 1365 : 6940701: Don't align loops in stubs for Niagara sparc
Summary: Don't align loops in stubs for Niagara sparc since NOPs are expensive.
Reviewed-by: twisti, never
rev 1299 : 6934494: JSR 292 MethodHandles adapters should be generated into their own CodeBlob
Summary: Passing a null pointer to an InvokeDynamic function call should lead to a NullPointerException.
Reviewed-by: kvn, never
rev 1295 : 6919934: JSR 292 needs to support x86 C1
Summary: This implements JSR 292 support for C1 x86.
Reviewed-by: never, jrose, kvn
rev 1192 : 6918006: G1: spill space must be reserved on the stack for barrier calls on Windows x64
Summary: Stub code generated to call G1 barriers does not allocate spill space on the stack as required by Windows x64 ABI. The fix is to use more ABI-friendly call_VM_leaf().
Reviewed-by: iveresov, never, kvn
rev 1174 : 6849984: Value methods for platform dependent math functions constant fold incorrectly
Reviewed-by: kvn, twisti
rev 1108 : 6829192: JSR 292 needs to support 64-bit x86
Summary: changes for method handles and invokedynamic
Reviewed-by: kvn
rev 845 : 6700789: G1: Enable use of compressed oops with G1 heaps
Summary: Modifications to G1 so as to allow the use of compressed oops.
Reviewed-by: apetrusenko, coleenp, jmasa, kvn, never, phh, tonyp
rev 671 : 6822204: volatile fences should prefer lock:addl to actual mfence instructions
Reviewed-by: kvn, phh
rev 647 : Merge
rev 644 : 6813212: factor duplicated assembly code for general subclass check (for 6655638)
Summary: Code in interp_masm, stubGenerator, c1_LIRAssembler, and AD files moved into MacroAssembler.
Reviewed-by: kvn
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 512 : 6787106: Hotspot 32 bit build fails on platforms having different definitions for intptr_t & int32_t
Summary: Avoid casting between int32_t and intptr_t specifically for MasmAssembler::movptr in 32 bit platforms.
Reviewed-by: jrose, kvn
rev 405 : 6532536: Optimize arraycopy stubs for Intel cpus
Summary: Use SSE2 movdqu in arraycopy stubs on newest Intel's cpus
Reviewed-by: rasbold
rev 362 : Merge
rev 356 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 249 : 6717457: Internal Error (src/share/vm/code/relocInfo.hpp:1089)
Reviewed-by: kvn
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 124 : 6689060: Escape Analysis does not work with Compressed Oops
Summary: 64-bits VM crashes with -XX:+AggresiveOpts (Escape Analysis + Compressed Oops)
Reviewed-by: never, sgoldman
rev 113 : 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
rev 16 : 6664627: Merge changes made only in hotspot 11 forward to jdk 7
Reviewed-by: jcoomes
rev 0 : Initial load
91 lines changed: 91 ins; 0 del; 0 mod; 4356 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/stubRoutines_x86_64.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 5004 : 8020433: Crash when using -XX:+RestoreMXCSROnJNICalls
Summary: remove StubRoutines::x86::_mxcsr_std and use StubRoutines::_mxcsr_std
Reviewed-by: jrose
rev 4918 : 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
rev 3864 : 8003935: Simplify the needed includes for using Thread::current()
Reviewed-by: dholmes, rbackman, coleenp
rev 3770 : 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
rev 3718 : 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
rev 3171 : 7147740: add assertions to check stack alignment on VM entry from generated code (x64)
Summary: check stack alignment on VM entry on x64.
Reviewed-by: kvn, never
rev 2721 : 7089790: integrate bsd-port changes
Reviewed-by: kvn, twisti, jrose
Contributed-by: Kurt Miller <kurt@intricatesoftware.com>, Greg Lewis <glewis@eyesbeyond.com>, Jung-uk Kim <jkim@freebsd.org>, Christos Zoulas <christos@zoulas.com>, Landon Fuller <landonf@plausible.coop>, The FreeBSD Foundation <board@freebsdfoundation.org>, Michael Franz <mvfranz@gmail.com>, Roger Hoover <rhoover@apple.com>, Alexander Strange <astrange@apple.com>
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 337 : 6754988: Update copyright year
Summary: Update for files that have been modified starting July 2008
Reviewed-by: ohair, tbell
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 0 : Initial load
1 line changed: 1 ins; 0 del; 0 mod; 44 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/stubRoutines_x86_64.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8606 : 8080157: assert(allocates2(pc)) failed: not in CodeBuffer memory
Summary: increase code_size2 for stubs
Reviewed-by: iveresov
rev 8504 : 8081778: Use Intel x64 CPU instructions for RSA acceleration
Summary: Add intrinsics for BigInteger squareToLen and mulAdd methods.
Reviewed-by: kvn, jrose
rev 5004 : 8020433: Crash when using -XX:+RestoreMXCSROnJNICalls
Summary: remove StubRoutines::x86::_mxcsr_std and use StubRoutines::_mxcsr_std
Reviewed-by: jrose
rev 4918 : 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
rev 3770 : 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
rev 3718 : 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
rev 3171 : 7147740: add assertions to check stack alignment on VM entry from generated code (x64)
Summary: check stack alignment on VM entry on x64.
Reviewed-by: kvn, never
rev 2515 : 7045514: SPARC assembly code for JSR 292 ricochet frames
Reviewed-by: kvn, jrose
rev 2460 : 6939861: JVM should handle more conversion operations
Reviewed-by: twisti, jrose
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1766 : 6829194: JSR 292 needs to support compressed oops
Reviewed-by: kvn, jrose
rev 1713 : 6939224: MethodHandle.invokeGeneric needs to perform the correct set of conversions
Reviewed-by: never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1299 : 6934494: JSR 292 MethodHandles adapters should be generated into their own CodeBlob
Summary: Passing a null pointer to an InvokeDynamic function call should lead to a NullPointerException.
Reviewed-by: kvn, never
rev 337 : 6754988: Update copyright year
Summary: Update for files that have been modified starting July 2008
Reviewed-by: ohair, tbell
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 0 : Initial load
6 lines changed: 6 ins; 0 del; 0 mod; 112 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/templateInterpreter_x86_64.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8879 : 8076373: In 32-bit VM interpreter and compiled code process NaN values differently
Summary: Change interpreter to use XMM registers on x86_32 if they are available. Add stubs for methods transforming from/to int/long float/double.
Reviewed-by: kvn, mcberg
rev 8706 : 8025692: Log what methods are touched at run-time
Summary: Added two diagnostic flags, LogTouchedMethods and PrintTouchedMethodsAtExit to list all methods that have been touched at run time. Added new jcmd, VM.print_touched_methods.
Reviewed-by: acorn, iklam
rev 7740 : 8059606: Enable per-method usage of CompileThresholdScaling (per-method compilation thresholds)
Summary: Changed interpreter and compilation policies to allow using CompileThresholdScaling on a per-method level
Reviewed-by: jrose, kvn
rev 6857 : 8003426: Remove UseFastAccessors and UseFastEmptyMethods except for zero
Summary: These options have been long disabled in Xmixed mode because they prevent these small methods from being inlined and are subject to bit rot, and we don't need more macro assembler code to maintain and change if the constant pool cache format changes.
Reviewed-by: simonis, kvn
rev 6762 : Merge
rev 6760 : 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
rev 6759 : 8004128: NPG: remove stackwalking in Threads::gc_prologue and gc_epilogue code
Summary: remove bcx and mdx handling.  We no longer have to convert bytecode pointers to indices for GC since Methods aren't moved.
Reviewed-by: mgerdin, kvn
rev 6373 : 8036956: remove EnableInvokeDynamic flag
Summary: The EnableInvokeDynamic flag and all support code is removed because it is not longer used in JDK 9.
Reviewed-by: kvn, twisti
Contributed-by: Tobias Hartmann <tobias.hartmann@oracle.com>
rev 6307 : 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.
Reviewed-by: twisti, kvn
rev 6246 : 8039146: Fix 64-bit store to int JNIHandleBlock::_top
Reviewed-by: coleenp, kvn
rev 5604 : 8026328: Setting a breakpoint on invokedynamic crashes the JVM
Reviewed-by: jrose, roland
rev 5552 : 8026251: New type profiling points: parameters to methods
Summary: x86 interpreter and c1 type profiling for parameters on method entries
Reviewed-by: kvn, twisti
rev 5486 : 8026054: New type profiling points: type of return values at calls
Summary: x86 interpreter and c1 type profiling for return values at calls
Reviewed-by: kvn, twisti
rev 5109 : Merge
rev 5103 : 8022441: Bad code generated for certain interpreted CRC intrinsics, 2 cases
Summary: Corrected details
Reviewed-by: kvn, twisti, rbackman
Contributed-by: david.r.chase@oracle.com
rev 5061 : 7187554: JSR 292: JVMTI PopFrame needs to handle appendix arguments
Summary: Restore the appendix argument after PopFrame() call
Reviewed-by: twisti, coleenp
Contributed-by: serguei.spitsyn@oracle.com
rev 4918 : 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
rev 4790 : 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292
Summary: ConstMethod::max_stack() doesn't account for JSR 292 appendix.
Reviewed-by: kvn
rev 4538 : 8013041: guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset.
Summary: Change jmpb() to jmp().
Reviewed-by: coleenp, rdurbin, dcubed
rev 4501 : 8010862: The Method counter fields used for profiling can be allocated lazily.
Summary: Allocate the method's profiling related metadata until they are needed.
Reviewed-by: coleenp, roland
rev 4438 : 8011102: Clear AVX registers after return from JNI call
Summary: Execute vzeroupper instruction after JNI call and on exits in jit compiled code which use 256bit vectors.
Reviewed-by: roland
rev 4292 : 8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates
Summary: deoptimization doesn't set up callee frames so that they restore caller frames correctly.
Reviewed-by: kvn
rev 4107 : 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
rev 3903 : 8004076: Move _max_locals and _size_of_parameters to ConstMethod for better sharing.
Summary: Move _max_locals and _size_of_parameters to ConstMethod for better sharing.
Reviewed-by: coleenp, minqi, jrose
rev 3883 : 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
rev 3602 : 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>
rev 3534 : 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>
rev 3391 : 7172967: Eliminate constMethod's _method backpointer to methodOop.
Summary: Eliminate constMethod's _method backpointer to methodOop, and move the _constant field from methodOop to constMethod.
Reviewed-by: roland, bdelsart, kamg
rev 3352 : 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
rev 2965 : Merge
rev 2956 : 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
rev 2937 : 7116216: StackOverflow GC crash
Summary: GC crash for explicit stack overflow checks after a C2I transition.
Reviewed-by: coleenp, never
Contributed-by: yang02.wang@sap.com, bertrand.delsart@oracle.com
rev 2803 : 7090904: JSR 292: JRuby junit test crashes in PSScavengeRootsClosure::do_oop
Reviewed-by: kvn, never, jrose
rev 2543 : 7055355: JSR 292: crash while throwing WrongMethodTypeException
Reviewed-by: jrose, twisti, bdelsart
rev 2466 : 7043461: VM crashes in void LinkResolver::runtime_resolve_virtual_method
Reviewed-by: kvn, coleenp
rev 2349 : Merge
rev 2346 : 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
rev 2263 : 6817525: turn on method handle functionality by default for JSR 292
Summary: After appropriate testing, we need to turn on EnableMethodHandles and EnableInvokeDynamic by default.
Reviewed-by: never, kvn, jrose, phh
rev 2117 : 7009309: JSR 292: compiler/6991596/Test6991596.java crashes on fastdebug JDK7/b122
Reviewed-by: kvn, never
rev 2026 : 7012766: assert(false) failed: DEBUG MESSAGE in MacroAssembler::debug32
Summary: Interpreter expects to see methodOop in rbx on method entry, which needs to be restored after call to profile_method.
Reviewed-by: kvn, never
rev 2003 : 4930919: race condition in MDO creation at back branch locations
Summary: Reuse set_method_data_for_bcp() to setup mdp after MDO creation.
Reviewed-by: kvn, never
rev 1883 : 6780143: hs203t003 hits SIGSEGV/EXCEPTION_ACCESS_VIOLATION with -XX:+UseCompressedOops
Summary: Using r12 as temporary register around call_VM trashes heapbase becausecall_VM doesn't always return immediately to following code (eg forward_exception, popframe and early return support).
Reviewed-by: never, kvn
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1499 : Merge
rev 1485 : 6939207: refactor constant pool index processing
Summary: Factored cleanup of instruction decode which prepares for enhanced ldc semantics.
Reviewed-by: twisti
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1426 : 6943304: remove tagged stack interpreter
Reviewed-by: coleenp, never, gbenson
rev 1295 : 6919934: JSR 292 needs to support x86 C1
Summary: This implements JSR 292 support for C1 x86.
Reviewed-by: never, jrose, kvn
rev 1174 : 6849984: Value methods for platform dependent math functions constant fold incorrectly
Reviewed-by: kvn, twisti
rev 1135 : 6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164)
Summary: During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately.
Reviewed-by: kvn, never
rev 1108 : 6829192: JSR 292 needs to support 64-bit x86
Summary: changes for method handles and invokedynamic
Reviewed-by: kvn
rev 1059 : 6858164: invokedynamic code needs some cleanup (post-6655638)
Summary: Fix several crashers, remove needless paths for boxed-style bootstrap method call, refactor & simplify APIs for rewriter constantPoolOop, remove sun.dyn.CallSiteImpl
Reviewed-by: kvn
rev 726 : 6655646: dynamic languages need dynamically linked call sites
Summary: invokedynamic instruction (JSR 292 RI)
Reviewed-by: twisti, never
rev 710 : 6655638: dynamic languages need method handles
Summary: initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.)
Reviewed-by: kvn, twisti, never
rev 706 : 6539464: Math.log() produces inconsistent results between successive runs.
Reviewed-by: kvn
rev 622 : 6812678: macro assembler needs delayed binding of a few constants (for 6655638)
Summary: minor assembler enhancements preparing for method handles
Reviewed-by: kvn
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 113 : 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
rev 0 : Initial load
5 lines changed: 4 ins; 0 del; 1 mod; 1805 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/templateTable_x86.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8928 : Merge
rev 8925 : 8072817: CardTableExtension kind() should be BarrierSet::CardTableExtension
Summary: Use BarrierSet::CardTableForRS where needed, and update concrete bs tags.
Reviewed-by: jwilhelm, jmasa
rev 8888 : Merge
rev 8879 : 8076373: In 32-bit VM interpreter and compiled code process NaN values differently
Summary: Change interpreter to use XMM registers on x86_32 if they are available. Add stubs for methods transforming from/to int/long float/double.
Reviewed-by: kvn, mcberg
rev 8843 : 8133557: Missing test before a branch when checking for MethodCounters in TemplateTable::branch() on x86
Reviewed-by: kvn, coleenp
Contributed-by: richard.reingruber@sap.com
rev 8117 : 8076492: Make common code from template interpreter code
Summary: Move case statement out of assembly code
Reviewed-by: minqi, sspitsyn, dholmes
rev 8105 : Merge
rev 8102 : 8074345: Enable RewriteBytecodes when VM runs with CDS
Summary: Enable bytecode rewriting when CDS turned on.
Reviewed-by: coleenp, iklam
Contributed-by: yumin.qi@oracle.com, ioi.lam@oracle.com
rev 8030 : 8067891: Remove vestigal G1SATBCT barrier set kind
Summary: Remove all case statements specifying G1SATBCT
Reviewed-by: tschatzl, kbarrett
rev 7970 : 8013393: Merge template interpreter files for x86 _32 and _64.
Summary: The 32 and 64 bit versions of templateTable_x86 have been merged.
Reviewed-by: twisti, jrose, coleenp
94 lines changed: 89 ins; 0 del; 5 mod; 4336 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/vtableStubs_x86_64.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8638 : 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Summary: Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 5776 : 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
rev 5552 : 8026251: New type profiling points: parameters to methods
Summary: x86 interpreter and c1 type profiling for parameters on method entries
Reviewed-by: kvn, twisti
rev 5327 : 7009641: Don't fail VM when CodeCache is full
Summary: Allocation in the code cache returns NULL instead of failing the entire VM
Reviewed-by: kvn, iveresov
rev 5259 : 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
rev 5093 : 8003424: Enable Class Data Sharing for CompressedOops
8016729: ObjectAlignmentInBytes=16 now forces the use of heap based compressed oops
8005933: The -Xshare:auto option is ignored for -server
Summary: Move klass metaspace above the heap and support CDS with compressed klass ptrs.
Reviewed-by: coleenp, kvn, mgerdin, tschatzl, stefank
rev 3883 : 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3602 : 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>
rev 3534 : 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>
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 844 : 6862919: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 07/09
Reviewed-by: tbell, ohair
rev 709 : 6827505: sizing logic for vtable and itable stubs needs self-check
Summary: Asserts and comments to help maintain the correct sizing of certain stubs
Reviewed-by: kvn
rev 623 : 6812831: factor duplicated assembly code for megamorphic invokeinterface (for 6655638)
Summary: Code in vtableStubs and templateTable moved into MacroAssembler.
Reviewed-by: kvn
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 113 : 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
rev 16 : 6664627: Merge changes made only in hotspot 11 forward to jdk 7
Reviewed-by: jcoomes
rev 0 : Initial load
4 lines changed: 2 ins; 0 del; 2 mod; 267 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/cpu/x86/vm/x86_64.ad

rev 8961 : [mq]: diff-shenandoah.patch
rev 8795 : 8130309: Need to bailout cleanly if creation of stubs fails when codecache is out of space
Summary: Check for failed expansion of stub section in code buffer and bailout.
Reviewed-by: kvn, adinn, dlong, roland, twisti
rev 8494 : 8001622: loadUB2L_immI8 & loadUS2L_immI16 rules don't match some 8-bit/16-bit masks
Reviewed-by: dlong, kvn, roland
rev 8379 : 8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com
rev 8290 : 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
Summary: Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.
Reviewed-by: kvn, roland, dlong, enevill, shade
rev 8179 : 8075136: Unnecessary sign extension for byte array access
Summary: Added C2 matching rules to remove unnecessary sign extension for byte array access.
Reviewed-by: roland, kvn, aph, adinn
rev 7844 : 8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov
rev 6307 : 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.
Reviewed-by: twisti, kvn
rev 6189 : 8037821: Account for trampoline stubs when estimating code buffer sizes
Summary: Take into account space needed for "trampoline code" used by calls on PPC64.
Reviewed-by: kvn
Contributed-by: lutz.schmidt@sap.com
rev 6182 : 8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
rev 6117 : 8031321: Support Intel bit manipulation instructions
Summary: Add support for BMI1 instructions
Reviewed-by: kvn, roland
rev 6049 : 8027754: Enable loop optimizations for loops with MathExact inside
Reviewed-by: kvn, iveresov
rev 6048 : 8033805: Move Fast_Lock/Fast_Unlock code from .ad files to macroassembler
Summary: Consolidated C2 x86 locking code in one place in macroAssembler_x86.cpp.
Reviewed-by: roland
rev 6011 : Merge
rev 5993 : 8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence.
Summary: Use new nodes for loadFence/storeFence intrinsics in C2.
Reviewed-by: kvn, dholmes
rev 5982 : 8003854: PPC64 (part 115): Introduce PostallocExpand that expands nodes after register allocation
Summary: added ability in C2 to expand mach nodes to several mach nodes after register allocation
Reviewed-by: kvn
rev 5976 : Merge
rev 5970 : 8024344: PPC64 (part 112): C argument in register AND stack slot.
Summary: On PPC, the first 13 floating point arguments to C calls are passed in floating point registers. Also, all but the first 8 arguments are passed on the stack. So there can be floating point arguments that are passed on the stack and in a register. We duplicate the regs datastructure in c_calling_convention() to represent this.
Reviewed-by: kvn, cjplummer
rev 5824 : 8031743: C2: loadI2L_immI broken for negative memory values
Summary: Restrict loadI2L_imm optimizations to positive values of mask
Reviewed-by: kvn, dlong
rev 5562 : 8026844: Various Math functions needs intrinsification
Reviewed-by: kvn, twisti
rev 5367 : Merge
rev 5356 : 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
rev 5349 : 7195622: CheckUnhandledOops has limited usefulness now
Summary: Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms.
Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin
Contributed-by: lois.foltan@oracle.com
rev 5259 : 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
rev 5093 : 8003424: Enable Class Data Sharing for CompressedOops
8016729: ObjectAlignmentInBytes=16 now forces the use of heap based compressed oops
8005933: The -Xshare:auto option is ignored for -server
Summary: Move klass metaspace above the heap and support CDS with compressed klass ptrs.
Reviewed-by: coleenp, kvn, mgerdin, tschatzl, stefank
rev 4568 : Merge
rev 4566 : Merge
rev 4565 : 8003853: specify offset of IC load in java_to_interp stub
Summary: refactored code to allow platform-specific differences
Reviewed-by: dlong, twisti
Contributed-by: Goetz Lindenmaier <goetz.lindenmaier@sap.com>
rev 4536 : 8011901: Unsafe.getAndAddLong(obj, off, delta) does not work properly with long deltas
Summary: instruct xaddL_no_res shouldn't allow 64 bit constants.
Reviewed-by: kvn
rev 4509 : 6443505: Ideal() function for CmpLTMask
Summary: Repair wrong code generation, added new matching rule
Reviewed-by: kvn, twisti
rev 4456 : Merge
rev 4454 : 8003310: Enable -Wunused-function when compiling with gcc
Summary: Add the -Wunused-function flag and remove a number of unused functions.
Reviewed-by: dholmes, coleenp, kvn
rev 4438 : 8011102: Clear AVX registers after return from JNI call
Summary: Execute vzeroupper instruction after JNI call and on exits in jit compiled code which use 256bit vectors.
Reviewed-by: roland
rev 4044 : 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
rev 3975 : 8005522: use fast-string instructions on x86 for zeroing
Summary: use 'rep stosb' instead of 'rep stosq' when fast-string operations are available.
Reviewed-by: twisti, roland
rev 3725 : 7199654: Remove LoadUI2LNode
Summary: Removed LoadUI2L node from Ideal nodes, use match rule in .ad files instead.
Reviewed-by: kvn
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3602 : 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>
rev 3566 : 6340864: Implement vectorization optimizations in hotspot-server
Summary: Added asm encoding and mach nodes for vector arithmetic instructions on x86.
Reviewed-by: roland
rev 3447 : 7119644: Increase superword's vector size up to 256 bits
Summary: Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
rev 3411 : 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
Contributed-by: Krystal Mok <sajia@taobao.com>
rev 3406 : 7063674: Wrong results from basic comparisons after calls to Long.bitCount(long)
Reviewed-by: kvn
rev 3352 : 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
rev 3252 : 7157141: crash in 64 bit with corrupted oops
Reviewed-by: kvn, iveresov
rev 3202 : 7152957: VM crashes with assert(false) failed: bad AD file
Reviewed-by: kvn, never
Contributed-by: nils.eliasson@oracle.com
rev 3142 : 7145346: VerifyStackAtCalls is broken
Summary: Replace call_epilog() encoding with macroassembler use. Moved duplicated code to x86.ad. Fixed return_addr() definition.
Reviewed-by: never
rev 3139 : 7125136: SIGILL on linux amd64 in gc/ArrayJuggle/Juggle29
Summary: For C2 moved saving EBP after ESP adjustment. For C1 generated 5 byte nop instruction first if needed.
Reviewed-by: never, twisti, azeemj
rev 2971 : 7125896: Eliminate nested locks
Summary: Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.
Reviewed-by: never, twisti
rev 2957 : 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
rev 2956 : 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
rev 2955 : 7121648: Use 3-operands SIMD instructions on x86 with AVX
Summary: Use 3-operands SIMD instructions in C2 generated code for machines with AVX.
Reviewed-by: never
rev 2953 : 7116452: Add support for AVX instructions
Summary: Added support for AVX extension to the x86 instruction set.
Reviewed-by: never
rev 2882 : 7090968: Allow adlc register class to depend on runtime conditions
Summary: allow reg_class definition as a function.
Reviewed-by: kvn, never
rev 2875 : 7003454: order constants in constant table by number of references in code
Reviewed-by: kvn, never, bdelsart
rev 2808 : 7097546: Optimize use of CMOVE instructions
Summary: Avoid CMove in a loop if possible. May generate CMove if it could be moved outside a loop.
Reviewed-by: never
rev 2617 : 7079329: Adjust allocation prefetching for T4
Summary: on T4 2 BIS instructions should be issued to prefetch 64 bytes
Reviewed-by: iveresov, phh, twisti
rev 2614 : 7063629: use cbcond in C2 generated code on T4
Summary: Use new short branch instruction in C2 generated code.
Reviewed-by: never
rev 2612 : 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
rev 2605 : 7069452: Cleanup NodeFlags
Summary: Remove flags which duplicate information in Node::NodeClasses.
Reviewed-by: never
rev 2602 : 7063628: Use cbcond on T4
Summary: Add new short branch instruction to Hotspot sparc assembler.
Reviewed-by: never, twisti, jrose
rev 2545 : 7056380: VM crashes with SIGSEGV in compiled code
Summary: code was using andq reg, imm instead of addq addr, imm
Reviewed-by: kvn, jrose, twisti
rev 2500 : 7048332: Cadd_cmpLTMask doesn't handle 64-bit tmp register properly
Summary: Use ins_encode %{ %} form to encode cadd_cmpLTMask() instruction and remove unused code.
Reviewed-by: never
rev 2251 : 6964776: c2 should ensure the polling page is reachable on 64 bit
Summary: Materialize the pointer to the polling page in a register instead of using rip-relative addressing when the distance from the code cache is larger than disp32.
Reviewed-by: never, kvn
rev 2248 : 7029017: Additional architecture support for c2 compiler
Summary: Enables cross building of a c2 VM. Support masking of shift counts when the processor architecture mandates it.
Reviewed-by: kvn, never
rev 2167 : 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
rev 2134 : 7016474: string compare intrinsic improvements
Reviewed-by: kvn
rev 1915 : 6961690: load oops from constant table on SPARC
Summary: oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by: never, kvn
rev 1834 : 6987135: Performance regression on Intel platform with 32-bits edition between 6u13 and 6u14.
Summary: Use hardware DIV instruction for long division by constant when it is faster than code with multiply.
Reviewed-by: never
rev 1747 : 6968348: Byteswapped memory access can point to wrong location after JIT
Reviewed-by: twisti, kvn, iveresov
rev 1668 : 6978355: renaming for 6961697
Summary: This is the renaming part of 6961697 to keep the actual changes small for review.
Reviewed-by: kvn, never
rev 1650 : 6978249: spill between cpu and fpu registers when those moves are fast
Reviewed-by: kvn
rev 1499 : Merge
rev 1495 : 6954029: Improve implicit null check generation with compressed oops
Summary: Hoist DecodeN instruction above null check
Reviewed-by: never, twisti
rev 1491 : 6916623: Align object to 16 bytes to use Compressed Oops with java heap up to 64Gb
Summary: Added new product ObjectAlignmentInBytes flag to control object alignment.
Reviewed-by: twisti, ysr, iveresov
rev 1487 : 6934104: JSR 292 needs to support SPARC C2
Summary: C2 for SPARC needs to support JSR 292.
Reviewed-by: kvn, never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1396 : 6946040: add intrinsic for short and char reverseBytes
Reviewed-by: never, twisti
Contributed-by: Hiroshi Yamauchi <yamauchi@google.com>
rev 1274 : 6910664: C2: java/util/Arrays/Sorting.java fails with DeoptimizeALot flag
Summary: Matcher::float_in_double should be true only when FPU is used for floats.
Reviewed-by: never, twisti
rev 1137 : 6829187: compiler optimizations required for JSR 292
Summary: C2 implementation for invokedynamic support.
Reviewed-by: kvn, never
rev 989 : 6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
rev 986 : 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
rev 824 : 5057225: Remove useless I2L conversions
Summary: The optimizer should be told to normalize (AndL (ConvI2L x) 0xFF) to (ConvI2L (AndI x 0xFF)), and then the existing matcher rule will work for free.
Reviewed-by: kvn
rev 785 : 6814842: Load shortening optimizations
Summary: 6797305 handles load widening but no shortening which should be covered here.
Reviewed-by: never, kvn
rev 775 : 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
rev 681 : 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
rev 671 : 6822204: volatile fences should prefer lock:addl to actual mfence instructions
Reviewed-by: kvn, phh
rev 647 : Merge
rev 644 : 6813212: factor duplicated assembly code for general subclass check (for 6655638)
Summary: Code in interp_masm, stubGenerator, c1_LIRAssembler, and AD files moved into MacroAssembler.
Reviewed-by: kvn
rev 643 : 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
rev 642 : 6791178: Specialize for zero as the compressed oop vm heap base
Summary: Use zero based compressed oops if java heap is below 32gb and unscaled compressed oops if java heap is below 4gb.
Reviewed-by: never, twisti, jcoomes, coleenp
rev 628 : Merge
rev 624 : 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
rev 622 : 6812678: macro assembler needs delayed binding of a few constants (for 6655638)
Summary: minor assembler enhancements preparing for method handles
Reviewed-by: kvn
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 569 : 6805950: Typos in andL_rReg_imm instructions in x86_64.ad
Summary: There are two typos in andL_rReg_imm instructions in x86_64.ad.
Reviewed-by: kvn
rev 558 : 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
rev 420 : 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
rev 415 : 6754519: don't emit flag fixup for NaN when condition being tested doesn't need it
Reviewed-by: kvn, rasbold
rev 403 : 6752257: Use NOT instead of XOR -1 on x86
Summary: add match rule for xor -1
Reviewed-by: never, kvn
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 235 : Merge
rev 221 : 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
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 182 : 6709093: Compressed Oops: reduce size of compiled methods
Summary: exclude UEP size from nmethod code size and use narrow klass oop to load prototype header.
Reviewed-by: jrose, never
rev 169 : 6695049: (coll) Create an x86 intrinsic for Arrays.equals
Summary: Intrinsify java/util/Arrays.equals(char[], char[])
Reviewed-by: kvn, never
rev 168 : 6705887: Compressed Oops: generate x64 addressing and implicit null checks with narrow oops
Summary: Generate addresses and implicit null checks with narrow oops to avoid decoding.
Reviewed-by: jrose, never
rev 164 : 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
rev 163 : 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
rev 145 : 6603011: RFE: Optimize long division
Summary: Transform long division by constant into multiply
Reviewed-by: never, kvn
rev 124 : 6689060: Escape Analysis does not work with Compressed Oops
Summary: 64-bits VM crashes with -XX:+AggresiveOpts (Escape Analysis + Compressed Oops)
Reviewed-by: never, sgoldman
rev 113 : 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
rev 71 : 6662967: Optimize I2D conversion on new x86
Summary: Use CVTDQ2PS and CVTDQ2PD for integer values conversions to float and double values on new AMD cpu.
Reviewed-by: sgoldman, never
rev 0 : Initial load
35 lines changed: 35 ins; 0 del; 0 mod; 11879 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/os_cpu/linux_x86/vm/os_linux_x86.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8793 : 8080298: Clean up os::...::supports_variable_stack_size()
Reviewed-by: kbarrett, simonis, stuefe, coleenp
rev 8575 : 8078513: [linux] Clean up code relevant to LinuxThreads implementation
Reviewed-by: dholmes, sla, coleenp, simonis
rev 7996 : 8074552: SafeFetch32 and SafeFetchN do not work in error handling
Reviewed-by: dholmes, goetz
Contributed-by: Thomas Stufe <thomas.stuefe@gmail.com>
rev 7426 : Merge
rev 7418 : 8062808: Turn on the -Wreturn-type warning
Reviewed-by: mgerdin, tschatzl, coleenp, jrose, kbarrett
rev 7336 : 8058715: stability issues when being launched as an embedded JVM via JNI
Summary: Use mmap call without MAP_FIXED so we avoid corrupting already allocated memory
Reviewed-by: coleenp, dsimms
rev 7030 : 8050147: StoreLoad barrier interferes with stack usages
Reviewed-by: jrose, kvn, drchase
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6178 : 8037226: compiler/7196199/Test7196199.java fails on 32-bit linux with MaxVectorSize > 16
Summary: verify YMM registers after signal processing and set limit on vector's size.
Reviewed-by: iveresov, twisti
rev 5853 : 8032827: NMT: missing virtual memory tagging in os::workaround_expand_exec_shield_cs_limit()
Summary: Fixed missing virtual memory type tagging in os::workaround_expand_exec_shield_cs_limit() function
Reviewed-by: hseigel, coleenp
rev 5776 : 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
rev 5346 : 8023956: Provide a work-around to broken Linux 32 bit "Exec Shield" using CS for NX emulation (crashing with SI_KERNEL)
Summary: Execute some code at a high virtual address value, and keep mapped
Reviewed-by: coleenp, zgu
rev 4991 : Merge
rev 4989 : 8020701: Avoid crashes in WatcherThread
Reviewed-by: acorn, dcubed, dsimms
rev 4965 : 8016697: Use stubs to implement safefetch
Summary: Implement Safefetch as stub routines. This reduces compiler and os dependencies.
Reviewed-by: twisti, kvn
rev 4867 : 8004124: Handle and/or warn about SI_KERNEL
Summary: Detect this crash in the signal handler and give a fatal error message instead of making us chase down bugs that don't reproduce
Reviewed-by: kvn, mgerdin, dholmes
rev 4795 : 8015252: Enable HotSpot build with Clang
Reviewed-by: twisti, dholmes, kvn
rev 4558 : 8011661: Insufficient memory message says "malloc" when sometimes it should say "mmap"
Reviewed-by: coleenp, zgu, hseigel
rev 4328 : 8010144: [parfait] Null pointer deference in hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
Summary: add null check to signal handler
Reviewed-by: dcubed
rev 4275 : 7107135: Stack guard pages are no more protected after loading a shared library with executable stack
Summary: Detect the execstack attribute of the loaded library and attempt to fix the stack guard using Safepoint op.
Reviewed-by: dholmes, zgu
Contributed-by: ioi.lam@oracle.com
rev 4093 : 8006508: Wrong frame constructor is called in os_linux_x86.cpp
Reviewed-by: dholmes, coleenp
Contributed-by: Jeremy Manson <jeremymanson@google.com>
rev 3890 : Merge
rev 3883 : 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
rev 3864 : 8003935: Simplify the needed includes for using Thread::current()
Reviewed-by: dholmes, rbackman, coleenp
rev 3718 : 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
rev 3701 : 8000102: Resolve include conflicts
Summary: Removing include of c1/c1_runtime.hpp and opto/runtime.hpp from all os-files.
Reviewed-by: kvn
Contributed-by: nils.eliasson@oracle.com
rev 3644 : 7190089: NMT ON: NMT failed assertion on thread's stack base address
Summary: Solaris only, record stack info to NMT after stack size adjustment was made for primordial threads
Reviewed-by: kvn, acorn, coleenp
rev 3171 : 7147740: add assertions to check stack alignment on VM entry from generated code (x64)
Summary: check stack alignment on VM entry on x64.
Reviewed-by: kvn, never
rev 2273 : 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
rev 2072 : 6588413: Use -fvisibility=hidden for gcc compiles
Summary: Add option for gcc 4 and above, define JNIEXPORT and JNIIMPORT to visibility=default, add for jio_snprintf and others since -fvisibility=hidden overrides --version-script definitions.
Reviewed-by: kamg, never
rev 1887 : 6348631: remove the use of the HPI library from Hotspot
Summary: move functions from hpi library to hotspot, communicate with licensees and open source community, check jdk for dependency, file CCC request
Reviewed-by: coleenp, acorn, dsamersoff
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1827 : 6970683: improvements to hs_err output
Reviewed-by: kvn, jrose, dholmes, coleenp
rev 1601 : 6953477: Increase portability and flexibility of building Hotspot
Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.
Reviewed-by: phh, never, coleenp, dholmes
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1410 : 6888954: argument formatting for assert() and friends
Reviewed-by: kvn, twisti, apetrusenko, never, dcubed
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 477 : 6727377: VM stack guard pages on Windows should PAGE_READWRITE not PAGE_EXECUTE_READWRITE
Summary: Make reguard_stack change access to RW, not execute and use os::protect_memory with the new parameter when change needed to X.
Reviewed-by: acorn, jcoomes
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 52 : Merge
rev 50 : 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
Summary: (for Serguei) Allow for Linux builds with Sun Studio Linux compilers
Reviewed-by: sspitsyn, ohair
rev 20 : 6629887: 64-bit windows should not restrict default heap size to 1400m
Reviewed-by: jmasa, sbohne, ikrylov, xlu
rev 0 : Initial load
15 lines changed: 15 ins; 0 del; 0 mod; 898 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/adlc/formssel.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8379 : 8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com
rev 8233 : Merge
rev 8224 : 8077364: "if( !this )" construct prevents build on Xcode 6.3
Reviewed-by: stefank, simonis
rev 8196 : 8074981: Integer/FP scalar reduction optimization
Summary: Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.
Reviewed-by: kvn, twisti
Contributed-by: michael.c.berg@intel.com
rev 7844 : 8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov
rev 7142 : 8058880: Introduce identifier TEMP_DEF for effects in adl.
Summary: Modified adlc sources.
Reviewed-by: kvn, drchase
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6117 : 8031321: Support Intel bit manipulation instructions
Summary: Add support for BMI1 instructions
Reviewed-by: kvn, roland
rev 6010 : Merge
rev 5993 : 8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence.
Summary: Use new nodes for loadFence/storeFence intrinsics in C2.
Reviewed-by: kvn, dholmes
rev 5988 : 8028580: PPC64 (part 114/120): Support for Call nodes with constants.
Summary: extends MachCall nodes so that they can issue constants to the constant table
Reviewed-by: kvn
rev 5985 : 8028401: PPC (part 117): Improve usability of adlc and format() functionality.
Summary: Add additional, more verbose syntax checks in adlc. Fix printing constant's problem in format().
Reviewed-by: kvn
rev 5982 : 8003854: PPC64 (part 115): Introduce PostallocExpand that expands nodes after register allocation
Summary: added ability in C2 to expand mach nodes to several mach nodes after register allocation
Reviewed-by: kvn
rev 5776 : 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
rev 5543 : 8022783: Nashorn test fails with: assert(!def_outside->member(r))
Summary: Enables private copies of inputs for recent spill copies as well
Reviewed-by: kvn, twisti
rev 5356 : 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
rev 4853 : 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block
Summary: Disable rematerialization for negD node
Reviewed-by: kvn, roland
rev 4786 : 8015266: fix some -Wsign-compare warnings in adlc
Reviewed-by: kvn
rev 4223 : 8007722: C2: "assert(tp->base() != Type::AnyPtr) failed: not a bare pointer" at machnode.cpp:376
Summary: GetAndSetP's MachNode should capture bottom type.
Reviewed-by: kvn
rev 4044 : 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
rev 3726 : 8000592: Improve adlc usability
Summary: several changes to adlc to improve its usability
Reviewed-by: kvn
Contributed-by: goetz.lindenmaier@sap.com
rev 3725 : 7199654: Remove LoadUI2LNode
Summary: Removed LoadUI2L node from Ideal nodes, use match rule in .ad files instead.
Reviewed-by: kvn
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3699 : 7201026: add vector for shift count
Summary: Add generation of vectors for scalar shift count.
Reviewed-by: roland, twisti, dlong
rev 3678 : 7200233: C2: can't use expand rules for vector instruction rules
Summary: Added missed _bottom_type set in ArchDesc::defineExpand() and missed vector nodes in MatchRule::is_vector().
Reviewed-by: twisti, roland, dlong
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3602 : 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>
rev 3447 : 7119644: Increase superword's vector size up to 256 bits
Summary: Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
rev 3411 : 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
Contributed-by: Krystal Mok <sajia@taobao.com>
rev 2957 : 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
rev 2881 : 7077312: Provide a CALL effect for instruct declaration in the ad file
Summary: abstracted way to declare that the MachNode has the effect of a call (kills caller save registers, preserves callee save registers)
Reviewed-by: twisti, never
rev 2726 : 7096010: c2: running with +PrintOptoAssembly crashes the VM when $constanttablebase is used
Summary: ADLC generates code to prepare the register string to be printed in a char array but then calls print without the char array as an argument.
Reviewed-by: never
rev 2617 : 7079329: Adjust allocation prefetching for T4
Summary: on T4 2 BIS instructions should be issued to prefetch 64 bytes
Reviewed-by: iveresov, phh, twisti
rev 2616 : 7079317: Incorrect branch's destination block in PrintoOptoAssembly output
Summary: save/restore label and block in scratch_emit_size()
Reviewed-by: never
rev 2614 : 7063629: use cbcond in C2 generated code on T4
Summary: Use new short branch instruction in C2 generated code.
Reviewed-by: never
rev 2612 : 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
rev 2605 : 7069452: Cleanup NodeFlags
Summary: Remove flags which duplicate information in Node::NodeClasses.
Reviewed-by: never
rev 2602 : 7063628: Use cbcond on T4
Summary: Add new short branch instruction to Hotspot sparc assembler.
Reviewed-by: never, twisti, jrose
rev 1915 : 6961690: load oops from constant table on SPARC
Summary: oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by: never, kvn
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1461 : 6953576: bottom_type for matched AddPNodes doesn't always agree with ideal
Reviewed-by: kvn
rev 1396 : 6946040: add intrinsic for short and char reverseBytes
Reviewed-by: never, twisti
Contributed-by: Hiroshi Yamauchi <yamauchi@google.com>
rev 986 : 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
rev 855 : 6857159: local schedule failed with checkcast of Thread.currentThread()
Reviewed-by: kvn
rev 681 : 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
rev 628 : Merge
rev 624 : 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
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 603 : 6778669: Patch from Red Hat -- fixes compilation errors
Summary: Some fixes which are required to build on recent GCCs.
Reviewed-by: never, kvn
Contributed-by: langel@redhat.com
rev 602 : 6810855: KILL vs. TEMP ordering restrictions are too strong
Reviewed-by: kvn
rev 599 : 6805427: adlc compiler may generate incorrect machnode emission code
Reviewed-by: kvn, twisti
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 558 : 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
rev 475 : 6771309: debugging AD files is difficult without #line directives in generated code
Summary: more and better #line and #define directives in the generated code; ADLC itself accepts #line directives
Reviewed-by: never, kvn
rev 420 : 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
rev 415 : 6754519: don't emit flag fixup for NaN when condition being tested doesn't need it
Reviewed-by: kvn, rasbold
rev 356 : Merge
rev 351 : Merge
rev 344 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 247 : 6723160: Nightly failure: Error: meet not symmetric
Summary: Add missing _instance_id settings and other EA fixes.
Reviewed-by: rasbold
rev 235 : Merge
rev 216 : 6715633: when matching a memory node the adr_type should not change
Summary: verify the adr_type of a mach node was not changed
Reviewed-by: rasbold, never
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 164 : 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
rev 113 : 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
rev 0 : Initial load
4 lines changed: 3 ins; 0 del; 1 mod; 4265 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/adlc/main.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 6760 : 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
rev 6220 : 8039045: PPC64: need include in adl generated files after 8001532
Reviewed-by: kvn
rev 6010 : Merge
rev 6003 : 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms
Summary: Add ConstantTableBase node edge after parameters and before jvms. Adapt jvms offsets.
Reviewed-by: kvn
rev 5994 : 8029015: PPC64 (part 216): opto: trap based null and range checks
Summary: On PPC64 use tdi instruction that does a compare and raises SIGTRAP for NULL and range checks.
Reviewed-by: kvn
rev 5976 : Merge
rev 5945 : 8016586: PPC64 (part 3): basic changes for PPC64
Summary: added #includes needed for ppc64 port. Renamed _MODEL_ppc to _MODEL_ppc_32 and renamed corresponding old _ppc files to _ppc_32.
Reviewed-by: dholmes, kvn
rev 5782 : 8022263: use same Clang warnings on BSD as on Linux
Reviewed-by: kvn, iveresov
rev 5179 : 8021954: VM SIGSEGV during classloading on MacOS; hs_err_pid file produced
Summary: declare all user-defined operator new()s within Hotspot code with the empty throw() exception specification
Reviewed-by: coleenp, twisti, dholmes, hseigel, dcubed, kvn, ccheung
Contributed-by: lois.foltan@oracle.com
rev 4565 : 8003853: specify offset of IC load in java_to_interp stub
Summary: refactored code to allow platform-specific differences
Reviewed-by: dlong, twisti
Contributed-by: Goetz Lindenmaier <goetz.lindenmaier@sap.com>
rev 3888 : 8003250: SPARC: move MacroAssembler into separate file
Reviewed-by: jrose, kvn
rev 3726 : 8000592: Improve adlc usability
Summary: several changes to adlc to improve its usability
Reviewed-by: kvn
Contributed-by: goetz.lindenmaier@sap.com
rev 3602 : 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>
rev 3447 : 7119644: Increase superword's vector size up to 256 bits
Summary: Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
rev 2273 : 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
rev 2248 : 7029017: Additional architecture support for c2 compiler
Summary: Enables cross building of a c2 VM. Support masking of shift counts when the processor architecture mandates it.
Reviewed-by: kvn, never
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 603 : 6778669: Patch from Red Hat -- fixes compilation errors
Summary: Some fixes which are required to build on recent GCCs.
Reviewed-by: never, kvn
Contributed-by: langel@redhat.com
rev 0 : Initial load
1 line changed: 1 ins; 0 del; 0 mod; 482 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/asm/assembler.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 6646 : 8044775: Improve usage of umbrella header atomic.inline.hpp.
Reviewed-by: stefank, kvn
rev 6413 : 8041415: remove port.{cpp,hpp} files
Summary: Hotspot should use standard headers and types
Reviewed-by: coleenp, kvn
rev 5776 : 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
rev 5637 : 8026775: nsk/jvmti/RedefineClasses/StressRedefine crashes due to EXCEPTION_ACCESS_VIOLATION
Summary: Uncommon trap blob did not bang all the stack shadow pages
Reviewed-by: kvn, twisti, iveresov, jrose
rev 4558 : 8011661: Insufficient memory message says "malloc" when sometimes it should say "mmap"
Reviewed-by: coleenp, zgu, hseigel
rev 4332 : 8008555: Debugging code in compiled method sometimes leaks memory
Summary: support for strings that have same life-time as code that uses them.
Reviewed-by: kvn, twisti
rev 3931 : 8004250: replace AbstractAssembler a_byte/a_long with emit_int8/emit_int32
Reviewed-by: jrose, kvn, twisti
Contributed-by: Morris Meyer <morris.meyer@oracle.com>
rev 3921 : 8004548: remove unused AbstractAssembler::print(Label&)
Reviewed-by: kvn, twisti
Contributed-by: Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com>
rev 3883 : 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
rev 3882 : 8003195: AbstractAssembler should not store code pointers but use the CodeSection directly
Reviewed-by: twisti, kvn
Contributed-by: Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com>
rev 3881 : 8003850: add support for constants in stub code
Summary: remember the code section and switch back to the proper one when adding constants.
Reviewed-by: twisti, kvn
Contributed-by: goetz.lindenmaier@sap.com
rev 3718 : 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
rev 3534 : 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>
rev 2960 : 7110832: ctw/.../org_apache_avalon_composition_util_StringHelper crashes the VM
Summary: Distance is too large for one short branch in string_indexofC8().
Reviewed-by: iveresov
rev 2273 : 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
rev 2073 : 7016023: Enable building ARM and PPC from src/closed repository
Reviewed-by: dholmes, bdelsart
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1410 : 6888954: argument formatting for assert() and friends
Reviewed-by: kvn, twisti, apetrusenko, never, dcubed
rev 844 : 6862919: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 07/09
Reviewed-by: tbell, ohair
rev 642 : 6791178: Specialize for zero as the compressed oop vm heap base
Summary: Use zero based compressed oops if java heap is below 32gb and unscaled compressed oops if java heap is below 4gb.
Reviewed-by: never, twisti, jcoomes, coleenp
rev 622 : 6812678: macro assembler needs delayed binding of a few constants (for 6655638)
Summary: minor assembler enhancements preparing for method handles
Reviewed-by: kvn
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 380 : Merge
rev 368 : 6747051: Improve code and implicit null check generation for compressed oops
Summary: Push DecodeN node below the Null check to the non-null path to use the mach node without 0 test.
Reviewed-by: rasbold, never
rev 337 : 6754988: Update copyright year
Summary: Update for files that have been modified starting July 2008
Reviewed-by: ohair, tbell
rev 237 : 6716785: implicit null checks not triggering with CompressedOops
Summary: allocate alignment-sized page(s) below java heap so that memory accesses at heap_base+1page give signal and cause an implicit null check
Reviewed-by: kvn, jmasa, phh, jcoomes
rev 0 : Initial load
2 lines changed: 1 ins; 0 del; 1 mod; 315 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/c1/c1_LIR.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8290 : 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
Summary: Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.
Reviewed-by: kvn, roland, dlong, enevill, shade
rev 7983 : 8072383: resolve conflicts between open and closed ports
Summary: refactor close to remove references to closed ports
Reviewed-by: kvn, simonis, dholmes
rev 7960 : Merge
rev 7949 : 8073154: NULL-pointer dereferencing in LIR_OpProfileType::print_instr
Reviewed-by: iveresov
rev 7890 : Merge
rev 7877 : 8064611: AARCH64: Changes to HotSpot shared code
Summary: Everything except cpu/ and os_cpu/
Reviewed-by: dholmes, goetz, dlong, coleenp, kvn
rev 7844 : 8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov
rev 6492 : 8031475: Missing oopmap in patching stubs
Summary: Add patch test for lir_checkcast in compute_oop_map
Reviewed-by: roland, twisti
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 5559 : 8026495: JVM Crashes when started with -XX:+DTraceMethodProbes on Solaris x86_64
Summary: Fix wrong calling convention in LIR_Assembler::emit_unwind_handler(), T_METADATA support in calling convention generator, C1 register allocator
Reviewed-by: twisti, jrose
rev 5479 : 8023657: New type profiling points: arguments to call
Summary: x86 interpreter and c1 type profiling for arguments at calls
Reviewed-by: kvn, twisti
rev 4918 : 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
rev 4855 : 8002160: Compilation issue with adlc using latest SunStudio compilers
Summary: modify declaration of 'swap' overloading; dodge optimizer bug in c1_LIR.cpp
Reviewed-by: kvn, jrose
rev 4512 : 8011648: C1: optimized build is broken after 7153771
Summary: missing #ifdef ASSERT
Reviewed-by: kvn
rev 4425 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>
rev 4190 : 8005722: Assert in c1_LIR.hpp incorrect wrt to number of register operands
Summary: In LIR_OpVisitState::visit() the receiver operand is processed twice
Reviewed-by: roland, vladidan
rev 4030 : 7102489: RFE: cleanup jlong typedef on __APPLE__and _LLP64 systems.
Summary: Define jlong as long on all LP64 platforms and add JLONG_FORMAT macro.
Reviewed-by: dholmes, coleenp, mikael, kvn
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3616 : 7195816: NPG: Crash in c1_ValueType - ShouldNotReachHere
Summary: C1 needs knowledge of T_METADATA at the LIR level.
Reviewed-by: kvn, coleenp
rev 3602 : 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>
rev 3352 : 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
rev 3157 : 7120481: storeStore barrier in constructor with final field
Summary: Issue storestore barrier before constructor return if the constructor write final field.
Reviewed-by: dholmes, jrose, roland, coleenp
Contributed-by: Jiangli Zhou <jiangli.zhou@oracle.com>
rev 2959 : 7123253: C1: in store check code, usage of registers may be incorrect
Summary: fix usage of input register in assembly code for store check.
Reviewed-by: never
rev 2718 : 7091764: Tiered: enable aastore profiling
Summary: Turn on aastore profiling
Reviewed-by: jrose, twisti
rev 2706 : 7057978: improve robustness of c1 ARM back-end wrt non encodable constants
Summary: ARM only, avoid assertion failures for huge constants generated by C1 shared code
Reviewed-by: never, vladidan
rev 2053 : 7008809: should report the class in ArrayStoreExceptions from compiled code
Reviewed-by: iveresov, twisti
rev 1909 : 6985015: C1 needs to support compressed oops
Summary: This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.
Reviewed-by: twisti, kvn, never, phh
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1739 : 6986046: C1 valuestack cleanup
Summary: fixes an historical oddity in C1 with inlining where all of the expression stacks are kept in the topmost ValueStack instead of being in their respective ValueStacks.
Reviewed-by: never
Contributed-by: Christian Wimmer <cwimmer@uci.edu>
rev 1736 : 6972540: sun/nio/ch/SocketChannelImpl compilation crashed when executing CompileTheWorld
Reviewed-by: kvn
rev 1711 : 6919069: client compiler needs to capture more profile information for tiered work
Summary: Added profiling of instanceof and aastore.
Reviewed-by: kvn, jrose, never
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1601 : 6953477: Increase portability and flexibility of building Hotspot
Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.
Reviewed-by: phh, never, coleenp, dholmes
rev 1499 : Merge
rev 1484 : 6930772: JSR 292 needs to support SPARC C1
Summary: C1 for SPARC needs to support JSR 292.
Reviewed-by: never, jrose
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1378 : 6939930: exception unwind changes in 6919934 hurts compilation speed
Reviewed-by: twisti
rev 1301 : 6934966: JSR 292 add C1 logic for saved SP over MethodHandle calls
Summary: The logic for x86 C1 to save the SP over MH calls is pretty straight forward but SPARC handles that differently.
Reviewed-by: never, jrose
rev 1297 : 6932496: c1: deoptimization of jsr subroutine fails on sparcv9
Summary: store jsr ret bci as intptr constant in c1 debug info
Reviewed-by: never
rev 1295 : 6919934: JSR 292 needs to support x86 C1
Summary: This implements JSR 292 support for C1 x86.
Reviewed-by: never, jrose, kvn
rev 953 : 6855215: Calculation error (NaN) after about 1500 calculations
Reviewed-by: kvn
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 29 : 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
rev 0 : Initial load
21 lines changed: 21 ins; 0 del; 0 mod; 2148 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/c1/c1_LIR.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8290 : 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
Summary: Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.
Reviewed-by: kvn, roland, dlong, enevill, shade
rev 7983 : 8072383: resolve conflicts between open and closed ports
Summary: refactor close to remove references to closed ports
Reviewed-by: kvn, simonis, dholmes
rev 7890 : Merge
rev 7877 : 8064611: AARCH64: Changes to HotSpot shared code
Summary: Everything except cpu/ and os_cpu/
Reviewed-by: dholmes, goetz, dlong, coleenp, kvn
rev 7844 : 8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov
rev 6492 : 8031475: Missing oopmap in patching stubs
Summary: Add patch test for lir_checkcast in compute_oop_map
Reviewed-by: roland, twisti
rev 5479 : 8023657: New type profiling points: arguments to call
Summary: x86 interpreter and c1 type profiling for arguments at calls
Reviewed-by: kvn, twisti
rev 5193 : 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
Summary: Do patching rather bailing out for unlinked call with appendix
Reviewed-by: twisti, kvn
rev 4918 : 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
rev 4512 : 8011648: C1: optimized build is broken after 7153771
Summary: missing #ifdef ASSERT
Reviewed-by: kvn
rev 4425 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>
rev 4286 : 8006498: #if <symbol> is wrong in the code.
Summary: ASSERT and other symbols used incorrectly with #if are supposed to be defined or not.
Reviewed-by: dholmes, mikael
rev 3969 : 8004051: assert(_oprs_len[mode] < maxNumberOfOperands) failed: array overflow
Summary: assert is triggered when number of register based arguments passed to a java method exceeds 16.
Reviewed-by: roland, vladidan
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3616 : 7195816: NPG: Crash in c1_ValueType - ShouldNotReachHere
Summary: C1 needs knowledge of T_METADATA at the LIR level.
Reviewed-by: kvn, coleenp
rev 3602 : 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>
rev 3534 : 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>
rev 3352 : 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
rev 3157 : 7120481: storeStore barrier in constructor with final field
Summary: Issue storestore barrier before constructor return if the constructor write final field.
Reviewed-by: dholmes, jrose, roland, coleenp
Contributed-by: Jiangli Zhou <jiangli.zhou@oracle.com>
rev 3008 : 7131028: Switch statement takes wrong path
Summary: Pass correct type to branch in LIRGenerator::do_SwitchRanges()
Reviewed-by: kvn, never
rev 2718 : 7091764: Tiered: enable aastore profiling
Summary: Turn on aastore profiling
Reviewed-by: jrose, twisti
rev 2293 : 7033154: Improve C1 arraycopy performance
Summary: better static analysis. Take advantage of array copy stubs.
Reviewed-by: never
rev 2204 : 7012648: move JSR 292 to package java.lang.invoke and adjust names
Summary: package and class renaming only; delete unused methods and classes
Reviewed-by: twisti
rev 1977 : 7009231: C1: Incorrect CAS code for longs on SPARC 32bit
Summary: Fix CAS of longs on SPARC 32bit and cmove on SPARC 64bit.
Reviewed-by: kvn
rev 1909 : 6985015: C1 needs to support compressed oops
Summary: This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.
Reviewed-by: twisti, kvn, never, phh
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1736 : 6972540: sun/nio/ch/SocketChannelImpl compilation crashed when executing CompileTheWorld
Reviewed-by: kvn
rev 1711 : 6919069: client compiler needs to capture more profile information for tiered work
Summary: Added profiling of instanceof and aastore.
Reviewed-by: kvn, jrose, never
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1601 : 6953477: Increase portability and flexibility of building Hotspot
Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.
Reviewed-by: phh, never, coleenp, dholmes
rev 1499 : Merge
rev 1492 : 6955349: C1: Make G1 barriers work with x64
Summary: This fixes G1 barriers in c1 on x64.
Reviewed-by: never
rev 1484 : 6930772: JSR 292 needs to support SPARC C1
Summary: C1 for SPARC needs to support JSR 292.
Reviewed-by: never, jrose
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1427 : 6939134: JSR 292 adjustments to method handle invocation
Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces
Reviewed-by: twisti
rev 1378 : 6939930: exception unwind changes in 6919934 hurts compilation speed
Reviewed-by: twisti
rev 1297 : 6932496: c1: deoptimization of jsr subroutine fails on sparcv9
Summary: store jsr ret bci as intptr constant in c1 debug info
Reviewed-by: never
rev 1295 : 6919934: JSR 292 needs to support x86 C1
Summary: This implements JSR 292 support for C1 x86.
Reviewed-by: never, jrose, kvn
rev 1175 : 6879943: CTW failure jdk6_18/hotspot/src/share/vm/c1/c1_LIR.hpp:2029
Reviewed-by: kvn, cfang
rev 953 : 6855215: Calculation error (NaN) after about 1500 calculations
Reviewed-by: kvn
rev 337 : 6754988: Update copyright year
Summary: Update for files that have been modified starting July 2008
Reviewed-by: ohair, tbell
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 0 : Initial load
24 lines changed: 24 ins; 0 del; 0 mod; 2509 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/c1/c1_LIRAssembler.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 7890 : Merge
rev 7877 : 8064611: AARCH64: Changes to HotSpot shared code
Summary: Everything except cpu/ and os_cpu/
Reviewed-by: dholmes, goetz, dlong, coleenp, kvn
rev 7844 : 8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov
rev 6492 : 8031475: Missing oopmap in patching stubs
Summary: Add patch test for lir_checkcast in compute_oop_map
Reviewed-by: roland, twisti
rev 6307 : 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.
Reviewed-by: twisti, kvn
rev 5479 : 8023657: New type profiling points: arguments to call
Summary: x86 interpreter and c1 type profiling for arguments at calls
Reviewed-by: kvn, twisti
rev 5193 : 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
Summary: Do patching rather bailing out for unlinked call with appendix
Reviewed-by: twisti, kvn
rev 4918 : 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
rev 4425 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3602 : 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>
rev 3157 : 7120481: storeStore barrier in constructor with final field
Summary: Issue storestore barrier before constructor return if the constructor write final field.
Reviewed-by: dholmes, jrose, roland, coleenp
Contributed-by: Jiangli Zhou <jiangli.zhou@oracle.com>
rev 2664 : 7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn
rev 2273 : 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
rev 2073 : 7016023: Enable building ARM and PPC from src/closed repository
Reviewed-by: dholmes, bdelsart
rev 1977 : 7009231: C1: Incorrect CAS code for longs on SPARC 32bit
Summary: Fix CAS of longs on SPARC 32bit and cmove on SPARC 64bit.
Reviewed-by: kvn
rev 1909 : 6985015: C1 needs to support compressed oops
Summary: This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.
Reviewed-by: twisti, kvn, never, phh
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1711 : 6919069: client compiler needs to capture more profile information for tiered work
Summary: Added profiling of instanceof and aastore.
Reviewed-by: kvn, jrose, never
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1499 : Merge
rev 1484 : 6930772: JSR 292 needs to support SPARC C1
Summary: C1 for SPARC needs to support JSR 292.
Reviewed-by: never, jrose
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1378 : 6939930: exception unwind changes in 6919934 hurts compilation speed
Reviewed-by: twisti
rev 1301 : 6934966: JSR 292 add C1 logic for saved SP over MethodHandle calls
Summary: The logic for x86 C1 to save the SP over MH calls is pretty straight forward but SPARC handles that differently.
Reviewed-by: never, jrose
rev 1295 : 6919934: JSR 292 needs to support x86 C1
Summary: This implements JSR 292 support for C1 x86.
Reviewed-by: never, jrose, kvn
rev 1204 : 6921352: JSR 292 needs its own deopt handler
Summary: We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.
Reviewed-by: never, jrose
rev 1201 : 6921339: backout 6917766
Reviewed-by: mr
rev 1200 : 6917766: JSR 292 needs its own deopt handler
Summary: We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.
Reviewed-by: never, jrose
rev 380 : Merge
rev 362 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 337 : 6754988: Update copyright year
Summary: Update for files that have been modified starting July 2008
Reviewed-by: ohair, tbell
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 0 : Initial load
1 line changed: 1 ins; 0 del; 0 mod; 280 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/c1/c1_LIRGenerator.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8925 : 8072817: CardTableExtension kind() should be BarrierSet::CardTableExtension
Summary: Use BarrierSet::CardTableForRS where needed, and update concrete bs tags.
Reviewed-by: jwilhelm, jmasa
rev 8683 : 8071731: Better scaling for C1
Reviewed-by: kvn, iveresov
rev 8567 : 8079315: UseCondCardMark broken in conjunction with CMS precleaning on x86
Summary: Add the necessary StoreLoad barrier in interpreter, C1 and C2 for x86
Reviewed-by: tschatzl
rev 8444 : 8080627: JavaThread::satb_mark_queue_offset() is too big for an ARM ldrsb instruction
Reviewed-by: roland, kbarrett
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8290 : 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
Summary: Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.
Reviewed-by: kvn, roland, dlong, enevill, shade
rev 8287 : 8076987: C1 should support conditional card marks (UseCondCardMark)
Reviewed-by: iveresov, roland
rev 8030 : 8067891: Remove vestigal G1SATBCT barrier set kind
Summary: Remove all case statements specifying G1SATBCT
Reviewed-by: tschatzl, kbarrett
rev 7983 : 8072383: resolve conflicts between open and closed ports
Summary: refactor close to remove references to closed ports
Reviewed-by: kvn, simonis, dholmes
rev 7923 : 8069016: Add BarrierSet downcast support
Summary: Add FakeRttiSupport utility and use to provide barrier_set_cast.
Reviewed-by: jmasa, sangheki
rev 7866 : Merge
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7844 : 8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov
rev 7795 : 8071805: BarrierSet::Other is not used and should be removed.
Summary: Remove all occurences of BarrierSet::Other because the barrier set kind is never set to Other.
Reviewed-by: tschatzl, kbarrett
rev 7740 : 8059606: Enable per-method usage of CompileThresholdScaling (per-method compilation thresholds)
Summary: Changed interpreter and compilation policies to allow using CompileThresholdScaling on a per-method level
Reviewed-by: jrose, kvn
rev 7199 : 8059621: JVM crashes with "unexpected index type" assert in LIRGenerator::do_UnsafeGetRaw
Summary: Get types from LIR instructions instead of HIR
Reviewed-by: kvn
rev 7104 : 8058744: Crash in C1 OSRed method w/ Unsafe usage
Summary: Fix UnsafeRawOp optimizations
Reviewed-by: kvn, drchase, vlivanov
rev 6760 : 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
rev 6556 : 8031994: java/lang/Character/CheckProp test times out
Reviewed-by: iveresov, roland
rev 6430 : 8032463: VirtualDispatch test timeout with DeoptimizeALot
Summary: Introduce code aging for warm method detection
Reviewed-by: kvn, twisti
rev 6364 : 8041481: JVM crashes with collect_args_for_profiling
Summary: method handle call to c1 intrinsic tries to profile popped argument
Reviewed-by: kvn, twisti
rev 6320 : 8039975: SIGSEGV in MethodData::next_data(ProfileData*)
Summary: profiling code in interpreter broken when argument profiling is off.
Reviewed-by: iveresov, kvn
rev 6177 : 8037140: C1: Incorrect argument type used for SharedRuntime::OSR_migration_end in LIRGenerator::do_Goto
Summary: Fix the type of osrBuffer parameter to depend on bitness
Reviewed-by: kvn, twisti
rev 6086 : 8033380: Experimental VM flag to enforce access atomicity
Summary: -XX:+AlwaysAtomicAccesses to unconditionally enforce the access atomicity.
Reviewed-by: roland, kvn, iveresov
rev 5815 : 8026253: New type profiling points: sparc support
Summary: c1 and interpreter support for new type profiling on sparc
Reviewed-by: kvn, twisti
rev 5668 : 8027631: "unexpected profiling mismatch" error with new type profiling
Summary: inlined method handle calls can call methods with different signatures
Reviewed-by: kvn, iveresov
rev 5559 : 8026495: JVM Crashes when started with -XX:+DTraceMethodProbes on Solaris x86_64
Summary: Fix wrong calling convention in LIR_Assembler::emit_unwind_handler(), T_METADATA support in calling convention generator, C1 register allocator
Reviewed-by: twisti, jrose
rev 5552 : 8026251: New type profiling points: parameters to methods
Summary: x86 interpreter and c1 type profiling for parameters on method entries
Reviewed-by: kvn, twisti
rev 5545 : 8008242: VerifyOops is broken on SPARC
Summary: Fixed displacement issues in SPARC macroassembler and ensure that getClass intrinsic temporary result is T_METADATA
Reviewed-by: kvn, twisti
rev 5486 : 8026054: New type profiling points: type of return values at calls
Summary: x86 interpreter and c1 type profiling for return values at calls
Reviewed-by: kvn, twisti
rev 5479 : 8023657: New type profiling points: arguments to call
Summary: x86 interpreter and c1 type profiling for arguments at calls
Reviewed-by: kvn, twisti
rev 5472 : 8025566: EXCEPTION_ACCESS_VIOLATION in compiled by C1 String.valueOf method
Reviewed-by: kvn
rev 5051 : 8016474: Crash in sun.reflect.UnsafeObjectFieldAccessorImpl.get
Summary: C1's GetUnsafeObject G1 pre-barrier uses the wrong type to read the klass pointer.
Reviewed-by: iveresov, kvn
rev 4918 : 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
rev 4794 : 8010724: [parfait] Null pointer dereference in hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
Summary: added guarantee()
Reviewed-by: kvn
rev 4519 : Merge
rev 4512 : 8011648: C1: optimized build is broken after 7153771
Summary: missing #ifdef ASSERT
Reviewed-by: kvn
rev 4503 : Merge
rev 4501 : 8010862: The Method counter fields used for profiling can be allocated lazily.
Summary: Allocate the method's profiling related metadata until they are needed.
Reviewed-by: coleenp, roland
rev 4456 : Merge
rev 4454 : 8003310: Enable -Wunused-function when compiling with gcc
Summary: Add the -Wunused-function flag and remove a number of unused functions.
Reviewed-by: dholmes, coleenp, kvn
rev 4434 : 8010934: assert failure in c1_LinearScan.cpp: "asumption: non-Constant instructions have only virtual operands"
Summary: incorrect code to skip some ArrayLength instructions in LIRGenerator
Reviewed-by: kvn
rev 4425 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>
rev 4107 : 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
rev 3926 : 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>
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3616 : 7195816: NPG: Crash in c1_ValueType - ShouldNotReachHere
Summary: C1 needs knowledge of T_METADATA at the LIR level.
Reviewed-by: kvn, coleenp
rev 3608 : 7195935: NPG: Some issues with compressed oops
Summary: Don't decompress the klass pointer in the G1 pre-barrier code when !UseCompressedKlassPointers
Reviewed-by: coleenp, brutisso
rev 3602 : 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>
rev 3568 : 7192167: JSR 292: C1 has old broken code which needs to be removed
Reviewed-by: kvn, roland, jrose
rev 3567 : 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
rev 3534 : 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>
rev 3413 : 7174928: JSR 292: unresolved invokedynamic call sites deopt and osr infinitely
Reviewed-by: kvn
rev 3411 : 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
Contributed-by: Krystal Mok <sajia@taobao.com>
rev 3403 : 7171890: C1: add Class.isInstance intrinsic
Summary: Class.cast which calls Class.isInstance is heavily used by the new JSR 292 implementation
Reviewed-by: roland
Contributed-by: Krystal Mok <rednaxelafx@gmail.com>
rev 3352 : 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
rev 3274 : 7160570: Intrinsification support for tracing framework
Reviewed-by: sla, never
rev 3157 : 7120481: storeStore barrier in constructor with final field
Summary: Issue storestore barrier before constructor return if the constructor write final field.
Reviewed-by: dholmes, jrose, roland, coleenp
Contributed-by: Jiangli Zhou <jiangli.zhou@oracle.com>
rev 3008 : 7131028: Switch statement takes wrong path
Summary: Pass correct type to branch in LIRGenerator::do_SwitchRanges()
Reviewed-by: kvn, never
rev 2956 : 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
rev 2877 : 7112085: assert(fr.interpreter_frame_expression_stack_size()==0) failed: only handle empty stacks
Summary: Move the inlinee invoke notification callback into inlinee preamble
Reviewed-by: kvn, never
rev 2758 : 7097679: Tiered: events with bad bci to Gotos reduced from Ifs
Summary: Save bci of instruction that produced Goto and use it to call back to runtime
Reviewed-by: kvn, never
rev 2725 : 7096639: Tiered: Incorrect counter overflow handling for inlined methods
Summary: Enable invocation events for inlinees
Reviewed-by: kvn
rev 2518 : 7053520: JSR292: crash in invokedynamic with C1 using tiered and compressed oops
Reviewed-by: iveresov, never
rev 2352 : Merge
rev 2351 : 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
rev 2346 : 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
rev 2311 : 7034967: C1: assert(false) failed: error (assembler_sparc.cpp:2043)
Summary: Fix -XX:+VerifyOops
Reviewed-by: kvn, never
rev 2293 : 7033154: Improve C1 arraycopy performance
Summary: better static analysis. Take advantage of array copy stubs.
Reviewed-by: never
rev 2204 : 7012648: move JSR 292 to package java.lang.invoke and adjust names
Summary: package and class renaming only; delete unused methods and classes
Reviewed-by: twisti
rev 2199 : 6965570: assert(!needs_patching && x->is_loaded(),"how do we know it's volatile if it's not loaded")
Reviewed-by: iveresov
rev 2052 : Merge
rev 2051 : 6809483: hotspot:::method_entry are not correctly generated for "method()V"
Reviewed-by: iveresov, twisti
rev 2009 : Merge
rev 2008 : 7010665: Misplaced membar in C1 implementation of Unsafe.get/putXXX
Summary: Modify membars to match regular volatile variable handling
Reviewed-by: iveresov, kvn, never
rev 1977 : 7009231: C1: Incorrect CAS code for longs on SPARC 32bit
Summary: Fix CAS of longs on SPARC 32bit and cmove on SPARC 64bit.
Reviewed-by: kvn
rev 1914 : 7003554: (tiered) assert(is_null_object() || handle() != NULL) failed: cannot embed null pointer
Summary: C1 with profiling doesn't check whether the MDO has been really allocated, which can silently fail if the perm gen is full. The solution is to check if the allocation failed and bailout out of inlining or compilation.
Reviewed-by: kvn, never
rev 1909 : 6985015: C1 needs to support compressed oops
Summary: This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.
Reviewed-by: twisti, kvn, never, phh
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1793 : 6992477: fix for 6991512 broke sparc barriers
Reviewed-by: kvn, iveresov
rev 1768 : 6991512: G1 barriers fail with 64bit C1
Summary: Fix compare-and-swap intrinsic problem with G1 post-barriers and issue with branch ranges in G1 stubs on sparc
Reviewed-by: never, kvn
rev 1745 : 6988346: 6986046 breaks tiered
Summary: adjusted profiling code generation to use the new ValueStack implementation; lowered optimization level for c1_LinearScan.cpp on solaris x64.
Reviewed-by: kvn, never
rev 1739 : 6986046: C1 valuestack cleanup
Summary: fixes an historical oddity in C1 with inlining where all of the expression stacks are kept in the topmost ValueStack instead of being in their respective ValueStacks.
Reviewed-by: never
Contributed-by: Christian Wimmer <cwimmer@uci.edu>
rev 1736 : 6972540: sun/nio/ch/SocketChannelImpl compilation crashed when executing CompileTheWorld
Reviewed-by: kvn
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1601 : 6953477: Increase portability and flexibility of building Hotspot
Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.
Reviewed-by: phh, never, coleenp, dholmes
rev 1504 : 6958292: C1: Enable parallel compilation
Summary: Enable parallel compilation in C1
Reviewed-by: never, kvn
rev 1499 : Merge
rev 1492 : 6955349: C1: Make G1 barriers work with x64
Summary: This fixes G1 barriers in c1 on x64.
Reviewed-by: never
rev 1484 : 6930772: JSR 292 needs to support SPARC C1
Summary: C1 for SPARC needs to support JSR 292.
Reviewed-by: never, jrose
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1378 : 6939930: exception unwind changes in 6919934 hurts compilation speed
Reviewed-by: twisti
rev 1304 : 6932091: JSR 292 x86 code cleanup
Summary: Some code cleanups found during the JSR 292 SPARC port.
Reviewed-by: kvn, never
rev 1295 : 6919934: JSR 292 needs to support x86 C1
Summary: This implements JSR 292 support for C1 x86.
Reviewed-by: never, jrose, kvn
rev 1213 : 6902182: 4/4 Starting with jdwp agent should not incur performance penalty
Summary: Rename can_post_exceptions support to can_post_on_exceptions. Add support for should_post_on_exceptions flag to permit per JavaThread optimizations.
Reviewed-by: never, kvn, dcubed
Contributed-by: tom.deneau@amd.com
rev 1060 : 6769124: various 64-bit fixes for c1
Reviewed-by: never
rev 989 : 6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
rev 819 : 6849574: VM crash using NonBlockingHashMap (high_scale_lib)
Reviewed-by: kvn
rev 780 : 6788527: Server vm intermittently fails with assertion "live value must not be garbage" with fastdebug bits
Summary: Cache Jvmti and DTrace flags used by Compiler.
Reviewed-by: never
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 486 : 6757316: load_constant() produces a wrong long constant, with high a low words swapped
Reviewed-by: rasbold, jrose, kvn
rev 380 : Merge
rev 362 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 337 : 6754988: Update copyright year
Summary: Update for files that have been modified starting July 2008
Reviewed-by: ohair, tbell
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 0 : Initial load
88 lines changed: 70 ins; 2 del; 16 mod; 3653 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/c1/c1_LIRGenerator.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 7983 : 8072383: resolve conflicts between open and closed ports
Summary: refactor close to remove references to closed ports
Reviewed-by: kvn, simonis, dholmes
rev 7844 : 8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov
rev 6556 : 8031994: java/lang/Character/CheckProp test times out
Reviewed-by: iveresov, roland
rev 6430 : 8032463: VirtualDispatch test timeout with DeoptimizeALot
Summary: Introduce code aging for warm method detection
Reviewed-by: kvn, twisti
rev 5668 : 8027631: "unexpected profiling mismatch" error with new type profiling
Summary: inlined method handle calls can call methods with different signatures
Reviewed-by: kvn, iveresov
rev 5552 : 8026251: New type profiling points: parameters to methods
Summary: x86 interpreter and c1 type profiling for parameters on method entries
Reviewed-by: kvn, twisti
rev 5486 : 8026054: New type profiling points: type of return values at calls
Summary: x86 interpreter and c1 type profiling for return values at calls
Reviewed-by: kvn, twisti
rev 5479 : 8023657: New type profiling points: arguments to call
Summary: x86 interpreter and c1 type profiling for arguments at calls
Reviewed-by: kvn, twisti
rev 4918 : 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
rev 4512 : 8011648: C1: optimized build is broken after 7153771
Summary: missing #ifdef ASSERT
Reviewed-by: kvn
rev 4425 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3602 : 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>
rev 3534 : 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>
rev 3411 : 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
Contributed-by: Krystal Mok <sajia@taobao.com>
rev 3403 : 7171890: C1: add Class.isInstance intrinsic
Summary: Class.cast which calls Class.isInstance is heavily used by the new JSR 292 implementation
Reviewed-by: roland
Contributed-by: Krystal Mok <rednaxelafx@gmail.com>
rev 3274 : 7160570: Intrinsification support for tracing framework
Reviewed-by: sla, never
rev 3157 : 7120481: storeStore barrier in constructor with final field
Summary: Issue storestore barrier before constructor return if the constructor write final field.
Reviewed-by: dholmes, jrose, roland, coleenp
Contributed-by: Jiangli Zhou <jiangli.zhou@oracle.com>
rev 2346 : 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
rev 2051 : 6809483: hotspot:::method_entry are not correctly generated for "method()V"
Reviewed-by: iveresov, twisti
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1601 : 6953477: Increase portability and flexibility of building Hotspot
Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.
Reviewed-by: phh, never, coleenp, dholmes
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 0 : Initial load
5 lines changed: 5 ins; 0 del; 0 mod; 639 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/c1/c1_Runtime1.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8666 : 8087333: Optionally Pre-Generate the HotSpot Template Interpreter
Summary: Optional support for pregenerated template interpreter
Reviewed-by: coleenp, dholmes, kvn
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8345 : 8064458: OopMap class could be more compact
Reviewed-by: kvn, bdelsart
rev 7983 : 8072383: resolve conflicts between open and closed ports
Summary: refactor close to remove references to closed ports
Reviewed-by: kvn, simonis, dholmes
rev 7877 : 8064611: AARCH64: Changes to HotSpot shared code
Summary: Everything except cpu/ and os_cpu/
Reviewed-by: dholmes, goetz, dlong, coleenp, kvn
rev 6906 : 8054224: Recursive method that was compiled by C1 is unable to catch StackOverflowError
Summary: do not update exception cache if exception is replaced when thrown
Reviewed-by: kvn, iveresov
rev 6761 : Merge
rev 6760 : 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
rev 6707 : 8049421: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
Contributed-by: stefan.karlsson@oracle.com, mikael.gerdin@oracle.com
rev 6706 : 8049420: Backout 8048248 to correct attribution
Reviewed-by: ehelin, brutisso
rev 6705 : 8048248: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
rev 6646 : 8044775: Improve usage of umbrella header atomic.inline.hpp.
Reviewed-by: stefank, kvn
rev 6567 : 8033145: Runtime1::arraycopy_count_address uses wrong _oop_arraycopy_cnt variable
Summary: The method Runtime1::arraycopy_count_address(..) returns the address of Runtime::_oop_arraycopy_cnt instead of the the file static variable _oop_arraycopy_cnt.
Reviewed-by: roland, kvn, twisti
rev 6430 : 8032463: VirtualDispatch test timeout with DeoptimizeALot
Summary: Introduce code aging for warm method detection
Reviewed-by: kvn, twisti
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6086 : 8033380: Experimental VM flag to enforce access atomicity
Summary: -XX:+AlwaysAtomicAccesses to unconditionally enforce the access atomicity.
Reviewed-by: roland, kvn, iveresov
rev 5480 : 8005173: assert(false) failed: DEBUG MESSAGE: exception oop must be empty (macroAssembler_x86.cpp:625)
Reviewed-by: kvn, iveresov
rev 5370 : Merge
rev 5369 : Merge
rev 5368 : 8024990: JT_JDK: 11 failures with SIGSEGV on arm-sflt platforms in nightly fastdebug build.
Summary: Enable patching for load_appendix_id.
Reviewed-by: kvn, dlong, bdelsart
rev 5349 : 7195622: CheckUnhandledOops has limited usefulness now
Summary: Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms.
Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin
Contributed-by: lois.foltan@oracle.com
rev 5297 : 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
rev 5193 : 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
Summary: Do patching rather bailing out for unlinked call with appendix
Reviewed-by: twisti, kvn
rev 5113 : 7145569: G1: optimize nmethods scanning
Summary: Add a list of nmethods to the RSet for a region that contain references into the region. Skip scanning the code cache during root scanning and scan the nmethod lists during RSet scanning instead.
Reviewed-by: tschatzl, brutisso, mgerdin, twisti, kvn
rev 4918 : 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
rev 4662 : 8003557: NPG: Klass* const k should be const Klass* k.
Summary: With NPG, const KlassOop klass which is in fact a definition converted to Klass* const, which is not the original intention. The right usage is converting them to const Klass*.
Reviewed-by: coleenp, kvn
Contributed-by: yumin.qi@oracle.com
rev 4425 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>
rev 3843 : 8001471: Klass::cast() does nothing
Summary: Remove function Klass::cast() and calls to it.
Reviewed-by: dholmes, coleenp
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3602 : 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>
rev 3403 : 7171890: C1: add Class.isInstance intrinsic
Summary: Class.cast which calls Class.isInstance is heavily used by the new JSR 292 implementation
Reviewed-by: roland
Contributed-by: Krystal Mok <rednaxelafx@gmail.com>
rev 3274 : 7160570: Intrinsification support for tracing framework
Reviewed-by: sla, never
rev 3064 : 7141200: log some interesting information in ring buffers for crashes
Reviewed-by: kvn, jrose, kevinw, brutisso, twisti, jmasa
rev 3017 : 7131259: compile_method and CompilationPolicy::event shouldn't be declared TRAPS
Summary: Make sure that CompilationPolicy::event() doesn't throw exceptions
Reviewed-by: kvn, never
rev 2809 : 7102657: JSR 292: C1 deoptimizes unlinked invokedynamic call sites infinitely
Reviewed-by: never, bdelsart
rev 2664 : 7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn
rev 2553 : 7057120: Tiered: Allow C1 to inline methods with loops
Summary: Recompile the enclosing methods without inlining of the method that has OSRed to level 4 or recompile the enclosing method at level 4.
Reviewed-by: kvn, never
rev 2366 : 7035861: linux-armsflt: assert(ni->data() == (int)(x + o)) failed: instructions must match
Summary: The change avoids generating relocation info entry for the staging area patching stub on systems that don't support movw/movt instructions
Reviewed-by: bdelsart
rev 2293 : 7033154: Improve C1 arraycopy performance
Summary: better static analysis. Take advantage of array copy stubs.
Reviewed-by: never
rev 2223 : 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
rev 2168 : 7012914: JSR 292 MethodHandlesTest C1: frame::verify_return_pc(return_address) failed: must be a return pc
Reviewed-by: never, bdelsart
rev 2053 : 7008809: should report the class in ArrayStoreExceptions from compiled code
Reviewed-by: iveresov, twisti
rev 2027 : 4926272: methodOopDesc::method_from_bcp is unsafe
Reviewed-by: coleenp, jrose, kvn, dcubed
rev 1909 : 6985015: C1 needs to support compressed oops
Summary: This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.
Reviewed-by: twisti, kvn, never, phh
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1825 : 6968367: can_post_on_exceptions is still using VM_DeoptimizeFrame in some places
Reviewed-by: kvn, twisti
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1668 : 6978355: renaming for 6961697
Summary: This is the renaming part of 6961697 to keep the actual changes small for review.
Reviewed-by: kvn, never
rev 1601 : 6953477: Increase portability and flexibility of building Hotspot
Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.
Reviewed-by: phh, never, coleenp, dholmes
rev 1523 : 6730276: JDI_REGRESSION tests fail with "Error: count must be non-zero" error on x86
Summary: Modify assembler code to check for 0 count for all copy routines.
Reviewed-by: never, ysr, jcoomes
rev 1522 : 6939203: JSR 292 needs method handle constants
Summary: Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode.
Reviewed-by: twisti, never
rev 1504 : 6958292: C1: Enable parallel compilation
Summary: Enable parallel compilation in C1
Reviewed-by: never, kvn
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1247 : Merge
rev 1245 : 6904516: More object array barrier fixes, following up on 6906727
Summary: Fixed missing pre-barrier calls for G1, modified C1 to call pre- and correct post-barrier interfaces, deleted obsolete interface, (temporarily) disabled redundant deferred barrier in BacktraceBuilder.
Reviewed-by: coleenp, jmasa, kvn, never
rev 1213 : 6902182: 4/4 Starting with jdwp agent should not incur performance penalty
Summary: Rename can_post_exceptions support to can_post_on_exceptions. Add support for should_post_on_exceptions flag to permit per JavaThread optimizations.
Reviewed-by: never, kvn, dcubed
Contributed-by: tom.deneau@amd.com
rev 1142 : 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 485 : 6767587: missing call to make_not_entrant after deoptimizing for patching volatiles
Reviewed-by: rasbold, kvn
rev 362 : Merge
rev 356 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 304 : 5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 113 : 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
rev 0 : Initial load
9 lines changed: 7 ins; 0 del; 2 mod; 1563 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/c1/c1_Runtime1.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 6430 : 8032463: VirtualDispatch test timeout with DeoptimizeALot
Summary: Introduce code aging for warm method detection
Reviewed-by: kvn, twisti
rev 5776 : 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
rev 5193 : 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
Summary: Do patching rather bailing out for unlinked call with appendix
Reviewed-by: twisti, kvn
rev 4425 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>
rev 3602 : 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>
rev 3403 : 7171890: C1: add Class.isInstance intrinsic
Summary: Class.cast which calls Class.isInstance is heavily used by the new JSR 292 implementation
Reviewed-by: roland
Contributed-by: Krystal Mok <rednaxelafx@gmail.com>
rev 2809 : 7102657: JSR 292: C1 deoptimizes unlinked invokedynamic call sites infinitely
Reviewed-by: never, bdelsart
rev 2664 : 7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn
rev 2293 : 7033154: Improve C1 arraycopy performance
Summary: better static analysis. Take advantage of array copy stubs.
Reviewed-by: never
rev 2168 : 7012914: JSR 292 MethodHandlesTest C1: frame::verify_return_pc(return_address) failed: must be a return pc
Reviewed-by: never, bdelsart
rev 2053 : 7008809: should report the class in ArrayStoreExceptions from compiled code
Reviewed-by: iveresov, twisti
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1668 : 6978355: renaming for 6961697
Summary: This is the renaming part of 6961697 to keep the actual changes small for review.
Reviewed-by: kvn, never
rev 1601 : 6953477: Increase portability and flexibility of building Hotspot
Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.
Reviewed-by: phh, never, coleenp, dholmes
rev 1504 : 6958292: C1: Enable parallel compilation
Summary: Enable parallel compilation in C1
Reviewed-by: never, kvn
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 0 : Initial load
1 line changed: 1 ins; 0 del; 0 mod; 201 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/ci/ciInstanceKlass.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8620 : 8087218: Constant fold loads from final instance fields in VM anonymous classes
Reviewed-by: jrose, rbackman
rev 8484 : 8079205: CallSite dependency tracking is broken after sun.misc.Cleaner became automatically cleared
Reviewed-by: roland, psandoz, plevart, kbarrett, jrose
rev 7823 : 8071821: Assert failed in UnexpectedDeoptimizationTest.java
Summary: assert fires in case of concurrent initialization of ciInstanceKlass::_has_injected_fields
Reviewed-by: kvn
rev 7646 : 6700100: optimize inline_native_clone() for small objects with exact klass
Summary: optimize small instance clones as loads/stores
Reviewed-by: kvn, iveresov
rev 7073 : 8058452: ciInstanceKlass::non_static_fields() can be removed
Summary: ciInstanceKlass::non_static_fields() and all associated data structures can be removed since they are unused.
Reviewed-by: kvn, thartmann
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 5615 : 8026735: Stream tests throw java.lang.IncompatibleClassChangeError
Summary: Put a band-aid to disable CHA-based inlining for interfaces with default methods in C1
Reviewed-by: kvn, twisti
rev 5469 : 8024943: ciReplay: fails to dump replay data during safepointing
Reviewed-by: kvn, twisti
rev 5297 : 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
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 4096 : 8006410: allocating without ResourceMark when CompileCommand was specified
Reviewed-by: kvn, vlivanov
Contributed-by: Igor Ignatyev <igor.ignatyev@oracle.com>
rev 3832 : 6830717: replay of compilations would help with debugging
Summary: When java process crashed in compiler thread, repeat the compilation process will help finding root cause. This is done with using SA dump application class data and replay data from core dump, then use debug version of jvm to recompile the problematic java method.
Reviewed-by: kvn, twisti, sspitsyn
Contributed-by: yumin.qi@oracle.com
rev 3602 : 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>
rev 3266 : 7154670: The instanceKlass _implementors[] and _nof_implementors are not needed for non-interface klass.
Summary: Change implementor to embedded instanceKlass field.
Reviewed-by: sspitsyn, minqi, coleenp
rev 2933 : 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>
rev 2702 : 7086585: make Java field injection more flexible
Reviewed-by: jrose, twisti, kvn, coleenp
rev 2223 : 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
rev 2116 : 6354181: nsk.logging.stress.threads.scmhml001 fails assertion in "src/share/vm/oops/instanceKlass.cpp, 111"
Reviewed-by: jrose, acorn
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1844 : 6839891: Array overrun in vm ci
Summary: fix index check
Reviewed-by: never
rev 1766 : 6829194: JSR 292 needs to support compressed oops
Reviewed-by: kvn, jrose
rev 1605 : 6973963: SEGV in ciBlock::start_bci() with EA
Summary: Added more checks into ResourceObj and growableArray to verify correctness of allocation type.
Reviewed-by: never, coleenp, dholmes
rev 1565 : 6958668: repeated uncommon trapping for new of klass which is being initialized
Reviewed-by: kvn, jrose
rev 1524 : 6960865: ldc of unloaded class throws an assert in ciTypeFlow
Summary: Support java_mirror for unloaded klasses, arrays as well as instances.  Simplify ciTypeFlow by removing unused path.
Reviewed-by: kvn
rev 1522 : 6939203: JSR 292 needs method handle constants
Summary: Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode.
Reviewed-by: twisti, never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1142 : 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
rev 1138 : 6893268: additional dynamic language related optimizations in C2
Summary: C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance.
Reviewed-by: kvn, never
rev 1080 : 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 165 : 6703888: Compressed Oops: use the 32-bits gap after klass in a object
Summary: Use the gap also for a narrow oop field and a boxing object value.
Reviewed-by: coleenp, never
rev 113 : 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
rev 44 : 6667620: (Escape Analysis) fix deoptimization for scalar replaced objects
Summary: Deoptimization code for reallocation and relocking scalar replaced objects has to be fixed.
Reviewed-by: rasbold, never
rev 0 : Initial load
3 lines changed: 1 ins; 0 del; 2 mod; 706 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/ci/ciObject.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6373 : 8036956: remove EnableInvokeDynamic flag
Summary: The EnableInvokeDynamic flag and all support code is removed because it is not longer used in JDK 9.
Reviewed-by: kvn, twisti
Contributed-by: Tobias Hartmann <tobias.hartmann@oracle.com>
rev 3602 : 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>
rev 2670 : 7071307: MethodHandle bimorphic inlining should consider the frequency
Reviewed-by: twisti, roland, kvn, iveresov
rev 2498 : 7048030: is_scavengable changes causing compiler to embed more constants
Summary: ciObject::can_be_constant() and should_be_constant() should use is_perm() instead of !is_scavengable()
Reviewed-by: never, jrose
rev 2380 : 7032162: assert(flat != TypePtr::BOTTOM) failed: cannot alias-analyze an untyped ptr
Reviewed-by: kvn
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 989 : 6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
rev 0 : Initial load
2 lines changed: 0 ins; 0 del; 2 mod; 231 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/ci/ciObject.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 3832 : 6830717: replay of compilations would help with debugging
Summary: When java process crashed in compiler thread, repeat the compilation process will help finding root cause. This is done with using SA dump application class data and replay data from core dump, then use debug version of jvm to recompile the problematic java method.
Reviewed-by: kvn, twisti, sspitsyn
Contributed-by: yumin.qi@oracle.com
rev 3698 : 7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path
Reviewed-by: jrose, kvn
rev 3602 : 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>
rev 3534 : 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>
rev 2498 : 7048030: is_scavengable changes causing compiler to embed more constants
Summary: ciObject::can_be_constant() and should_be_constant() should use is_perm() instead of !is_scavengable()
Reviewed-by: never, jrose
rev 2273 : 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
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1138 : 6893268: additional dynamic language related optimizations in C2
Summary: C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance.
Reviewed-by: kvn, never
rev 1137 : 6829187: compiler optimizations required for JSR 292
Summary: C2 implementation for invokedynamic support.
Reviewed-by: kvn, never
rev 989 : 6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
rev 0 : Initial load
4 lines changed: 3 ins; 0 del; 1 mod; 191 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/ci/ciObjectFactory.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7426 : Merge
rev 7425 : 8064581: Move INCLUDE_ALL_GCS include section to the end of the include list
Reviewed-by: jwilhelm, brutisso, coleenp, dholmes
rev 7385 : 8060147: SIGSEGV in Metadata::mark_on_stack() while marking metadata in ciEnv
Reviewed-by: kvn, roland, coleenp, mgerdin
rev 6853 : 8046598: Scalable Native memory tracking development
Summary: Enhance scalability of native memory tracking
Reviewed-by: coleenp, ctornqvi, gtriantafill
rev 6707 : 8049421: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
Contributed-by: stefan.karlsson@oracle.com, mikael.gerdin@oracle.com
rev 6706 : 8049420: Backout 8048248 to correct attribution
Reviewed-by: ehelin, brutisso
rev 6705 : 8048248: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
rev 5776 : 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
rev 5193 : 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
Summary: Do patching rather bailing out for unlinked call with appendix
Reviewed-by: twisti, kvn
rev 4872 : 8016325: JVM hangs verifying system dictionary
Summary: Minimize redundant verifications of Klasses.
Reviewed-by: hseigel, jmasa
rev 3729 : Merge
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3716 : Merge
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3698 : 7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path
Reviewed-by: jrose, kvn
rev 3602 : 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>
rev 3534 : 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>
rev 3465 : 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking
Summary: Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd
Reviewed-by: acorn, coleenp, fparain
rev 2762 : 7092712: JSR 292: unloaded invokedynamic call sites can lead to a crash with signature types not on BCP
Reviewed-by: jrose, never
rev 2223 : 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
rev 2204 : 7012648: move JSR 292 to package java.lang.invoke and adjust names
Summary: package and class renaming only; delete unused methods and classes
Reviewed-by: twisti
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1522 : 6939203: JSR 292 needs method handle constants
Summary: Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode.
Reviewed-by: twisti, never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1427 : 6939134: JSR 292 adjustments to method handle invocation
Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces
Reviewed-by: twisti
rev 1142 : 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
rev 1138 : 6893268: additional dynamic language related optimizations in C2
Summary: C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance.
Reviewed-by: kvn, never
rev 1137 : 6829187: compiler optimizations required for JSR 292
Summary: C2 implementation for invokedynamic support.
Reviewed-by: kvn, never
rev 1080 : 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
rev 1000 : Merge
rev 989 : 6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
rev 948 : 6884624: Update copyright year
Summary: Update copyright for files that have been modified in 2009 through Septermber
Reviewed-by: tbell, ohair
rev 909 : 6866585: debug code in ciObjectFactory too slow for large objects
Reviewed-by: ysr, never, kvn
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 113 : 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
rev 0 : Initial load
4 lines changed: 4 ins; 0 del; 0 mod; 802 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/ci/ciObjectFactory.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 7385 : 8060147: SIGSEGV in Metadata::mark_on_stack() while marking metadata in ciEnv
Reviewed-by: kvn, roland, coleenp, mgerdin
rev 6707 : 8049421: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
Contributed-by: stefan.karlsson@oracle.com, mikael.gerdin@oracle.com
rev 6706 : 8049420: Backout 8048248 to correct attribution
Reviewed-by: ehelin, brutisso
rev 6705 : 8048248: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
rev 5776 : 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
rev 5193 : 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
Summary: Do patching rather bailing out for unlinked call with appendix
Reviewed-by: twisti, kvn
rev 3832 : 6830717: replay of compilations would help with debugging
Summary: When java process crashed in compiler thread, repeat the compilation process will help finding root cause. This is done with using SA dump application class data and replay data from core dump, then use debug version of jvm to recompile the problematic java method.
Reviewed-by: kvn, twisti, sspitsyn
Contributed-by: yumin.qi@oracle.com
rev 3602 : 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>
rev 2762 : 7092712: JSR 292: unloaded invokedynamic call sites can lead to a crash with signature types not on BCP
Reviewed-by: jrose, never
rev 2703 : 7088955: add C2 IR support to the SA
Reviewed-by: kvn
rev 2273 : 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
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1522 : 6939203: JSR 292 needs method handle constants
Summary: Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode.
Reviewed-by: twisti, never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 0 : Initial load
6 lines changed: 6 ins; 0 del; 0 mod; 152 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/classfile/classLoaderData.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8638 : 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Summary: Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett
rev 8493 : 8081320: Backout JDK-8059340: ConstantPool::_resolved_references is missing in heap dump
Reviewed-by: sspitsyn, coleenp
rev 8488 : Merge
rev 8485 : 8059340: ConstantPool::_resolved_references is missing in heap dump
Reviewed-by: sspitsyn, stefank, twisti
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8000 : Merge
rev 7999 : 8061205: MetadataOnStackMark only needs to walk code cache during class redefinition
Summary: Only do full metadata walk during class redefinition and only walk handles during class unloading.
Reviewed-by: sspitsyn, stefank
rev 7978 : 8074561: Wrong volatile qualifier for field ClassLoaderDataGraphKlassIteratorAtomic::_next_klass
Reviewed-by: mgerdin, stefank
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7615 : 8067713: Move clean_weak_method_links for redefinition out of class unloading
Summary: Do this work during class redefinition, only verify clean during class unloading in debug mode.
Reviewed-by: sspitsyn, roland, kbarrett
rev 7551 : 8047290: Make Mutex::_no_safepoint_check_flag locks verify that this lock never checks for safepoint
Summary: Ensure consistent safepoint checking in Mutex/Monitor locking methods.
Reviewed-by: dholmes, dcubed, coleenp
Contributed-by: max.ockner@oracle.com
rev 7435 : Merge
rev 7426 : Merge
rev 7421 : 8064811: Use THREAD instead of CHECK_NULL in return statements
Reviewed-by: coleenp, simonis, dholmes
rev 7414 : 8065361: Fixup headers and definitions for INCLUDE_TRACE
Reviewed-by: sla, stefank
rev 7321 : 8037842: Failing to allocate MethodCounters and MDO causes a serious performance drop
Summary: Stop allocating compiler profiling metadata when metaspace is full.
Reviewed-by: kvn, anoll
rev 7249 : 8056240: Investigate increased GC remark time after class unloading changes in CRM Fuse
Reviewed-by: mgerdin, coleenp, bdelsart
rev 7018 : Merge
rev 7012 : 8055008: Clean up code that saves the previous versions of redefined classes
Summary: Use scratch_class to find EMCP methods for breakpoints if the old methods are still running.
Reviewed-by: dcubed, sspitsyn
rev 6986 : 8057037: Verification in ClassLoaderData::is_alive is too slow
Reviewed-by: brutisso, mgerdin, tschatzl
rev 6741 : Merge
rev 6740 : 8040237: nsk/jvmti/RetransformClasses/retransform001 crashed the VM on all platforms when run with with -server -Xcomp
Summary: class redefinition may cause speculative trap clean up code to dereference dead method
Reviewed-by: kvn, coleenp
rev 6708 : Merge
rev 6707 : 8049421: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
Contributed-by: stefan.karlsson@oracle.com, mikael.gerdin@oracle.com
rev 6706 : 8049420: Backout 8048248 to correct attribution
Reviewed-by: ehelin, brutisso
rev 6705 : 8048248: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
rev 6667 : Merge
rev 6666 : 8047812: Ensure ClassLoaderDataGraph::classes_unloading_do only delivers klasses from CLDs with non-reclaimed class loader oops
Reviewed-by: coleenp, sspitsyn, ehelin
rev 6646 : 8044775: Improve usage of umbrella header atomic.inline.hpp.
Reviewed-by: stefank, kvn
rev 6586 : 8044107: Add Diagnostic Command to list all ClassLoaders
Reviewed-by: mgerdin, stefank
rev 6481 : 8042727: nsk/jdb/unwatch/unwatch001 crash in InstanceKlass::methods_do(void (*)(Method*))
Summary: Only walk methods in instanceklass if the class is loaded
Reviewed-by: dholmes, fparain
rev 6445 : 8038212: Method::is_valid_method() check has performance regression impact for stackwalking
Summary: Only prune metaspace virtual spaces at safepoint so walking them is safe outside a safepoint.
Reviewed-by: mgerdin, mgronlun, hseigel, stefank
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6217 : 8037970: make PrintMethodData a diagnostic options
Summary: make PrintMethodData a diagnostic options for performance investigation
Reviewed-by: kvn, iveresov
rev 6043 : Merge
rev 6038 : 8035412: Cleanup ClassLoaderData::is_alive
Reviewed-by: coleenp, mgerdin
rev 5932 : 8027146: Class loading verification failure if GC occurs in Universe::flush_dependents_on
Summary: Remove search in system dictionary and hacks, replace with verifying in CLD::_klasses list.
Reviewed-by: dcubed, acorn
rev 5743 : 8029178: Parallel class loading test anonymous-simple gets SIGSEGV in Metaspace::contains
Summary: Metaspace::contains cannot look at purged metaspaces while CMS concurrently deallocates them.
Reviewed-by: mgerdin, sspitsyn, jmasa
rev 5696 : 8028128: Add a type safe alternative for working with counter based data
Reviewed-by: dholmes, egahlin
rev 5589 : 8024423: JVMTI: GetLoadedClasses doesn't enumerate anonymous classes
Summary: Rewrite of the getLoadedClasses() method implementation to include anonymous classes.
Reviewed-by: coleenp, sspitsyn
rev 5349 : 7195622: CheckUnhandledOops has limited usefulness now
Summary: Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms.
Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin
Contributed-by: lois.foltan@oracle.com
rev 4802 : 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>
rev 4590 : Merge
rev 4581 : 8013136: NPG: Parallel class loading tests fail after fix for JDK-8011802
Summary: Move initialization of dependencies to before allocation of CLD
Reviewed-by: stefank, coleenp
rev 4580 : 8008966: NPG: Inefficient Metaspace counter functions cause large young GC regressions
Reviewed-by: mgerdin, coleenp
rev 4578 : 8011802: NPG: init_dependencies in class loader data graph can cause invalid CLD
Summary: Restructure initialization of ClassLoaderData to not add a new instance if init_dependencies fail
Reviewed-by: stefank, coleenp
rev 4572 : 8011268: NPG: Free unused VirtualSpaceNodes
Reviewed-by: mgerdin, coleenp, johnc
rev 4546 : 8011803: release_C_heap_structures is never called for anonymous classes.
Summary: Call this function from the ClassLoaderData destructor instead of the system dictionary walk.
Reviewed-by: stefank, mgerdin
rev 4468 : 8010196: NPG: Internal Error: Metaspace allocation lock -- possible deadlock
Summary: Refactor the CLD dependency list into a separate class. Use an ObjectLocker to synchronize additions to the CLD dependency list.
Reviewed-by: stefank, coleenp
rev 4431 : 7198429: need checked categorization of caller-sensitive methods in the JDK
Reviewed-by: kvn, jrose
rev 4316 : 8007725: NPG: Klass::restore_unshareable_info() triggers assert(k->java_mirror() == NULL)
Summary: Check for exception during SystemDictionary::resolve_instance_class_or_null() and clean up.
Reviewed-by: coleenp, acorn, hseigel, minqi
Contributed-by: ioi.lam@oracle.com
rev 4062 : 6479360: PrintClassHistogram improvements
Summary: jcmd <pid> GC.class_stats (UnlockDiagnosticVMOptions)
Reviewed-by: coleenp, hseigel, sla, acorn
Contributed-by: ioi.lam@oracle.com
rev 4055 : 8006040: NPG: on_stack processing wastes space in ConstantPool
Summary: Added on_stack bit to flags.  Also MetadataMarkOnStack is used for more than JVMTI so had to be moved.
Reviewed-by: dholmes, stefank
rev 4022 : 8006537: Assert when dumping archive with default methods
Reviewed-by: coleenp
rev 3947 : 8005082: NPG: Add specialized Metachunk sizes for reflection and anonymous classloaders
Reviewed-by: johnc, coleenp
rev 3932 : Merge
rev 3918 : 8005002: Crash because of a raw oop in ClassLoaderData::add_dependency
Summary: Move the handelization of 'last' to a point before the GC might enter.
Reviewed-by: dholmes, sspitsyn, coleenp
rev 3910 : 8004883: NPG: clean up anonymous class fix
Summary: Add klass_holder() to return either mirror or class_loader depending on if the class is anonymous or not.
Reviewed-by: stefank, jrose
rev 3869 : 8000662: NPG: nashorn ant clean test262 out-of-memory with Java heap
Summary: Add ClassLoaderData object for each anonymous class with metaspaces to allocate in.
Reviewed-by: twisti, jrose, stefank
rev 3602 : 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>
2 lines changed: 0 ins; 0 del; 2 mod; 970 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/classfile/dictionary.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8638 : 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Summary: Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett
rev 7359 : 8064375: Change certain errors to warnings in CDS output.
Summary: Change CDS non-fatal preloading errors to warnings.
Reviewed-by: minqi, mseledtsov, coleenp
rev 6918 : Merge
rev 6911 : 8054402: "klass->is_loader_alive(_is_alive)) failed: must be alive" for anonymous classes
Summary: Because anonymous classes are not in the system dictionary, we have to set 'unloading_occurred' based on 'CLDG::do_unloading()'. Added jtreg test.
Reviewed-by: kvn, coleenp
rev 6872 : 8046070: Class Data Sharing clean up and refactoring
Summary: Cleaned up CDS to be more configurable, maintainable and extensible
Reviewed-by: dholmes, coleenp, acorn, mchung
rev 6707 : 8049421: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
Contributed-by: stefan.karlsson@oracle.com, mikael.gerdin@oracle.com
rev 6706 : 8049420: Backout 8048248 to correct attribution
Reviewed-by: ehelin, brutisso
rev 6705 : 8048248: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6402 : 8042195: Introduce umbrella header orderAccess.inline.hpp.
Reviewed-by: dholmes, kvn, stefank, twisti
rev 5932 : 8027146: Class loading verification failure if GC occurs in Universe::flush_dependents_on
Summary: Remove search in system dictionary and hacks, replace with verifying in CLD::_klasses list.
Reviewed-by: dcubed, acorn
rev 5430 : Merge
rev 5427 : 8003420: NPG: make new GC root for pd_set
Summary: Move protection domain oops from system dictionary entries into a seperate set; the system dictionary references entries in that set now. This allows fast iteration during non-classunloading garbage collection. Implementation based on initial prototype from Ioi Lam (iklam).
Reviewed-by: coleenp, iklam
rev 4872 : 8016325: JVM hangs verifying system dictionary
Summary: Minimize redundant verifications of Klasses.
Reviewed-by: hseigel, jmasa
rev 4665 : 8005056: NPG: Crash after redefining java.lang.Object
Summary: Need to walk array class vtables replacing old methods too if j.l.o redefined
Reviewed-by: sspitsyn, dcubed, ctornqvi
rev 4546 : 8011803: release_C_heap_structures is never called for anonymous classes.
Summary: Call this function from the ClassLoaderData destructor instead of the system dictionary walk.
Reviewed-by: stefank, mgerdin
rev 4232 : 8008549: NPG: SystemDictionary::find(...) unnecessarily keeps class loaders alive
Summary: SystemDictionary::find(...) should not create and register ClassLoaderData objects for class loaders.
Reviewed-by: coleenp, acorn
Contributed-by: Stefan Karlsson <stefan.karlsson@oracle.com>, Erik Helin <erik.helin@oracle.com>
rev 3869 : 8000662: NPG: nashorn ant clean test262 out-of-memory with Java heap
Summary: Add ClassLoaderData object for each anonymous class with metaspaces to allocate in.
Reviewed-by: twisti, jrose, stefank
rev 3843 : 8001471: Klass::cast() does nothing
Summary: Remove function Klass::cast() and calls to it.
Reviewed-by: dholmes, coleenp
rev 3602 : 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>
rev 3465 : 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking
Summary: Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd
Reviewed-by: acorn, coleenp, fparain
rev 3056 : 7114376: Make system dictionary hashtable bucket array size configurable
Summary: 7u4 new experimental flag -XX:PredictedClassLoadedCount=#
Reviewed-by: dholmes, phh, dcubed
rev 2273 : 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
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1433 : Merge
rev 1427 : 6939134: JSR 292 adjustments to method handle invocation
Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces
Reviewed-by: twisti
rev 1409 : 6888953: some calls to function-like macros are missing semicolons
Reviewed-by: pbk, kvn
rev 710 : 6655638: dynamic languages need method handles
Summary: initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.)
Reviewed-by: kvn, twisti, never
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 47 : 6497639: 4/3 Profiling Swing application caused JVM crash
Summary: Make RedefineClasses() interoperate better with class sharing.
Reviewed-by: sspitsyn, jmasa
rev 0 : Initial load
6 lines changed: 1 ins; 1 del; 4 mod; 775 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/classfile/javaClasses.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8911 : 8135067: Preparatory refactorings for compiler control
Summary: Extract CompileTask and clean up
Reviewed-by: roland
rev 8769 : Merge
rev 8768 : 8087315: SIGBUS error in nsk/jvmti/RedefineClasses/StressRedefine
Summary: Need to get source_file_name from the_class's constant pool not previous version constant pool
Reviewed-by: dcubed, sspitsyn
rev 8753 : 8048353: jstack -l crashes VM when a Java mirror for a primitive type is locked
Reviewed-by: coleenp, dcubed
rev 8633 : 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
rev 8493 : 8081320: Backout JDK-8059340: ConstantPool::_resolved_references is missing in heap dump
Reviewed-by: sspitsyn, coleenp
rev 8485 : 8059340: ConstantPool::_resolved_references is missing in heap dump
Reviewed-by: sspitsyn, stefank, twisti
rev 8484 : 8079205: CallSite dependency tracking is broken after sun.misc.Cleaner became automatically cleared
Reviewed-by: roland, psandoz, plevart, kbarrett, jrose
rev 8295 : Merge
rev 8281 : 8057967: CallSite dependency tracking scales devastatingly poorly
Reviewed-by: jrose, roland, plevart, shade
rev 8274 : 8073705: more performance issues in class redefinition
Summary: Optimize the method pointer adjustments for prev klass versions and MNT
Reviewed-by: dcubed, coleenp
rev 8223 : 8072863: Replace fatal() with vm_exit_during_initialization() when an incorrect class is found on the bootclasspath
Reviewed-by: dholmes, coleenp
Contributed-by: Cheleswer Sahu <cheleswer.sahu@oracle.com>
rev 8092 : 8067662: "java.lang.NullPointerException: Method name is null" from StackTraceElement.<init>
Summary: use method cpref and klass version to provide meaningful methods name in stacktraces
Reviewed-by: coleenp, dcubed
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7435 : Merge
rev 7421 : 8064811: Use THREAD instead of CHECK_NULL in return statements
Reviewed-by: coleenp, simonis, dholmes
rev 7415 : 8042235: redefining method used by multiple MethodHandles crashes VM
Summary: note all MemberNames created on internal list for adjusting method entries.
Reviewed-by: sspitsyn, dcubed, lfoltan
rev 7395 : 8059677: Thread.getName() instantiates Strings
Reviewed-by: coleenp, dholmes, sla
rev 7159 : 8058927: ATG throws ClassNotFoundException
Summary: ClassLoader for array klass set to null and not the class loader of the component type.
Reviewed-by: dcubed, ctornqvi
rev 6975 : 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
rev 6759 : 8004128: NPG: remove stackwalking in Threads::gc_prologue and gc_epilogue code
Summary: remove bcx and mdx handling.  We no longer have to convert bytecode pointers to indices for GC since Methods aren't moved.
Reviewed-by: mgerdin, kvn
rev 6729 : 8048933: -XX:+TraceExceptions output should include the message
Summary: Add the exception detail message to the tracing output
Reviewed-by: minqi, dholmes
rev 6680 : 8047737: Move array component mirror to instance of java/lang/Class
Summary: Add field in java.lang.Class for componentType to simplify oop processing in JVM
Reviewed-by: fparain, twisti
rev 6621 : 6642881: Improve performance of Class.getClassLoader()
Summary: Add classLoader to java/lang/Class instance for fast access
Reviewed-by: alanb, lfoltan, rriggs, vlivanov, twisti, jfranck
rev 6592 : 8031819: Remove legacy jdk checks and code
Summary: Delete old jdk specific code.
Reviewed-by: dholmes, coleenp, zgu, lfoltan
rev 6417 : Merge
rev 6414 : 8038654: Separate SymbolTable and StringTable code
Summary: Refactor stringTable class out of symbolTable, making sure all includes are minimal set and are sorted.
Reviewed-by: coleenp, stefank
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6381 : Merge
rev 6373 : 8036956: remove EnableInvokeDynamic flag
Summary: The EnableInvokeDynamic flag and all support code is removed because it is not longer used in JDK 9.
Reviewed-by: kvn, twisti
Contributed-by: Tobias Hartmann <tobias.hartmann@oracle.com>
rev 6348 : 6664815: Eliminate redundant memcpy operation in jni_GetStringUTFRegion
Summary: Added support for target buffer in as_utf8_string(), minor refactoring of as_utf8 and added some internal VM testing
Reviewed-by: coleenp, dsimms, sla, dholmes
Contributed-by: marcus.larsson@oracle.com
rev 6274 : 8028497: SIGSEGV at ClassLoaderData::oops_do(OopClosure*, KlassClosure*, bool)
Summary: Keep class in CLD::_klasses list and mirror created for CDS classes if OOM during restore_shareable_info(). This keeps pointers consistent for CMS.
Reviewed-by: ehelin, stefank, jmasa, iklam
rev 6273 : 8039348: -XX:+TraceDeoptimization -XX:+Verbose -Xcomp can crash VM
Reviewed-by: kvn, sla
rev 6045 : 8035648: Don't use Handle in java_lang_String::print
Reviewed-by: coleenp, pliden
rev 5728 : 8030656: Bad version check for parameter information in src/share/vm/classfile/javaClasses.cpp
Summary: Switched version check to check for greater than or equal to 8, not equal to 8
Reviewed-by: dholmes, kamg
rev 5400 : 8025238: nsk/jvmti/scenarios/bcinstr/BI04/bi04t002 crashed with SIGSEGV
Summary: Redefined class in stack trace may not be found by method_idnum so handle null.
Reviewed-by: sla, dcubed, sspitsyn
rev 5308 : 8019835: Strings interned in different threads equal but does not ==
Summary: Add -XX:+VerifyStringTableAtExit option and code to verify StringTable invariants.
Reviewed-by: rdurbin, sspitsyn, coleenp
rev 5061 : 7187554: JSR 292: JVMTI PopFrame needs to handle appendix arguments
Summary: Restore the appendix argument after PopFrame() call
Reviewed-by: twisti, coleenp
Contributed-by: serguei.spitsyn@oracle.com
rev 4817 : Merge
rev 4816 : Merge
rev 4812 : Merge
rev 4811 : Merge
rev 4808 : 8011896: Add check for invalid offset for new AccessControlContext isAuthorized field
Reviewed-by: acorn
rev 4807 : 8001330: Improve on checking order
Reviewed-by: acorn, hawtin
rev 4802 : 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>
rev 4741 : 8003421: NPG: Move oops out of InstanceKlass into mirror
Summary: Inject protection_domain, signers, init_lock into java_lang_Class
Reviewed-by: stefank, dholmes, sla
rev 4552 : 8011773: Some tests on Interned String crashed JVM with OOM
Summary: Instead of terminating the VM, throw OutOfMemoryError exceptions.
Reviewed-by: coleenp, dholmes
rev 4530 : 8008511: JSR 292: MemberName vmtarget refs to methods must be updated at class redefinition
Summary: Lazily create and maintain the MemberNameTable to be able to update MemberName's
Reviewed-by: coleenp, jrose, dholmes
Contributed-by: serguei.spitsyn@oracle.com
rev 4036 : 8004902: correctness fixes motivated by contended locking work (6607129)
Summary: misc correctness fixes
Reviewed-by: acorn, dholmes, dice, sspitsyn
Contributed-by: dave.dice@oracle.com
rev 4034 : Merge
rev 4031 : 7174978: NPG: Fix bactrace builder for class redefinition
Summary: Remove Method* from backtrace but save version so redefine classes doesn't give inaccurate line numbers.  Removed old Merlin API with duplicate code.
Reviewed-by: dholmes, sspitsyn
rev 4018 : 8005590: java_lang_Class injected field resolved_constructor appears unused
Reviewed-by: coleenp, dholmes
rev 3963 : 8004728: Add hotspot support for parameter reflection
Summary: Add hotspot support for parameter reflection
Reviewed-by: acorn, jrose, coleenp
Contributed-by: eric.mccorkle@oracle.com
rev 3959 : Merge
rev 3958 : 8004823: Add VM support for type annotation reflection
Reviewed-by: dholmes, coleenp
Contributed-by: joel.franck@oracle.com
rev 3900 : 8004661: Comment and function name java_lang_String::toHash is wrong
Summary: renamed to hash_code
Reviewed-by: dholmes, coleenp, brutisso
Contributed-by: erik.helin@oracle.com
rev 3869 : 8000662: NPG: nashorn ant clean test262 out-of-memory with Java heap
Summary: Add ClassLoaderData object for each anonymous class with metaspaces to allocate in.
Reviewed-by: twisti, jrose, stefank
rev 3864 : 8003935: Simplify the needed includes for using Thread::current()
Reviewed-by: dholmes, rbackman, coleenp
rev 3845 : Merge
rev 3843 : 8001471: Klass::cast() does nothing
Summary: Remove function Klass::cast() and calls to it.
Reviewed-by: dholmes, coleenp
rev 3832 : 6830717: replay of compilations would help with debugging
Summary: When java process crashed in compiler thread, repeat the compilation process will help finding root cause. This is done with using SA dump application class data and replay data from core dump, then use debug version of jvm to recompile the problematic java method.
Reviewed-by: kvn, twisti, sspitsyn
Contributed-by: yumin.qi@oracle.com
rev 3816 : 8000725: NPG: method_holder() and pool_holder() and pool_holder field should be InstanceKlass
Summary: Change types of above methods and field to InstanceKlass and remove unneeded casts from the source files.
Reviewed-by: dholmes, coleenp, zgu
Contributed-by: harold.seigel@oracle.com
rev 3743 : 7199068: NPG: SharedSkipVerify is meaningless
Summary: Remove the SharedSkipVerify flag
Reviewed-by: kamg, sspitsyn, coleenp
Contributed-by: harold.seigel@oracle.com
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3612 : 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
Summary: Simple renaming to be consistent with instanceKlass->InstanceKlass renaming
Reviewed-by: stefank, jmasa
rev 3602 : 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>
rev 3535 : 7187290: nightly failures after JSR 292 lazy method handle update
Reviewed-by: kvn, twisti
rev 3534 : 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>
rev 3493 : 7087357: JSR 292: remove obsolete code after 7085860
Reviewed-by: kvn, never
rev 3434 : Merge
rev 3430 : 7158800: Improve storage of symbol tables
Summary: Use an alternate version of hashing algorithm for symbol string tables and after a certain bucket size to improve performance
Reviewed-by: pbk, kamg, dlong, kvn, fparain
rev 3411 : 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
Contributed-by: Krystal Mok <sajia@taobao.com>
rev 3325 : 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
rev 3009 : 7130676: Tiered: assert(bci == 0 || 0<= bci && bci<code_size()) during stack trace construction
Reviewed-by: kvn, iveresov
rev 2770 : 7098528: crash with java -XX:+ExtendedDTraceProbes
Reviewed-by: kvn
rev 2721 : 7089790: integrate bsd-port changes
Reviewed-by: kvn, twisti, jrose
Contributed-by: Kurt Miller <kurt@intricatesoftware.com>, Greg Lewis <glewis@eyesbeyond.com>, Jung-uk Kim <jkim@freebsd.org>, Christos Zoulas <christos@zoulas.com>, Landon Fuller <landonf@plausible.coop>, The FreeBSD Foundation <board@freebsdfoundation.org>, Michael Franz <mvfranz@gmail.com>, Roger Hoover <rhoover@apple.com>, Alexander Strange <astrange@apple.com>
rev 2709 : Merge
rev 2702 : 7086585: make Java field injection more flexible
Reviewed-by: jrose, twisti, kvn, coleenp
rev 2696 : 7085860: JSR 292: implement CallSite.setTargetNormal and setTargetVolatile as native methods
Reviewed-by: jrose, never
rev 2693 : 7090259: Fix hotspot sources to build with old compilers
Summary: Fixed warnings which prevent building VM with old compilers.
Reviewed-by: never
rev 2670 : 7071307: MethodHandle bimorphic inlining should consider the frequency
Reviewed-by: twisti, roland, kvn, iveresov
rev 2665 : 7079673: JSR 292: C1 should inline bytecoded method handle adapters
Reviewed-by: never
rev 2583 : 7046490: Preallocated OOME objects should obey Throwable stack trace protocol
Summary: Update the OOME stacktrace to contain Throwable.UNASSIGNED_STACK when the backtrace is filled in
Reviewed-by: mchung, phh
rev 2557 : Merge
rev 2547 : 7056328: JSR 292 invocation sometimes fails in adapters for types not on boot class path
Reviewed-by: never
rev 2532 : 6918185: Remove unused code for lost card-marking optimization in BacktraceBuilder
Summary: Removed dead code
Reviewed-by: ysr, coleenp, dholmes
rev 2460 : 6939861: JVM should handle more conversion operations
Reviewed-by: twisti, jrose
rev 2369 : 7009923: JSR 292: VM crash in JavaThread::last_frame
Summary: Handle stack overflow before the first frame is called, by printing out the called method and not walking the stack.
Reviewed-by: dholmes, phh, dsamersoff
rev 2324 : Merge
rev 2323 : 7034585: Adjust fillInStackTrace filtering to assist 6998871
Summary: Allow for one or more fillInStackTrace frames to be skipped
Reviewed-by: mchung, kvn
rev 2307 : 6981791: remove experimental code for JSR 292
Reviewed-by: twisti
rev 2265 : 7032129: Native memory usage grow unexpectedly for vm/oom/*InternedString tests
Reviewed-by: kvn, kamg, jcoomes
rev 2263 : 6817525: turn on method handle functionality by default for JSR 292
Summary: After appropriate testing, we need to turn on EnableMethodHandles and EnableInvokeDynamic by default.
Reviewed-by: never, kvn, jrose, phh
rev 2226 : 6962931: move interned strings out of the perm gen
Reviewed-by: never, coleenp, ysr, jwilhelm
rev 2223 : 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
rev 2204 : 7012648: move JSR 292 to package java.lang.invoke and adjust names
Summary: package and class renaming only; delete unused methods and classes
Reviewed-by: twisti
rev 2203 : 6839872: remove implementation inheritance from JSR 292 APIs
Summary: consolidate runtime support in java.dyn.MethodHandleNatives; include transitional compatibility logic
Reviewed-by: twisti
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 1896 : 6539281: -Xcheck:jni should validate char* argument to ReleaseStringUTFChars
Summary: Tag allocated memory with a magic value and verify when releasing.
Reviewed-by: phh, stefank
rev 1887 : 6348631: remove the use of the HPI library from Hotspot
Summary: move functions from hpi library to hotspot, communicate with licensees and open source community, check jdk for dependency, file CCC request
Reviewed-by: coleenp, acorn, dsamersoff
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1713 : 6939224: MethodHandle.invokeGeneric needs to perform the correct set of conversions
Reviewed-by: never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1427 : 6939134: JSR 292 adjustments to method handle invocation
Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces
Reviewed-by: twisti
rev 1245 : 6904516: More object array barrier fixes, following up on 6906727
Summary: Fixed missing pre-barrier calls for G1, modified C1 to call pre- and correct post-barrier interfaces, deleted obsolete interface, (temporarily) disabled redundant deferred barrier in BacktraceBuilder.
Reviewed-by: coleenp, jmasa, kvn, never
rev 1142 : 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
rev 1133 : 6894206: JVM needs a way to traverse method handle structures
Summary: We need a way to walk chained method handles in the JVM to call the right methods and to generate required bytecode adapters for the compilers.
Reviewed-by: kvn
rev 1096 : Merge
rev 1091 : 6906727: UseCompressedOops: some card-marking fixes related to object arrays
Summary: Introduced a new write_ref_array(HeapWords* start, size_t count) method that does the requisite MemRegion range calculation so (some of the) clients of the erstwhile write_ref_array(MemRegion mr) do not need to worry. This removed all external uses of array_size(), which was also simplified and made private. Asserts were added to catch other possible issues. Further, less essential, fixes stemming from this investigation are deferred to CR 6904516 (to follow shortly in hs17).
Reviewed-by: kvn, coleenp, jmasa
rev 1059 : 6858164: invokedynamic code needs some cleanup (post-6655638)
Summary: Fix several crashers, remove needless paths for boxed-style bootstrap method call, refactor & simplify APIs for rewriter constantPoolOop, remove sun.dyn.CallSiteImpl
Reviewed-by: kvn
rev 949 : 6865583: Verbose CIPrintMethodCodes asserts when ldc an empty String
Summary: ldc seems to load an empty String and that leads to an assert on offset < length, which are both zero.
Reviewed-by: kvn, never
rev 931 : 6873116: Modify reexecute implementation to use pcDesc to record the reexecute bit
Summary: use PcDesc to keep record of the reexecute bit instead of using DebugInfoStreams
Reviewed-by: kvn, never, twisti
rev 900 : 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
rev 726 : 6655646: dynamic languages need dynamically linked call sites
Summary: invokedynamic instruction (JSR 292 RI)
Reviewed-by: twisti, never
rev 710 : 6655638: dynamic languages need method handles
Summary: initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.)
Reviewed-by: kvn, twisti, never
rev 665 : 6814659: separable cleanups and subroutines for 6655638
Summary: preparatory but separable changes for method handles
Reviewed-by: kvn, never
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 514 : 4670071: loadClassInternal is too restrictive.
Summary: VM support for deadlock fix. Library fix in 4735126. See API proposal.
Reviewed-by: dholmes, blacklion
rev 513 : 6781583: Hotspot build fails on linux 64 bit platform with gcc 4.3.2
Summary: Fixed the wrong cast between types since more restrictions are imposed by gcc 4.3.2
Reviewed-by: jcoomes, acorn, phh, never
rev 242 : 6721093: -XX:AppendRatio=N not supported
Summary: Add mechanism to ignore unsupported flags for a set period of time
Reviewed-by: acorn, never, coleenp
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 165 : 6703888: Compressed Oops: use the 32-bits gap after klass in a object
Summary: Use the gap also for a narrow oop field and a boxing object value.
Reviewed-by: coleenp, never
rev 132 : 6652736: well known classes in system dictionary are inefficiently processed
Summary: combine many scalar variables into a single enum-indexed array in SystemDictionary.
Reviewed-by: kvn
rev 113 : 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
rev 98 : 6679708: No_Safepoint_Verifier and BacktraceBuilder have uninitialized fields
Summary: fix or remove uninitialized fields
Reviewed-by: kvn, rasbold
rev 22 : 6646946: Kernel installation failed on Japanese and Chinese XP SP2 (VM part)
Summary: convert strings from Download Manager into native encoding in the VM
Reviewed-by: sbohne, never, phh, kamg, xlu
rev 0 : Initial load
25 lines changed: 21 ins; 0 del; 4 mod; 3654 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/classfile/javaClasses.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8753 : 8048353: jstack -l crashes VM when a Java mirror for a primitive type is locked
Reviewed-by: coleenp, dcubed
rev 8543 : 8015086: add interned strings to the shared archive.
Summary: Support saving interned strings in shared CDS archive.
Reviewed-by: coleenp, iklam, pliden
rev 8493 : 8081320: Backout JDK-8059340: ConstantPool::_resolved_references is missing in heap dump
Reviewed-by: sspitsyn, coleenp
rev 8485 : 8059340: ConstantPool::_resolved_references is missing in heap dump
Reviewed-by: sspitsyn, stefank, twisti
rev 8484 : 8079205: CallSite dependency tracking is broken after sun.misc.Cleaner became automatically cleared
Reviewed-by: roland, psandoz, plevart, kbarrett, jrose
rev 8295 : Merge
rev 8281 : 8057967: CallSite dependency tracking scales devastatingly poorly
Reviewed-by: jrose, roland, plevart, shade
rev 8274 : 8073705: more performance issues in class redefinition
Summary: Optimize the method pointer adjustments for prev klass versions and MNT
Reviewed-by: dcubed, coleenp
rev 8248 : 8077936: Remove the unused java_lang_invoke_CallSite::target_volatile
Reviewed-by: vlivanov, jrose
rev 8092 : 8067662: "java.lang.NullPointerException: Method name is null" from StackTraceElement.<init>
Summary: use method cpref and klass version to provide meaningful methods name in stacktraces
Reviewed-by: coleenp, dcubed
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7415 : 8042235: redefining method used by multiple MethodHandles crashes VM
Summary: note all MemberNames created on internal list for adjusting method entries.
Reviewed-by: sspitsyn, dcubed, lfoltan
rev 7395 : 8059677: Thread.getName() instantiates Strings
Reviewed-by: coleenp, dholmes, sla
rev 6975 : 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
rev 6729 : 8048933: -XX:+TraceExceptions output should include the message
Summary: Add the exception detail message to the tracing output
Reviewed-by: minqi, dholmes
rev 6680 : 8047737: Move array component mirror to instance of java/lang/Class
Summary: Add field in java.lang.Class for componentType to simplify oop processing in JVM
Reviewed-by: fparain, twisti
rev 6621 : 6642881: Improve performance of Class.getClassLoader()
Summary: Add classLoader to java/lang/Class instance for fast access
Reviewed-by: alanb, lfoltan, rriggs, vlivanov, twisti, jfranck
rev 6515 : 8041623: Solaris Studio 12.4 C++ 5.13, CHECK_UNHANDLED_OOPS use of class oop's copy constructor definitions causing error level diagnostic.
Summary: Fix several minor compilation issues with volatile oops for CHECK_UNHANDLED_OOPS support.
Reviewed-by: coleenp, hseigel
rev 6348 : 6664815: Eliminate redundant memcpy operation in jni_GetStringUTFRegion
Summary: Added support for target buffer in as_utf8_string(), minor refactoring of as_utf8 and added some internal VM testing
Reviewed-by: coleenp, dsimms, sla, dholmes
Contributed-by: marcus.larsson@oracle.com
rev 6274 : 8028497: SIGSEGV at ClassLoaderData::oops_do(OopClosure*, KlassClosure*, bool)
Summary: Keep class in CLD::_klasses list and mirror created for CDS classes if OOM during restore_shareable_info(). This keeps pointers consistent for CMS.
Reviewed-by: ehelin, stefank, jmasa, iklam
rev 6163 : 8029075: String deduplication in G1
Summary: Implementation of JEP 192, http://openjdk.java.net/jeps/192
Reviewed-by: brutisso, tschatzl, coleenp
rev 6045 : 8035648: Don't use Handle in java_lang_String::print
Reviewed-by: coleenp, pliden
rev 5308 : 8019835: Strings interned in different threads equal but does not ==
Summary: Add -XX:+VerifyStringTableAtExit option and code to verify StringTable invariants.
Reviewed-by: rdurbin, sspitsyn, coleenp
rev 5061 : 7187554: JSR 292: JVMTI PopFrame needs to handle appendix arguments
Summary: Restore the appendix argument after PopFrame() call
Reviewed-by: twisti, coleenp
Contributed-by: serguei.spitsyn@oracle.com
rev 4937 : 8014399: Remove JVM_SetProtectionDomain from hotspot
Summary: JVM_SetProtectionDomain has been deprecated since 1.5 and is being removed
Reviewed-by: coleenp, hseigel
Contributed-by: eric.mccorkle@oracle.com
rev 4816 : Merge
rev 4812 : Merge
rev 4811 : Merge
rev 4807 : 8001330: Improve on checking order
Reviewed-by: acorn, hawtin
rev 4741 : 8003421: NPG: Move oops out of InstanceKlass into mirror
Summary: Inject protection_domain, signers, init_lock into java_lang_Class
Reviewed-by: stefank, dholmes, sla
rev 4552 : 8011773: Some tests on Interned String crashed JVM with OOM
Summary: Instead of terminating the VM, throw OutOfMemoryError exceptions.
Reviewed-by: coleenp, dholmes
rev 4530 : 8008511: JSR 292: MemberName vmtarget refs to methods must be updated at class redefinition
Summary: Lazily create and maintain the MemberNameTable to be able to update MemberName's
Reviewed-by: coleenp, jrose, dholmes
Contributed-by: serguei.spitsyn@oracle.com
rev 4431 : 7198429: need checked categorization of caller-sensitive methods in the JDK
Reviewed-by: kvn, jrose
rev 4034 : Merge
rev 4031 : 7174978: NPG: Fix bactrace builder for class redefinition
Summary: Remove Method* from backtrace but save version so redefine classes doesn't give inaccurate line numbers.  Removed old Merlin API with duplicate code.
Reviewed-by: dholmes, sspitsyn
rev 4018 : 8005590: java_lang_Class injected field resolved_constructor appears unused
Reviewed-by: coleenp, dholmes
rev 3963 : 8004728: Add hotspot support for parameter reflection
Summary: Add hotspot support for parameter reflection
Reviewed-by: acorn, jrose, coleenp
Contributed-by: eric.mccorkle@oracle.com
rev 3959 : Merge
rev 3958 : 8004823: Add VM support for type annotation reflection
Reviewed-by: dholmes, coleenp
Contributed-by: joel.franck@oracle.com
rev 3900 : 8004661: Comment and function name java_lang_String::toHash is wrong
Summary: renamed to hash_code
Reviewed-by: dholmes, coleenp, brutisso
Contributed-by: erik.helin@oracle.com
rev 3869 : 8000662: NPG: nashorn ant clean test262 out-of-memory with Java heap
Summary: Add ClassLoaderData object for each anonymous class with metaspaces to allocate in.
Reviewed-by: twisti, jrose, stefank
rev 3845 : Merge
rev 3843 : 8001471: Klass::cast() does nothing
Summary: Remove function Klass::cast() and calls to it.
Reviewed-by: dholmes, coleenp
rev 3832 : 6830717: replay of compilations would help with debugging
Summary: When java process crashed in compiler thread, repeat the compilation process will help finding root cause. This is done with using SA dump application class data and replay data from core dump, then use debug version of jvm to recompile the problematic java method.
Reviewed-by: kvn, twisti, sspitsyn
Contributed-by: yumin.qi@oracle.com
rev 3602 : 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>
rev 3534 : 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>
rev 3434 : Merge
rev 3430 : 7158800: Improve storage of symbol tables
Summary: Use an alternate version of hashing algorithm for symbol string tables and after a certain bucket size to improve performance
Reviewed-by: pbk, kamg, dlong, kvn, fparain
rev 3411 : 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
Contributed-by: Krystal Mok <sajia@taobao.com>
rev 3325 : 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
rev 2770 : 7098528: crash with java -XX:+ExtendedDTraceProbes
Reviewed-by: kvn
rev 2702 : 7086585: make Java field injection more flexible
Reviewed-by: jrose, twisti, kvn, coleenp
rev 2696 : 7085860: JSR 292: implement CallSite.setTargetNormal and setTargetVolatile as native methods
Reviewed-by: jrose, never
rev 2670 : 7071307: MethodHandle bimorphic inlining should consider the frequency
Reviewed-by: twisti, roland, kvn, iveresov
rev 2583 : 7046490: Preallocated OOME objects should obey Throwable stack trace protocol
Summary: Update the OOME stacktrace to contain Throwable.UNASSIGNED_STACK when the backtrace is filled in
Reviewed-by: mchung, phh
rev 2547 : 7056328: JSR 292 invocation sometimes fails in adapters for types not on boot class path
Reviewed-by: never
rev 2460 : 6939861: JVM should handle more conversion operations
Reviewed-by: twisti, jrose
rev 2369 : 7009923: JSR 292: VM crash in JavaThread::last_frame
Summary: Handle stack overflow before the first frame is called, by printing out the called method and not walking the stack.
Reviewed-by: dholmes, phh, dsamersoff
rev 2265 : 7032129: Native memory usage grow unexpectedly for vm/oom/*InternedString tests
Reviewed-by: kvn, kamg, jcoomes
rev 2223 : 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
rev 2204 : 7012648: move JSR 292 to package java.lang.invoke and adjust names
Summary: package and class renaming only; delete unused methods and classes
Reviewed-by: twisti
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 1896 : 6539281: -Xcheck:jni should validate char* argument to ReleaseStringUTFChars
Summary: Tag allocated memory with a magic value and verify when releasing.
Reviewed-by: phh, stefank
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1713 : 6939224: MethodHandle.invokeGeneric needs to perform the correct set of conversions
Reviewed-by: never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1427 : 6939134: JSR 292 adjustments to method handle invocation
Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces
Reviewed-by: twisti
rev 1142 : 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
rev 1135 : 6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164)
Summary: During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately.
Reviewed-by: kvn, never
rev 1133 : 6894206: JVM needs a way to traverse method handle structures
Summary: We need a way to walk chained method handles in the JVM to call the right methods and to generate required bytecode adapters for the compilers.
Reviewed-by: kvn
rev 1059 : 6858164: invokedynamic code needs some cleanup (post-6655638)
Summary: Fix several crashers, remove needless paths for boxed-style bootstrap method call, refactor & simplify APIs for rewriter constantPoolOop, remove sun.dyn.CallSiteImpl
Reviewed-by: kvn
rev 1039 : 6815692: method handle code needs some cleanup (post-6655638)
Summary: correctly raise exceptions, support safe bitwise "raw" conversions, fix bugs revealed by VerifyMethodHandles, remove dead code, improve debugging support
Reviewed-by: never, twisti
rev 726 : 6655646: dynamic languages need dynamically linked call sites
Summary: invokedynamic instruction (JSR 292 RI)
Reviewed-by: twisti, never
rev 710 : 6655638: dynamic languages need method handles
Summary: initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.)
Reviewed-by: kvn, twisti, never
rev 665 : 6814659: separable cleanups and subroutines for 6655638
Summary: preparatory but separable changes for method handles
Reviewed-by: kvn, never
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 514 : 4670071: loadClassInternal is too restrictive.
Summary: VM support for deadlock fix. Library fix in 4735126. See API proposal.
Reviewed-by: dholmes, blacklion
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 165 : 6703888: Compressed Oops: use the 32-bits gap after klass in a object
Summary: Use the gap also for a narrow oop field and a boxing object value.
Reviewed-by: coleenp, never
rev 132 : 6652736: well known classes in system dictionary are inefficiently processed
Summary: combine many scalar variables into a single enum-indexed array in SystemDictionary.
Reviewed-by: kvn
rev 113 : 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
rev 22 : 6646946: Kernel installation failed on Japanese and Chinese XP SP2 (VM part)
Summary: convert strings from Download Manager into native encoding in the VM
Reviewed-by: sbohne, never, phh, kamg, xlu
rev 0 : Initial load
5 lines changed: 4 ins; 0 del; 1 mod; 1464 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/classfile/systemDictionary.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8837 : 8098791: Remove PrintClassStatistics and PrintMethodStatistics
Summary: PrintClassStatistics and PrintMethodStatistics have been removed.
Reviewed-by: coleenp, iklam
rev 8684 : 8075838: Method for typing MethodTypes
Reviewed-by: jrose, ahgross, alanb, bmoloden
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8007 : Merge
rev 8003 : 8073315: Enable gcc -Wtype-limits and fix upcoming issues.
Summary: Relevant fixes in blockOffsetTable.cpp, os_linux.cpp, parCardTableModRefBS.cpp.
Reviewed-by: jwilhelm, kbarrett, simonis
rev 7999 : 8061205: MetadataOnStackMark only needs to walk code cache during class redefinition
Summary: Only do full metadata walk during class redefinition and only walk handles during class unloading.
Reviewed-by: sspitsyn, stefank
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7694 : 8047125: (ref) More phantom object references
Reviewed-by: mchung, dfuchs, ahgross, jmasa, brutisso, mgerdin
Contributed-by: kim.barrett@oracle.com
rev 7624 : 8067836: The Universe::flush_foo methods belong in CodeCache.
Summary: Move this code to CodeCache.
Reviewed-by: kbarrett, kvn
rev 7435 : Merge
rev 7424 : 8064580: Move INCLUDE_CDS include section to the end of the include list
Reviewed-by: jwilhelm, brutisso, coleenp, dholmes
rev 7421 : 8064811: Use THREAD instead of CHECK_NULL in return statements
Reviewed-by: coleenp, simonis, dholmes
rev 7418 : 8062808: Turn on the -Wreturn-type warning
Reviewed-by: mgerdin, tschatzl, coleenp, jrose, kbarrett
rev 7414 : 8065361: Fixup headers and definitions for INCLUDE_TRACE
Reviewed-by: sla, stefank
rev 7249 : 8056240: Investigate increased GC remark time after class unloading changes in CRM Fuse
Reviewed-by: mgerdin, coleenp, bdelsart
rev 7143 : 8058536: java/lang/instrument/NativeMethodPrefixAgent.java fails due to VirtualMachineError: out of space in CodeCache for method handle intrinsic
Summary: Make sure MH intrinsics can be created before compiler instances
Reviewed-by: kvn
rev 7039 : 8058092: Test vm/mlvm/meth/stress/compiler/deoptimize. Assert in src/share/vm/classfile/systemDictionary.cpp: MH intrinsic invariant
Summary: Throw exception if unable to compile an MH intrinsic
Reviewed-by: kvn
rev 7037 : Merge
rev 7034 : 8056154: JVM crash with EXCEPTION_ACCESS_VIOLATION when there are many threads running
Summary: Don't make compiled MH intrinsics not entrant when redefining classes
Reviewed-by: kvn, vlivanov
rev 6982 : 8056971: Minor class loading clean-up
Summary: Misplacement of #if INCLUE_CDS, typos, unnecessary C string duplication
Reviewed-by: dholmes, ccheung
rev 6918 : Merge
rev 6911 : 8054402: "klass->is_loader_alive(_is_alive)) failed: must be alive" for anonymous classes
Summary: Because anonymous classes are not in the system dictionary, we have to set 'unloading_occurred' based on 'CLDG::do_unloading()'. Added jtreg test.
Reviewed-by: kvn, coleenp
rev 6872 : 8046070: Class Data Sharing clean up and refactoring
Summary: Cleaned up CDS to be more configurable, maintainable and extensible
Reviewed-by: dholmes, coleenp, acorn, mchung
rev 6707 : 8049421: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
Contributed-by: stefan.karlsson@oracle.com, mikael.gerdin@oracle.com
rev 6706 : 8049420: Backout 8048248 to correct attribution
Reviewed-by: ehelin, brutisso
rev 6705 : 8048248: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
rev 6601 : 8039150: host_klass invariant fails when verifying newly loaded JSR-292 anonymous classes
Summary: Initialize host_klass while parsing the class with the other initializations.
Reviewed-by: sspitsyn, stefank
rev 6592 : 8031819: Remove legacy jdk checks and code
Summary: Delete old jdk specific code.
Reviewed-by: dholmes, coleenp, zgu, lfoltan
rev 6444 : 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
rev 6417 : Merge
rev 6414 : 8038654: Separate SymbolTable and StringTable code
Summary: Refactor stringTable class out of symbolTable, making sure all includes are minimal set and are sorted.
Reviewed-by: coleenp, stefank
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6403 : Merge
rev 6402 : 8042195: Introduce umbrella header orderAccess.inline.hpp.
Reviewed-by: dholmes, kvn, stefank, twisti
rev 6388 : Merge
rev 6385 : 8023697: failed class resolution reports different class name in detail message for the first and subsequent times
Summary: Cache detail message when we cache exception for constant pool resolution.
Reviewed-by: acorn, twisti, jrose
rev 6373 : 8036956: remove EnableInvokeDynamic flag
Summary: The EnableInvokeDynamic flag and all support code is removed because it is not longer used in JDK 9.
Reviewed-by: kvn, twisti
Contributed-by: Tobias Hartmann <tobias.hartmann@oracle.com>
rev 6274 : 8028497: SIGSEGV at ClassLoaderData::oops_do(OopClosure*, KlassClosure*, bool)
Summary: Keep class in CLD::_klasses list and mirror created for CDS classes if OOM during restore_shareable_info(). This keeps pointers consistent for CMS.
Reviewed-by: ehelin, stefank, jmasa, iklam
rev 5932 : 8027146: Class loading verification failure if GC occurs in Universe::flush_dependents_on
Summary: Remove search in system dictionary and hacks, replace with verifying in CLD::_klasses list.
Reviewed-by: dcubed, acorn
rev 5773 : 8029383: assert(counter_changed) failed: failed dependencies, but counter didn't change
Summary: no call to SystemDictionary::notice_modification() when class is defined through Unsafe.defineAnonymousClass() can caused missed dependency change.
Reviewed-by: kvn, twisti
rev 5696 : 8028128: Add a type safe alternative for working with counter based data
Reviewed-by: dholmes, egahlin
rev 5560 : 8026502: java/lang/invoke/MethodHandleConstants.java fails on all platforms
Reviewed-by: iveresov, jrose
rev 5427 : 8003420: NPG: make new GC root for pd_set
Summary: Move protection domain oops from system dictionary entries into a seperate set; the system dictionary references entries in that set now. This allows fast iteration during non-classunloading garbage collection. Implementation based on initial prototype from Ioi Lam (iklam).
Reviewed-by: coleenp, iklam
rev 4802 : 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>
rev 4665 : 8005056: NPG: Crash after redefining java.lang.Object
Summary: Need to walk array class vtables replacing old methods too if j.l.o redefined
Reviewed-by: sspitsyn, dcubed, ctornqvi
rev 4617 : 8013648: Guarantee(VerifyBeforeGC || VerifyDuringGC || VerifyBeforeExit || VerifyAfterGC) failed: too expensive
Summary: Fix code to call correct version of function find_class().
Reviewed-by: coleenp, rdurbin, dcubed
rev 4464 : 8011343: Add new flag for verifying the heap during startup
Summary: Perform verification during VM startup under control of new flag and within a VMOperation.
Reviewed-by: stefank, jmasa, brutisso
rev 4445 : Merge
rev 4431 : 7198429: need checked categorization of caller-sensitive methods in the JDK
Reviewed-by: kvn, jrose
rev 4413 : 8010723: fatal error: acquiring lock Metaspace allocation lock/5 out of order
Summary: Avoid holding SystemDictionary_lock while calling Klass::remove_unshareable_info
Reviewed-by: coleenp, acorn
Contributed-by: ioi.lam@oracle.com
rev 4405 : 8009731: Confusing error message for loader constraint violation
Summary: Fix text, overwritten type and holder for resolved method
Reviewed-by: coleenp, dcubed, minqi, dholmes
rev 4316 : 8007725: NPG: Klass::restore_unshareable_info() triggers assert(k->java_mirror() == NULL)
Summary: Check for exception during SystemDictionary::resolve_instance_class_or_null() and clean up.
Reviewed-by: coleenp, acorn, hseigel, minqi
Contributed-by: ioi.lam@oracle.com
rev 4232 : 8008549: NPG: SystemDictionary::find(...) unnecessarily keeps class loaders alive
Summary: SystemDictionary::find(...) should not create and register ClassLoaderData objects for class loaders.
Reviewed-by: coleenp, acorn
Contributed-by: Stefan Karlsson <stefan.karlsson@oracle.com>, Erik Helin <erik.helin@oracle.com>
rev 4057 : 8000692: Remove old KERNEL code
Summary: Removed depreciated kernel VM source code from hotspot VM
Reviewed-by: dholmes, acorn
rev 3990 : 7199207: NPG: Crash in PlaceholderTable::verify after StackOverflow
Summary: Reduce scope of placeholder table entries to improve cleanup
Reviewed-by: dholmes, coleenp
rev 3869 : 8000662: NPG: nashorn ant clean test262 out-of-memory with Java heap
Summary: Add ClassLoaderData object for each anonymous class with metaspaces to allocate in.
Reviewed-by: twisti, jrose, stefank
rev 3843 : 8001471: Klass::cast() does nothing
Summary: Remove function Klass::cast() and calls to it.
Reviewed-by: dholmes, coleenp
rev 3742 : Merge
rev 3740 : 8000659: NPG: ClassCastExceptions are unexpectedly thrown when testing nashorn
Summary: Treat the oops in invoke_method_table() as strong roots when ClassUnloading is enabled.
Reviewed-by: kamg, coleenp
rev 3729 : Merge
rev 3728 : 8000740: remove LinkWellKnownClasses
Reviewed-by: kvn, jrose
rev 3723 : 8000263: JSR 292: signature types may appear to be unloaded
Reviewed-by: kvn, jrose
rev 3716 : Merge
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3698 : 7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path
Reviewed-by: jrose, kvn
rev 3627 : 7197269: NPG: FollowReferences has no ClassLoader -> Class link to follow
Summary: restore java/lang/ClassLoader.addClass() upcall
Reviewed-by: sspitsyn, dcubed, jmasa
rev 3612 : 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
Summary: Simple renaming to be consistent with instanceKlass->InstanceKlass renaming
Reviewed-by: stefank, jmasa
rev 3610 : 7195867: NPG: SAJDI tests fail with sun.jvm.hotspot.types.WrongTypeException: No suitable match for type
Summary: Need to restore the vtable in metadata when we restore the type from the shared archive.
Reviewed-by: acorn, jcoomes, jmasa, jrose
rev 3602 : 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>
rev 3534 : 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>
rev 3486 : Merge
rev 3482 : 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table.
Summary: Change constMethodOop::_exception_table to optionally inlined u2 table.
Reviewed-by: bdelsart, coleenp, kamg
rev 3465 : 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking
Summary: Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd
Reviewed-by: acorn, coleenp, fparain
rev 3368 : 7168280: Eliminate the generic signature index slot from field array for field without generic signature.
Summary: Only allocate the generic signature index slot in the field array for field with generic signature attribute.
Reviewed-by: coleenp, dlong
rev 3325 : 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
rev 3056 : 7114376: Make system dictionary hashtable bucket array size configurable
Summary: 7u4 new experimental flag -XX:PredictedClassLoadedCount=#
Reviewed-by: dholmes, phh, dcubed
rev 2992 : 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
Summary: Added a nop tracing infrastructure, JFR makefile changes and other infrastructure used only by JFR.
Reviewed-by: acorn, sspitsyn
Contributed-by: markus.gronlund@oracle.com
rev 2702 : 7086585: make Java field injection more flexible
Reviewed-by: jrose, twisti, kvn, coleenp
rev 2615 : 7071653: JSR 292: call site change notification should be pushed not pulled
Reviewed-by: kvn, never, bdelsart
rev 2547 : 7056328: JSR 292 invocation sometimes fails in adapters for types not on boot class path
Reviewed-by: never
rev 2460 : 6939861: JVM should handle more conversion operations
Reviewed-by: twisti, jrose
rev 2342 : 7032407: Crash in LinkResolver::runtime_resolve_virtual_method()
Summary: Make CDS reorder vtables so that dump time vtables match run time order, so when redefine classes reinitializes them, they aren't in the wrong order.
Reviewed-by: dcubed, acorn
rev 2307 : 6981791: remove experimental code for JSR 292
Reviewed-by: twisti
rev 2263 : 6817525: turn on method handle functionality by default for JSR 292
Summary: After appropriate testing, we need to turn on EnableMethodHandles and EnableInvokeDynamic by default.
Reviewed-by: never, kvn, jrose, phh
rev 2204 : 7012648: move JSR 292 to package java.lang.invoke and adjust names
Summary: package and class renaming only; delete unused methods and classes
Reviewed-by: twisti
rev 2203 : 6839872: remove implementation inheritance from JSR 292 APIs
Summary: consolidate runtime support in java.dyn.MethodHandleNatives; include transitional compatibility logic
Reviewed-by: twisti
rev 2116 : 6354181: nsk.logging.stress.threads.scmhml001 fails assertion in "src/share/vm/oops/instanceKlass.cpp, 111"
Reviewed-by: jrose, acorn
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 1908 : 7001363: java/dyn/InvokeDynamic should not be a well-known class in the JVM
Summary: Because of the removal of language support, the JDK 7 API for JSR 292 no longer includes a public class named java/dyn/InvokeDynamic.
Reviewed-by: jrose, kvn
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1833 : 6984311: JSR 292 needs optional bootstrap method parameters
Summary: Allow CONSTANT_InvokeDynamic nodes to have any number of extra operands.
Reviewed-by: twisti
rev 1823 : 6990192: VM crashes in ciTypeFlow::get_block_for()
Reviewed-by: never
rev 1713 : 6939224: MethodHandle.invokeGeneric needs to perform the correct set of conversions
Reviewed-by: never
rev 1580 : 6964498: JSR 292 invokedynamic sites need local bootstrap methods
Summary: Add JVM_CONSTANT_InvokeDynamic records to constant pool to determine per-instruction BSMs.
Reviewed-by: twisti
rev 1522 : 6939203: JSR 292 needs method handle constants
Summary: Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode.
Reviewed-by: twisti, never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1428 : 6939196: method handle signatures off the boot class path get linkage errors
Summary: Adjust MethodType lookup logic to search off the BCP, but not to cache those results
Reviewed-by: twisti
rev 1427 : 6939134: JSR 292 adjustments to method handle invocation
Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces
Reviewed-by: twisti
rev 1339 : Merge
rev 1336 : 6626217: Fixed loader constraint array handling
Summary: Loader constraints track array elements, not arrays themselves.
Reviewed-by: dcubed, kevinw
rev 1258 : 6920977: G1: guarantee(k == probe->klass(),"klass should be in dictionary") fails
Summary: the guarantee is too strict and the test will fail (incorrectly) if the class is not in the system dictionary but in the placeholders.
Reviewed-by: acorn, phh
rev 1142 : 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
rev 1135 : 6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164)
Summary: During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately.
Reviewed-by: kvn, never
rev 1076 : Merge
rev 1075 : 6893504: LinkageError for bootstrap duplicate class definitions.
Reviewed-by: kamg, xlu
rev 1059 : 6858164: invokedynamic code needs some cleanup (post-6655638)
Summary: Fix several crashers, remove needless paths for boxed-style bootstrap method call, refactor & simplify APIs for rewriter constantPoolOop, remove sun.dyn.CallSiteImpl
Reviewed-by: kvn
rev 1039 : 6815692: method handle code needs some cleanup (post-6655638)
Summary: correctly raise exceptions, support safe bitwise "raw" conversions, fix bugs revealed by VerifyMethodHandles, remove dead code, improve debugging support
Reviewed-by: never, twisti
rev 993 : Merge
rev 989 : 6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
rev 973 : 6830542: Performance: JVM_DefineClass already verified.
Reviewed-by: kamg, phh
rev 875 : 6857194: Add hotspot perf counters to aid class loading performance measurement
Summary: Add new jvmstat counters to measure detailed class loading time
Reviewed-by: acorn, kamg
rev 726 : 6655646: dynamic languages need dynamically linked call sites
Summary: invokedynamic instruction (JSR 292 RI)
Reviewed-by: twisti, never
rev 710 : 6655638: dynamic languages need method handles
Summary: initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.)
Reviewed-by: kvn, twisti, never
rev 665 : 6814659: separable cleanups and subroutines for 6655638
Summary: preparatory but separable changes for method handles
Reviewed-by: kvn, never
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 570 : Merge
rev 556 : 6790209: server VM fails with assert(will_link,"_new: typeflow responsibility")
Summary: Add missing code for reflection class loader in SystemDictionary::find().
Reviewed-by: never, jrose
rev 515 : 6791656: nsk defclass0 asserts handles.hpp
Reviewed-by: phh, xlu
rev 514 : 4670071: loadClassInternal is too restrictive.
Summary: VM support for deadlock fix. Library fix in 4735126. See API proposal.
Reviewed-by: dholmes, blacklion
rev 431 : 6653858: dynamic languages need to be able to load anonymous classes
Summary: low-level privileged sun.misc.Unsafe.defineAnonymousClass
Reviewed-by: kvn
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 132 : 6652736: well known classes in system dictionary are inefficiently processed
Summary: combine many scalar variables into a single enum-indexed array in SystemDictionary.
Reviewed-by: kvn
rev 22 : 6646946: Kernel installation failed on Japanese and Chinese XP SP2 (VM part)
Summary: convert strings from Download Manager into native encoding in the VM
Reviewed-by: sbohne, never, phh, kamg, xlu
rev 0 : Initial load
5 lines changed: 0 ins; 1 del; 4 mod; 2677 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/g1/concurrentMark.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8935 : 8129417: Oop iteration clean-up to remove oop_ms_follow_contents
Reviewed-by: pliden, ehelin
rev 8848 : 8087323: Unify and split the work gang classes
Reviewed-by: jmasa, sjohanss
rev 8838 : 8133121: Move implementation of process_grey_object to concurrentMark.inline.hpp
Summary: move implementation of process_grey_object to inline.hpp
Reviewed-by: kbarrett, simonis
rev 8777 : 8079082: VerifyNoCSetOopsClosure is derived twice from Closure
Summary: Change closure to a function object and update iteration
Reviewed-by: mgerdin, ecaspole
rev 8638 : 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Summary: Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett
rev 8595 : 8129549: G1: Make sure the concurrent thread does not mix its logging with the STW pauses
Reviewed-by: pliden, tschatzl
rev 8544 : 8042668: GC Support for shared heap ranges in CDS
Summary: Added "Archive Region" support to the G1 GC
Reviewed-by: tschatzl, brutisso
Contributed-by: tom.benson@oracle.com
rev 8529 : 7097567: G1: abstract and encapsulate collector phases and transitions between them
Reviewed-by: mgerdin, tschatzl
rev 8528 : 8081382: Make flags ParallelGCThreads and ConcGCThreads of type uint
Reviewed-by: drwhite, stefank
rev 8456 : 8081039: G1: Remove unused statistics code in G1NoteEndOfConcMarkClosure and G1ParNoteEndTask
Reviewed-by: jmasa, kbarrett
rev 8448 : 8080876: Replace unnecessary MAX2(ParallelGCThreads, 1) calls with ParallelGCThreads
Reviewed-by: kbarrett, mgerdin
rev 8447 : 8080840: Clean up active_workers() asserts
Reviewed-by: kbarrett, jmasa
rev 8446 : 8080837: Move number of workers calculation out of CollectionSetChooser::prepare_for_par_region_addition
Reviewed-by: kbarrett, mgerdin
rev 8443 : 8080113: Remove CollectedHeap::set_par_threads()
Reviewed-by: jmasa, kbarrett
rev 8442 : 8080112: Replace and remove the last usages of CollectedHeap::n_par_threads()
Reviewed-by: jmasa, kbarrett
rev 8440 : 8080110: Remove usage of CollectedHeap::n_par_threads() from root processing
Reviewed-by: jmasa, kbarrett
rev 8419 : 8080585: concurrentGCThread.hpp should not include suspendibleThreadSet.hpp
Reviewed-by: kbarrett, tschatzl
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
108 lines changed: 0 ins; 105 del; 3 mod; 4265 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/g1/concurrentMark.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8848 : 8087323: Unify and split the work gang classes
Reviewed-by: jmasa, sjohanss
rev 8838 : 8133121: Move implementation of process_grey_object to concurrentMark.inline.hpp
Summary: move implementation of process_grey_object to inline.hpp
Reviewed-by: kbarrett, simonis
rev 8777 : 8079082: VerifyNoCSetOopsClosure is derived twice from Closure
Summary: Change closure to a function object and update iteration
Reviewed-by: mgerdin, ecaspole
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
93 lines changed: 2 ins; 88 del; 3 mod; 1137 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/g1/concurrentMark.inline.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8838 : 8133121: Move implementation of process_grey_object to concurrentMark.inline.hpp
Summary: move implementation of process_grey_object to inline.hpp
Reviewed-by: kbarrett, simonis
rev 8777 : 8079082: VerifyNoCSetOopsClosure is derived twice from Closure
Summary: Change closure to a function object and update iteration
Reviewed-by: mgerdin, ecaspole
rev 8638 : 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Summary: Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
57 lines changed: 0 ins; 57 del; 0 mod; 384 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/g1/satbQueue.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8638 : 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Summary: Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
20 lines changed: 1 ins; 17 del; 2 mod; 356 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/serial/genMarkSweep.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8935 : 8129417: Oop iteration clean-up to remove oop_ms_follow_contents
Reviewed-by: pliden, ehelin
rev 8556 : 8077842: Remove the level parameter passed around in GenCollectedHeap
Reviewed-by: kbarrett, mgerdin
rev 8552 : 8085965: VM hangs in C2Compiler
Summary: CMSClassUnloadingEnabled and ExplicitGCInvokesConcurrentAndUnloadsClasses should be disabled when -Xnoclassgc is specified
Reviewed-by: jmasa, kbarrett
rev 8440 : 8080110: Remove usage of CollectedHeap::n_par_threads() from root processing
Reviewed-by: jmasa, kbarrett
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
1 line changed: 0 ins; 0 del; 1 mod; 333 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/serial/genMarkSweep.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8556 : 8077842: Remove the level parameter passed around in GenCollectedHeap
Reviewed-by: kbarrett, mgerdin
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
1 line changed: 1 ins; 0 del; 0 mod; 52 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/serial/markSweep.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8935 : 8129417: Oop iteration clean-up to remove oop_ms_follow_contents
Reviewed-by: pliden, ehelin
rev 8544 : 8042668: GC Support for shared heap ranges in CDS
Summary: Added "Archive Region" support to the G1 GC
Reviewed-by: tschatzl, brutisso
Contributed-by: tom.benson@oracle.com
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
6 lines changed: 6 ins; 0 del; 0 mod; 367 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/barrierSet.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8941 : 8134806: Clean up write_ref_field_work
Summary: Remove unnecessary pure virtual decl and default argument values.
Reviewed-by: jwilhelm, tbenson, jmasa
rev 8925 : 8072817: CardTableExtension kind() should be BarrierSet::CardTableExtension
Summary: Use BarrierSet::CardTableForRS where needed, and update concrete bs tags.
Reviewed-by: jwilhelm, jmasa
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
26 lines changed: 25 ins; 0 del; 1 mod; 223 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/collectedHeap.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8952 : 8134626: Misc cleanups after generation array removal
Reviewed-by: david, dholmes, tschatzl
rev 8649 : 8129573: CollectedHeap::fill_with_objects() needs to use multiple arrays in 32 bit mode too
Summary: In JDK-8042668 we introduced a custom fill threshold for G1. This leads to CollectedHeap::fill_with_objects create too large objects in G1 when using it in 32 bit mode, as the code to create multiple filler objects is IFDEF'ed out on 32 bit. Enable this code on 32 bit too.
Reviewed-by: tonyp, mgerdin, tbenson
rev 8442 : 8080112: Replace and remove the last usages of CollectedHeap::n_par_threads()
Reviewed-by: jmasa, kbarrett
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
24 lines changed: 23 ins; 0 del; 1 mod; 632 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/collectedHeap.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8544 : 8042668: GC Support for shared heap ranges in CDS
Summary: Added "Archive Region" support to the G1 GC
Reviewed-by: tschatzl, brutisso
Contributed-by: tom.benson@oracle.com
rev 8443 : 8080113: Remove CollectedHeap::set_par_threads()
Reviewed-by: jmasa, kbarrett
rev 8442 : 8080112: Replace and remove the last usages of CollectedHeap::n_par_threads()
Reviewed-by: jmasa, kbarrett
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
21 lines changed: 20 ins; 0 del; 1 mod; 631 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/collectedHeap.inline.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
2 lines changed: 2 ins; 0 del; 0 mod; 311 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/collectorPolicy.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8932 : 8134738: Remove CollectorPolicy::Name
Reviewed-by: brutisso, mgerdin
rev 8925 : 8072817: CardTableExtension kind() should be BarrierSet::CardTableExtension
Summary: Use BarrierSet::CardTableForRS where needed, and update concrete bs tags.
Reviewed-by: jwilhelm, jmasa
rev 8850 : 8133553: Running with -XX:+UseParallelGC -XX:OldSize=30k crashes jvm
Reviewed-by: jwilhelm, sjohanss
rev 8556 : 8077842: Remove the level parameter passed around in GenCollectedHeap
Reviewed-by: kbarrett, mgerdin
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
2 lines changed: 2 ins; 0 del; 0 mod; 303 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/gcCause.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8680 : 7012980: PSOldGen is increased if there is no space in Metaspace
Reviewed-by: tschatzl, tbenson
rev 8479 : 8072913: [REDO] GCCause should distinguish jcmd GC.run from System.gc()
Summary: GCCause which is caused by GC.run diagnostic command should be different from System.gc() .
Reviewed-by: jmasa, jwilhelm
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
2 lines changed: 2 ins; 0 del; 0 mod; 160 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/gcName.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
1 line changed: 1 ins; 0 del; 0 mod; 61 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/gcTrace.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8937 : 8066443: Add G1 support for promotion event
Reviewed-by: tschatzl
rev 8868 : 8133530: Add JFR event for evacuation statistics
Summary: Introduce two new JFR events for young/old generation allocation statistics based on previous changes.
Reviewed-by: ehelin, mgerdin
rev 8665 : 8078901: Add trace event for G1 MMU information
Reviewed-by: ehelin, mlarsson
rev 8542 : 8025608: GC trace events missing nursery size information
Reviewed-by: sjohanss, mgerdin
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
5 lines changed: 5 ins; 0 del; 0 mod; 283 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/referenceProcessor.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8952 : 8134626: Misc cleanups after generation array removal
Reviewed-by: david, dholmes, tschatzl
rev 8936 : 8133818: Additional number of processed references printed with -XX:+PrintReferenceGC after JDK-8047125
Summary: Test contributed by brutisso
Reviewed-by: tonyp, tschatzl
rev 8415 : 8058265: No callers of ReferenceProcessor::clear_discovered_references
Summary: Removed unused or unneeded code.
Reviewed-by: brutisso, jmasa
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
4 lines changed: 2 ins; 1 del; 1 mod; 1294 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/space.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8935 : 8129417: Oop iteration clean-up to remove oop_ms_follow_contents
Reviewed-by: pliden, ehelin
rev 8442 : 8080112: Replace and remove the last usages of CollectedHeap::n_par_threads()
Reviewed-by: jmasa, kbarrett
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
5 lines changed: 3 ins; 0 del; 2 mod; 787 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/space.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8442 : 8080112: Replace and remove the last usages of CollectedHeap::n_par_threads()
Reviewed-by: jmasa, kbarrett
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
9 lines changed: 8 ins; 0 del; 1 mod; 793 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/space.inline.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
20 lines changed: 2 ins; 0 del; 18 mod; 316 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/taskqueue.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8935 : 8129417: Oop iteration clean-up to remove oop_ms_follow_contents
Reviewed-by: pliden, ehelin
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
1 line changed: 1 ins; 0 del; 0 mod; 269 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/threadLocalAllocBuffer.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
37 lines changed: 27 ins; 0 del; 10 mod; 399 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/gc/shared/threadLocalAllocBuffer.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
19 lines changed: 9 ins; 7 del; 3 mod; 253 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/interpreter/interpreterRuntime.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8805 : 8132969: C++11 requires a space between literal and identifier
Reviewed-by: simonis, ctornqvi
Contributed-by: Matthias Baesken <matthias.baesken@sap.com>
rev 8666 : 8087333: Optionally Pre-Generate the HotSpot Template Interpreter
Summary: Optional support for pregenerated template interpreter
Reviewed-by: coleenp, dholmes, kvn
rev 8580 : 8087133: Improve sharing of native wrappers in SignatureHandlerLibrary
Summary: fingerprint normalization for arm32
Reviewed-by: dholmes, coleenp
rev 8533 : 8035074: hs_err improvement: Add time zone information in the hs_err file
8026335: hs_err improvement: Print exact compressed oops mode and the heap base value.
8026331: hs_err improvement: Print if we have seen any OutOfMemoryErrors or StackOverflowErrors
Summary: Add requested things to hs_err file.
Reviewed-by: ctornqvi, dholmes
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8354 : 8076579: Popping a stack frame after exception breakpoint sets last method param to exception
Summary: Null the InterpreterRuntime::member_name_arg_or_null return value when it is necessary
Reviewed-by: jbachorik, coleenp, twisti
rev 8117 : 8076492: Make common code from template interpreter code
Summary: Move case statement out of assembly code
Reviewed-by: minqi, sspitsyn, dholmes
rev 8102 : 8074345: Enable RewriteBytecodes when VM runs with CDS
Summary: Enable bytecode rewriting when CDS turned on.
Reviewed-by: coleenp, iklam
Contributed-by: yumin.qi@oracle.com, ioi.lam@oracle.com
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7584 : 8067231: Zero builds fails after JDK-6898462
Summary: Interpreter::remove_activation_entry() is not defined for the C++ interpreter
Reviewed-by: roland, coleenp
Contributed-by: Severin Gehwolf <sgehwolf@redhat.com>
rev 7537 : 6898462: The escape analysis with G1 cause crash assertion src/share/vm/runtime/vframeArray.cpp:94
Summary: OOM during reallocation of scalar replaced objects in deoptimization causes crashes
Reviewed-by: kvn, jrose
rev 7280 : 8046809: vm/mlvm/meth/stress/compiler/deoptimize CodeCache is full.
Summary: Use separate sweeper thread; enables more aggressive sweeping.
Reviewed-by: kvn, jrose
rev 7151 : 8059468: Fix PrintCodeCache output changed by JDK-8059137
Summary: Change output of PrintCodeCache to print "CodeCache" instead of "Code Cache" and change name of non-method code heap to non-nmethod code heap.
Reviewed-by: vlivanov, anoll
rev 7081 : 8015774: Add support for multiple code heaps
Summary: Support for segmentation of the code cache. Separate code heaps are created and used to store code of different types.
Reviewed-by: kvn, iveresov, roland, anoll, egahlin, sla
rev 6802 : 8051398: jvmti tests fieldacc002, fieldmod002 fail in nightly with errors: (watch#0) wrong location
Summary: Didn't handle NULL bcp for native methods
Reviewed-by: dcubed, sspitsyn
rev 6761 : Merge
rev 6760 : 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
rev 6732 : Merge
rev 6729 : 8048933: -XX:+TraceExceptions output should include the message
Summary: Add the exception detail message to the tracing output
Reviewed-by: minqi, dholmes
rev 6710 : 8022968: Some codecache allocation failures don't result in invoking the sweeper
Summary: Add calls to CompileBroker::handle_full_code_cache() or fail gracefully whenever allocation in the code cache fails.
Reviewed-by: iveresov, vlivanov
rev 6646 : 8044775: Improve usage of umbrella header atomic.inline.hpp.
Reviewed-by: stefank, kvn
rev 6501 : 8034935: JSR 292 support for PopFrame has a fragile coupling with DirectMethodHandle
Reviewed-by: twisti, jrose, sspitsyn
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6373 : 8036956: remove EnableInvokeDynamic flag
Summary: The EnableInvokeDynamic flag and all support code is removed because it is not longer used in JDK 9.
Reviewed-by: kvn, twisti
Contributed-by: Tobias Hartmann <tobias.hartmann@oracle.com>
rev 5976 : Merge
rev 5974 : 8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling
Summary: Implement profiling for c2 jit compilation. Also enable new cppInterpreter features.
Reviewed-by: kvn
rev 5297 : 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
rev 5061 : 7187554: JSR 292: JVMTI PopFrame needs to handle appendix arguments
Summary: Restore the appendix argument after PopFrame() call
Reviewed-by: twisti, coleenp
Contributed-by: serguei.spitsyn@oracle.com
rev 4558 : 8011661: Insufficient memory message says "malloc" when sometimes it should say "mmap"
Reviewed-by: coleenp, zgu, hseigel
rev 4503 : Merge
rev 4501 : 8010862: The Method counter fields used for profiling can be allocated lazily.
Summary: Allocate the method's profiling related metadata until they are needed.
Reviewed-by: coleenp, roland
rev 4454 : 8003310: Enable -Wunused-function when compiling with gcc
Summary: Add the -Wunused-function flag and remove a number of unused functions.
Reviewed-by: dholmes, coleenp, kvn
rev 3970 : 8001341: SIGSEGV in methodOopDesc::fast_exception_handler_bci_for(KlassHandle,int,Thread*)+0x3e9.
Summary: Use methodHandle.
Reviewed-by: coleenp, acorn, twisti, sspitsyn
rev 3883 : 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
rev 3845 : Merge
rev 3843 : 8001471: Klass::cast() does nothing
Summary: Remove function Klass::cast() and calls to it.
Reviewed-by: dholmes, coleenp
rev 3818 : 8001658: No need to pass resolved_references as argument to ConstantPoolCacheEntry::set_method_handle_common
Reviewed-by: twisti
Contributed-by: Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com>
rev 3716 : Merge
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3698 : 7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path
Reviewed-by: jrose, kvn
rev 3614 : 7196242: vm/mlvm/indy/stress/java/loopsAndThreads crashed
Reviewed-by: jrose, coleenp, jmasa, kvn
rev 3602 : 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>
rev 3534 : 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>
rev 3496 : Merge
rev 3495 : Merge
rev 3493 : 7087357: JSR 292: remove obsolete code after 7085860
Reviewed-by: kvn, never
rev 3486 : Merge
rev 3482 : 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table.
Summary: Change constMethodOop::_exception_table to optionally inlined u2 table.
Reviewed-by: bdelsart, coleenp, kamg
rev 3465 : 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking
Summary: Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd
Reviewed-by: acorn, coleenp, fparain
rev 3413 : 7174928: JSR 292: unresolved invokedynamic call sites deopt and osr infinitely
Reviewed-by: kvn
rev 3017 : 7131259: compile_method and CompilationPolicy::event shouldn't be declared TRAPS
Summary: Make sure that CompilationPolicy::event() doesn't throw exceptions
Reviewed-by: kvn, never
rev 2804 : 7094138: JSR 292: JRuby junit test fails in CallSite.setTargetNormal: obj->is_oop() failed: sanity check
Reviewed-by: iveresov, never
rev 2702 : 7086585: make Java field injection more flexible
Reviewed-by: jrose, twisti, kvn, coleenp
rev 2677 : Merge
rev 2676 : 7085012: ARM: com/sun/jdi/PopSynchronousTest.java still fails
Summary: InterpreterRuntime::popframe_move_outgoing_args() is required for the ARM interpreter.
Reviewed-by: kvn, twisti
rev 2666 : 7085404: JSR 292: VolatileCallSites should have push notification too
Reviewed-by: never, kvn
rev 2615 : 7071653: JSR 292: call site change notification should be pushed not pulled
Reviewed-by: kvn, never, bdelsart
rev 2553 : 7057120: Tiered: Allow C1 to inline methods with loops
Summary: Recompile the enclosing methods without inlining of the method that has OSRed to level 4 or recompile the enclosing method at level 4.
Reviewed-by: kvn, never
rev 2543 : 7055355: JSR 292: crash while throwing WrongMethodTypeException
Reviewed-by: jrose, twisti, bdelsart
rev 2499 : 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code
Reviewed-by: kvn, iveresov, jrose
rev 2307 : 6981791: remove experimental code for JSR 292
Reviewed-by: twisti
rev 2223 : 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
rev 2204 : 7012648: move JSR 292 to package java.lang.invoke and adjust names
Summary: package and class renaming only; delete unused methods and classes
Reviewed-by: twisti
rev 2075 : 7012088: jump to 0 address because of lack of memory ordering in SignatureHandlerLibrary::add
Summary: Write method signature handler under lock to prevent race with growable array resizing
Reviewed-by: dsamersoff, dholmes
rev 2073 : 7016023: Enable building ARM and PPC from src/closed repository
Reviewed-by: dholmes, bdelsart
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 2029 : Merge
rev 2027 : 4926272: methodOopDesc::method_from_bcp is unsafe
Reviewed-by: coleenp, jrose, kvn, dcubed
rev 2003 : 4930919: race condition in MDO creation at back branch locations
Summary: Reuse set_method_data_for_bcp() to setup mdp after MDO creation.
Reviewed-by: kvn, never
rev 1893 : 6704010: Internal Error (src/share/vm/interpreter/interpreterRuntime.cpp:1106)
Summary: Fixed a race condition in the assertion caused by an unguarded, concurrent access to a GrowableArray object.
Reviewed-by: coleenp, dholmes, dsamersoff
Contributed-by: volker.simonis@gmail.com
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1833 : 6984311: JSR 292 needs optional bootstrap method parameters
Summary: Allow CONSTANT_InvokeDynamic nodes to have any number of extra operands.
Reviewed-by: twisti
rev 1823 : 6990192: VM crashes in ciTypeFlow::get_block_for()
Reviewed-by: never
rev 1713 : 6939224: MethodHandle.invokeGeneric needs to perform the correct set of conversions
Reviewed-by: never
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1668 : 6978355: renaming for 6961697
Summary: This is the renaming part of 6961697 to keep the actual changes small for review.
Reviewed-by: kvn, never
rev 1580 : 6964498: JSR 292 invokedynamic sites need local bootstrap methods
Summary: Add JVM_CONSTANT_InvokeDynamic records to constant pool to determine per-instruction BSMs.
Reviewed-by: twisti
rev 1523 : 6730276: JDI_REGRESSION tests fail with "Error: count must be non-zero" error on x86
Summary: Modify assembler code to check for 0 count for all copy routines.
Reviewed-by: never, ysr, jcoomes
rev 1522 : 6939203: JSR 292 needs method handle constants
Summary: Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode.
Reviewed-by: twisti, never
rev 1499 : Merge
rev 1485 : 6939207: refactor constant pool index processing
Summary: Factored cleanup of instruction decode which prepares for enhanced ldc semantics.
Reviewed-by: twisti
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1427 : 6939134: JSR 292 adjustments to method handle invocation
Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces
Reviewed-by: twisti
rev 1426 : 6943304: remove tagged stack interpreter
Reviewed-by: coleenp, never, gbenson
rev 1213 : 6902182: 4/4 Starting with jdwp agent should not incur performance penalty
Summary: Rename can_post_exceptions support to can_post_on_exceptions. Add support for should_post_on_exceptions flag to permit per JavaThread optimizations.
Reviewed-by: never, kvn, dcubed
Contributed-by: tom.deneau@amd.com
rev 1142 : 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
rev 1138 : 6893268: additional dynamic language related optimizations in C2
Summary: C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance.
Reviewed-by: kvn, never
rev 1059 : 6858164: invokedynamic code needs some cleanup (post-6655638)
Summary: Fix several crashers, remove needless paths for boxed-style bootstrap method call, refactor & simplify APIs for rewriter constantPoolOop, remove sun.dyn.CallSiteImpl
Reviewed-by: kvn
rev 941 : 4957990: Perm heap bloat in JVM
Summary: Treat ProfileData in MDO's as a source of weak, not strong, roots. Fixes the bug for stop-world collection -- the case of concurrent collection will be fixed separately.
Reviewed-by: jcoomes, jmasa, kvn, never
rev 726 : 6655646: dynamic languages need dynamically linked call sites
Summary: invokedynamic instruction (JSR 292 RI)
Reviewed-by: twisti, never
rev 710 : 6655638: dynamic languages need method handles
Summary: initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.)
Reviewed-by: kvn, twisti, never
rev 0 : Initial load
2 lines changed: 0 ins; 0 del; 2 mod; 1396 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/memory/oopFactory.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3602 : 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>
rev 3482 : 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table.
Summary: Change constMethodOop::_exception_table to optionally inlined u2 table.
Reviewed-by: bdelsart, coleenp, kamg
rev 3306 : 7158552: The instanceKlsss::_host_klass is only needed for anonymous class for JSR 292 support.
Summary: Change the _host_klass to be conditionally created embedded instanceKlass field.
Reviewed-by: jrose, coleenp, dholmes
rev 3266 : 7154670: The instanceKlass _implementors[] and _nof_implementors are not needed for non-interface klass.
Summary: Change implementor to embedded instanceKlass field.
Reviewed-by: sspitsyn, minqi, coleenp
rev 2722 : 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
rev 2223 : 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
rev 2139 : 7020992: jmm_DumpThreads should not allocate system object arrays outside the perm gen
Summary: Allocate ordinary object arrays
Reviewed-by: ysr, never, mchung
rev 2102 : 7018257: jmm_DumpThreads allocates into permgen
Summary: Don't allocate in permgen
Reviewed-by: ysr, sla
rev 2098 : 6912621: iCMS: Error: assert(_markBitMap.isMarked(addr + 1),"Missing Printezis bit?")
Summary: Fix block_size_if_printezis_bits() so it does not expect the bits, only uses them when available. Fix block_size_no_stall() so it does not stall when the bits are missing such cases, letting the caller deal with zero size returns. Constant pool cache oops do not need to be unparsable or conc_unsafe after their klass pointer is installed. Some cosmetic clean-ups and some assertion checking for conc-usafety which, in the presence of class file redefinition, has no a-priori time boundedness, so all GCs must be able to safely deal with putatively conc-unsafe objects in a stop-world pause.
Reviewed-by: jmasa, johnc
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 939 : 6845368: large objects cause a crash or unexpected exception
Reviewed-by: jmasa, iveresov
rev 938 : 6861660: OopMapBlock count/size confusion
Reviewed-by: tonyp, iveresov
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 542 : 6792421: assert(_bitMap->isMarked(addr+size-1),inconsistent Printezis mark)
Summary: The CMS concurrent precleaning and concurrent marking phases should work around classes that are undergoing redefinition.
Reviewed-by: ysr, tonyp
rev 518 : 6692899: CMS: many vm.parallel_class_loading tests fail with assert "missing Printezis mark"
Summary: The CMS concurrent precleaning and concurrent marking phases should work around classes that are undergoing redefinition.
Reviewed-by: ysr, dcubed
rev 0 : Initial load
1 line changed: 1 ins; 0 del; 0 mod; 90 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/memory/universe.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8864 : 8133825: Remove the class G1CollectorPolicyExt
Reviewed-by: jwilhelm, ecaspole
rev 8863 : 8133821: Refactor initialization of the heap and the collector policy
Reviewed-by: pliden, tschatzl
rev 8778 : 8130459: Add additional validation after heap creation
Summary: Some PLAB related flags' validation can happen after heap creation. Introduced additional stage of validation check.
Reviewed-by: coleenp, dholmes, kbarrett, gziemski, ecaspole, ddmitriev
rev 8638 : 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Summary: Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett
rev 8543 : 8015086: add interned strings to the shared archive.
Summary: Support saving interned strings in shared CDS archive.
Reviewed-by: coleenp, iklam, pliden
rev 8533 : 8035074: hs_err improvement: Add time zone information in the hs_err file
8026335: hs_err improvement: Print exact compressed oops mode and the heap base value.
8026331: hs_err improvement: Print if we have seen any OutOfMemoryErrors or StackOverflowErrors
Summary: Add requested things to hs_err file.
Reviewed-by: ctornqvi, dholmes
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8256 : 8068582: UseSerialGC not always set up properly
Reviewed-by: jmasa, brutisso, sjohanss
rev 8245 : 8077417: Cleanup of Universe::initialize_heap()
Reviewed-by: stefank, kbarrett
rev 8054 : 8076073: shared: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files
Reviewed-by: stefank, brutisso
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7762 : 8068162: jvmtiRedefineClasses.cpp: guarantee(false) failed: OLD and/or OBSOLETE method(s) found
Summary: adjust Unsafe methods in the itable/vtable if Unsafe is redefined
Reviewed-by: coleenp, dcubed
Contributed-by: serguei.spitsyn@oracle.com
rev 7624 : 8067836: The Universe::flush_foo methods belong in CodeCache.
Summary: Move this code to CodeCache.
Reviewed-by: kbarrett, kvn
rev 7622 : 8064457: Introduce compressed oops mode disjoint base and improve compressed heap handling.
Summary: Introduce compressed oops mode disjoint base and improve compressed heap handling.
Reviewed-by: kvn, coleenp
rev 7613 : 8059510: Compact symbol table layout inside shared archive.
Summary: Use separate compact table for shared symbols.
Reviewed-by: iklam, gziemski, shade, sla, jrose
rev 7537 : 6898462: The escape analysis with G1 cause crash assertion src/share/vm/runtime/vframeArray.cpp:94
Summary: OOM during reallocation of scalar replaced objects in deoptimization causes crashes
Reviewed-by: kvn, jrose
rev 7474 : 8065305: Make it possible to extend the G1CollectorPolicy
Summary: Added a G1CollectorPolicyExt where it is possible to extend the class.
Reviewed-by: sjohanss, tschatzl
rev 7424 : 8064580: Move INCLUDE_CDS include section to the end of the include list
Reviewed-by: jwilhelm, brutisso, coleenp, dholmes
rev 7128 : 8057827: notify an obj when allocation context stats are available
Reviewed-by: mikael, jmasa, tschatzl
rev 7055 : 8022865: [TESTBUG] Compressed Oops testing needs to be revised
Summary: Rewrote compressed oops tests
Reviewed-by: kvn, coleenp, mseledtsov
rev 7017 : 8057570: RedefineClasses() tests fail assert(((Metadata*)obj)->is_valid()) failed: obj is valid
Summary: Revert two small changes from the previous-versions cleanup with marking code cache.
Reviewed-by: kvn, dcubed
rev 7012 : 8055008: Clean up code that saves the previous versions of redefined classes
Summary: Use scratch_class to find EMCP methods for breakpoints if the old methods are still running.
Reviewed-by: dcubed, sspitsyn
rev 6872 : 8046070: Class Data Sharing clean up and refactoring
Summary: Cleaned up CDS to be more configurable, maintainable and extensible
Reviewed-by: dholmes, coleenp, acorn, mchung
rev 6700 : 8034246: remove CMS and ParNew adaptive size policy code
Reviewed-by: tschatzl, jwilhelm, mgerdin
rev 6646 : 8044775: Improve usage of umbrella header atomic.inline.hpp.
Reviewed-by: stefank, kvn
rev 6592 : 8031819: Remove legacy jdk checks and code
Summary: Delete old jdk specific code.
Reviewed-by: dholmes, coleenp, zgu, lfoltan
rev 6417 : Merge
rev 6414 : 8038654: Separate SymbolTable and StringTable code
Summary: Refactor stringTable class out of symbolTable, making sure all includes are minimal set and are sorted.
Reviewed-by: coleenp, stefank
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6231 : 8028498: runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java asserts in RT_Baseline
Summary: Preventing GCs to occur before VM is completely initialized. This was previously partly done by one part of the GC locker which not was removed.
Reviewed-by: coleenp, pliden
rev 6014 : Merge
rev 5996 : Merge
rev 5989 : Merge
rev 5976 : Merge
rev 5966 : Merge
rev 5965 : 8023033: PPC64 (part 13): basic changes for AIX
Summary: Added AIX includes alpha-sorted before BSD. Fix compilation issues with xlC in shared code. Basic shared platform dependend adaption (vm_version etc.).
Reviewed-by: kvn, dholmes, stefank
rev 5863 : 8030177: G1: Enable TLAB resizing
Reviewed-by: tschatzl, stefank, jmasa
rev 5862 : 8025856: Fix typos in the GC code
Summary: Fix about 440 typos in comments in the VM code
Reviewed-by: mgerdin, tschatzl, coleenp, kmo, jcoomes
rev 5699 : 8016839: JSR292: AME instead of IAE when calling a method
Summary: Catch missing-because-illegal case for itable entries and use an exception-throwing method instead of null.
Reviewed-by: acorn, jrose, coleenp
rev 5651 : Merge
rev 5650 : 8016309: assert(eden_size > 0 && survivor_size > 0) failed: just checking
7057939: jmap shows MaxNewSize=4GB when Java is using parallel collector
Summary: Major cleanup of the collectorpolicy classes
Reviewed-by: tschatzl, jcoomes
rev 5649 : 8026853: Prepare GC code for collector policy regression fix
Summary: Cleanup related to the NewSize and MaxNewSize bugs
Reviewed-by: tschatzl, jcoomes, ehelin
rev 5594 : 8024927: Nashorn performance regression with CompressedOops
Summary: Allocate compressed class space at end of Java heap.  For small heap sizes, without CDS, save some space so compressed classes can have the same favorable compression as oops
Reviewed-by: stefank, hseigel, goetz
rev 5592 : 8026822: metaspace/flags/maxMetaspaceSize throws OOM of unexpected type.java.lang.OutOfMemoryError: Compressed class space
Summary: Incorporate chunk size when seeing if OutOfMemoryError was caused by Metaspace or Compressed class space.
Reviewed-by: stefank, coleenp
rev 5302 : Merge
rev 5291 : 8024760: add more types, fields and constants to VMStructs
Reviewed-by: kvn, coleenp
rev 5276 : 8024396: VM crashing with assert(!UseLargePages || UseParallelOldGC || use_large_pages) failed: Wrong alignment to use large pages
Summary: Loosen wrong assert for UseParallelOldGC to UseParallelGC
Reviewed-by: stefank, brutisso
rev 5266 : 8010722: assert: failed: heap size is too big for compressed oops
Summary: Use conservative assumptions of required alignment for the various garbage collector components into account when determining the maximum heap size that supports compressed oops. Using this conservative value avoids several circular dependencies in the calculation.
Reviewed-by: stefank, dholmes
rev 5259 : 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
rev 5143 : 8007074: SIGSEGV at ParMarkBitMap::verify_clear()
Summary: Replace the broken large pages implementation on Linux. New flag: -XX:+UseTransparentHugePages - Linux specific flag to turn on transparent huge page hinting with madvise(..., MAP_HUGETLB). Changed behavior: -XX:+UseLargePages - tries to use -XX:+UseTransparentHugePages before trying other large pages implementations (on Linux). Changed behavior: -XX:+UseHugeTLBFS - Use upfront allocation of Large Pages instead of using the broken implementation to dynamically committing large pages. Changed behavior: -XX:LargePageSizeInBytes - Turned off the ability to use this flag on Linux and provides warning to user if set to a value different than the OS chosen large page size. Changed behavior: Setting no large page size - Now defaults to use -XX:UseTransparentHugePages if the OS supports it. Previously, -XX:+UseHugeTLBFS was chosen if the OS was configured to use large pages.
Reviewed-by: tschatzl, dcubed, brutisso
rev 5096 : 8014659: NPG: performance counters for compressed klass space
Reviewed-by: mgerdin, coleenp, hseigel, jmasa, ctornqvi
rev 5093 : 8003424: Enable Class Data Sharing for CompressedOops
8016729: ObjectAlignmentInBytes=16 now forces the use of heap based compressed oops
8005933: The -Xshare:auto option is ignored for -server
Summary: Move klass metaspace above the heap and support CDS with compressed klass ptrs.
Reviewed-by: coleenp, kvn, mgerdin, tschatzl, stefank
rev 5073 : 8009728: nsk/jvmti/AttachOnDemand/attach030 crashes on Win32
Summary: ActiveMethodOopsCache was used to keep track of old versions of some methods that are cached in Universe but is buggy with permgen removal and not needed anymore
Reviewed-by: sspitsyn, dcubed, mseledtsov
rev 4934 : 7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful.
Summary: Remove -Xaprof and Klass::_alloc_count & ArrayKlass::_alloc_size.
Reviewed-by: stefank, coleenp
rev 4903 : Merge
rev 4902 : 8015391: NPG: With -XX:+UseCompressedKlassPointers OOME due to exhausted metadata space could occur when metaspace is almost empty
Summary: Allocate medium chunks for class metaspace when class loader has lots of classes
Reviewed-by: mgerdin, jmasa
rev 4886 : Merge
rev 4877 : 8013590: NPG: Add a memory pool MXBean for Metaspace
Reviewed-by: jmasa, mgerdin
rev 4860 : Merge
rev 4824 : 8014431: cleanup warnings indicated by the -Wunused-value compiler option on linux
Reviewed-by: dholmes, coleenp
Contributed-by: jeremymanson@google.com, calvin.cheung@oracle.com
rev 4817 : Merge
rev 4816 : Merge
rev 4814 : Merge
rev 4812 : Merge
rev 4807 : 8001330: Improve on checking order
Reviewed-by: acorn, hawtin
rev 4802 : 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>
rev 4756 : 8015007: Incorrect print format in error message for VM cannot allocate the requested heap
Summary: Correct the wrong print format in error message for VM cannot allocate the requested heap; and clean up the error message call in check_alignment()
Reviewed-by: brutisso, tschatzl
Contributed-by: tamao <tao.mao@oracle.com>
rev 4662 : 8003557: NPG: Klass* const k should be const Klass* k.
Summary: With NPG, const KlassOop klass which is in fact a definition converted to Klass* const, which is not the original intention. The right usage is converting them to const Klass*.
Reviewed-by: coleenp, kvn
Contributed-by: yumin.qi@oracle.com
rev 4583 : 8013132: Add a flag to turn off the output of the verbose verification code
Reviewed-by: johnc, brutisso
rev 4456 : Merge
rev 4454 : 8003310: Enable -Wunused-function when compiling with gcc
Summary: Add the -Wunused-function flag and remove a number of unused functions.
Reviewed-by: dholmes, coleenp, kvn
rev 4420 : 8010463: G1: Crashes with -UseTLAB and heap verification
Summary: Some parts of the G1 heap can only be walked during a safepoint. Skip verifying these parts of the heap when verifying during JVM startup.
Reviewed-by: brutisso, tschatzl
rev 4392 : 8010818: NPG: Remove metaspace memory pools
Reviewed-by: mgerdin, stefank
rev 4390 : 8000754: NPG: Implement a MemoryPool MXBean for Metaspace
Reviewed-by: jmasa, stefank
rev 4306 : 8001049: VM crashes when running with large -Xms and not specifying ObjectAlignmentInBytes
Summary: Take the initial heap size into account when checking the heap size for compressed oops
Reviewed-by: jmasa, kvn, hseigel, ctornqvi
rev 4109 : Merge
rev 4108 : Merge
rev 4107 : 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
rev 4088 : 8000968: NPG: UseCompressedKlassPointers asserts with ObjectAlignmentInBytes for > 32G CompressedOops
Summary: Pick a base that works for both CompressedOpps alignment and CompressedKlassPtrs alignment.
Reviewed-by: kvn, roland
rev 4030 : 7102489: RFE: cleanup jlong typedef on __APPLE__and _LLP64 systems.
Summary: Define jlong as long on all LP64 platforms and add JLONG_FORMAT macro.
Reviewed-by: dholmes, coleenp, mikael, kvn
rev 3871 : Merge
rev 3869 : 8000662: NPG: nashorn ant clean test262 out-of-memory with Java heap
Summary: Add ClassLoaderData object for each anonymous class with metaspaces to allocate in.
Reviewed-by: twisti, jrose, stefank
rev 3866 : Merge
rev 3864 : 8003935: Simplify the needed includes for using Thread::current()
Reviewed-by: dholmes, rbackman, coleenp
rev 3860 : 8003635: NPG: AsynchGetCallTrace broken by Method* virtual call
Summary: Make metaspace::contains be lock free and used to see if something is in metaspace, also compare Method* with vtbl pointer.
Reviewed-by: dholmes, sspitsyn, dcubed, jmasa
rev 3845 : Merge
rev 3843 : 8001471: Klass::cast() does nothing
Summary: Remove function Klass::cast() and calls to it.
Reviewed-by: dholmes, coleenp
rev 3829 : 7200229: NPG: possible performance issue exposed by closed/runtime/6559877/Test6559877.java
Summary: Reduce the amount of calls to ChunkManager verification code
Reviewed-by: jmasa, coleenp
rev 3746 : Merge
rev 3743 : 7199068: NPG: SharedSkipVerify is meaningless
Summary: Remove the SharedSkipVerify flag
Reviewed-by: kamg, sspitsyn, coleenp
Contributed-by: harold.seigel@oracle.com
rev 3733 : Merge
rev 3732 : Merge
rev 3730 : 7189254: Change makefiles for more flexibility to override defaults
Summary: Change makefiles so that targets and parameters can be overridden by alternate makefiles.
Reviewed-by: dholmes, coleenp
rev 3729 : Merge
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3627 : 7197269: NPG: FollowReferences has no ClassLoader -> Class link to follow
Summary: restore java/lang/ClassLoader.addClass() upcall
Reviewed-by: sspitsyn, dcubed, jmasa
rev 3613 : 7196103: NPG: Unable to allocate bit map for parallel garbage collection for the requested heap size
Summary: Don't allocate huge class metaspace size by default on x64
Reviewed-by: stefank, jmasa, kvn
rev 3612 : 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
Summary: Simple renaming to be consistent with instanceKlass->InstanceKlass renaming
Reviewed-by: stefank, jmasa
rev 3602 : 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>
rev 3465 : 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking
Summary: Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd
Reviewed-by: acorn, coleenp, fparain
rev 3276 : 4988100: oop_verify_old_oop appears to be dead
Summary: removed oop_verify_old_oop and allow_dirty. Also reviewed by: alexlamsl@gmail.com
Reviewed-by: jmasa, jwilhelm
rev 3136 : 7145537: minor tweaks to LogEvents
Reviewed-by: kvn, twisti
rev 2834 : 7099849: G1: include heap region information in hs_err files
Reviewed-by: johnc, brutisso, poonam
rev 2774 : 7088680: G1: Cleanup in the G1CollectorPolicy class
Summary: Removed unused fields and methods, removed the G1CollectoryPolicy_BestRegionsFirst class and folded its functionality into the G1CollectorPolicy class.
Reviewed-by: ysr, brutisso, jcoomes
rev 2721 : 7089790: integrate bsd-port changes
Reviewed-by: kvn, twisti, jrose
Contributed-by: Kurt Miller <kurt@intricatesoftware.com>, Greg Lewis <glewis@eyesbeyond.com>, Jung-uk Kim <jkim@freebsd.org>, Christos Zoulas <christos@zoulas.com>, Landon Fuller <landonf@plausible.coop>, The FreeBSD Foundation <board@freebsdfoundation.org>, Michael Franz <mvfranz@gmail.com>, Roger Hoover <rhoover@apple.com>, Alexander Strange <astrange@apple.com>
rev 2659 : 7083184: JSR 292: don't store context class argument with call site dependencies
Reviewed-by: jrose, never
rev 2615 : 7071653: JSR 292: call site change notification should be pushed not pulled
Reviewed-by: kvn, never, bdelsart
rev 2534 : 7004681: G1: Extend marking verification to Full GCs
Summary: Perform a heap verification after the first phase of G1's full GC using objects' mark words to determine liveness. The third parameter of the heap verification routines, which was used in G1 to determine which marking bitmap to use in liveness calculations, has been changed from a boolean to an enum with values defined for using the mark word, and the 'prev' and 'next' bitmaps.
Reviewed-by: tonyp, ysr
rev 2223 : 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
rev 2222 : 7028374: race in fix_oop_relocations for scavengeable nmethods
Reviewed-by: kvn
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 1968 : 7006505: Use kstat info to identify SPARC processor
Summary: read Solaris kstat data to get more precise CPU information
Reviewed-by: iveresov, never, twisti, dholmes
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1873 : Merge
rev 1870 : 6999491: non-zero COOPs are used when they should not
Summary: HeapBaseMinAddress should be used only for a default heap size calculation.
Reviewed-by: iveresov, jcoomes, dholmes
rev 1866 : 7000578: CMS: assert(SafepointSynchronize::is_at_safepoint()) failed: Else races are possible
Summary: Weakened assert in onj_is_alive() to allow its use at initialization time when is_at_safepoint() normally reports false; added some related asserts to check order of is_init_completed() after Universe::is_fully_initialized().
Reviewed-by: jcoomes
rev 1499 : Merge
rev 1491 : 6916623: Align object to 16 bytes to use Compressed Oops with java heap up to 64Gb
Summary: Added new product ObjectAlignmentInBytes flag to control object alignment.
Reviewed-by: twisti, ysr, iveresov
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1427 : 6939134: JSR 292 adjustments to method handle invocation
Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces
Reviewed-by: twisti
rev 1142 : 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
rev 1080 : 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
rev 1057 : 6896084: VM does not reserve protected page below heap for compressed oops implicit null checks
Summary: Set narrow_oop_base and narrow_oop_use_implicit_null_checks in Universe::preferred_heap_base().
Reviewed-by: twisti, jcoomes
rev 922 : 6869822: assert(Universe::narrow_oop_shift() == 0,"use unscaled narrow oop")
Summary: Replace the assert with narrow_oop_shift set to 0.
Reviewed-by: never, jcoomes
rev 845 : 6700789: G1: Enable use of compressed oops with G1 heaps
Summary: Modifications to G1 so as to allow the use of compressed oops.
Reviewed-by: apetrusenko, coleenp, jmasa, kvn, never, phh, tonyp
rev 647 : Merge
rev 642 : 6791178: Specialize for zero as the compressed oop vm heap base
Summary: Use zero based compressed oops if java heap is below 32gb and unscaled compressed oops if java heap is below 4gb.
Reviewed-by: never, twisti, jcoomes, coleenp
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 494 : 6786195: many nsk.monitoring tests fail with -server -Xcomp
Summary: remove Universe::_fillerArrayKlassObj and associated code
Reviewed-by: jmasa, tonyp
rev 481 : 6578152: fill_region_with_object has usability and safety issues
Reviewed-by: apetrusenko, ysr
rev 453 : 6684579: SoftReference processing can be made more efficient
Summary: For current soft-ref clearing policies, we can decide at marking time if a soft-reference will definitely not be cleared, postponing the decision of whether it will definitely be cleared to the final reference processing phase. This can be especially beneficial in the case of concurrent collectors where the marking is usually concurrent but reference processing is usually not.
Reviewed-by: jmasa
rev 356 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 242 : 6721093: -XX:AppendRatio=N not supported
Summary: Add mechanism to ignore unsupported flags for a set period of time
Reviewed-by: acorn, never, coleenp
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 113 : 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
rev 0 : Initial load
7 lines changed: 7 ins; 0 del; 0 mod; 1299 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/oops/cpCache.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8638 : 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Summary: Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett
rev 8274 : 8073705: more performance issues in class redefinition
Summary: Optimize the method pointer adjustments for prev klass versions and MNT
Reviewed-by: dcubed, coleenp
rev 8036 : 8075803: Fix GC includes and forward declarations
Reviewed-by: pliden, mgerdin
rev 7918 : Merge
rev 7914 : 8046246: the constantPoolCacheOopDesc::adjust_method_entries() used in RedefineClasses does not scale
Summary: optimize the adjust_method_entries functions by using the orig_method_idnum() function
Reviewed-by: coleenp, dcubed
Contributed-by: serguei.spitsyn@oracle.com
rev 7901 : 8073554: Remove unnecessary includes of markSweep[.inline].hpp
Reviewed-by: tschatzl, coleenp
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7517 : 8066171: Out of order with Metaspace allocation lock
Summary: Lock resolved_references instead.
Reviewed-by: twisti, sspitsyn
rev 6649 : Merge
rev 6646 : 8044775: Improve usage of umbrella header atomic.inline.hpp.
Reviewed-by: stefank, kvn
rev 6620 : 8026977: NPG: Remove ConstantPool::lock
Summary: Write klass and resolved_references constant pool fields lock free.
Reviewed-by: jrose, twisti
rev 6549 : 8029381: assert(is_method_type()) failed: bad cast
Summary: Access to method_type and appendix from constant pool (cpcache) needs to be guarded by is_f1_null() because of racy update/initialization.
Reviewed-by: kvn, coleenp, jrose
rev 6447 : 8042796: jvmtiRedefineClasses.cpp: guarantee(false) failed: OLD and/or OBSOLETE method(s) found
Summary: Relax the guaranty for deleted methods
Reviewed-by: dcubed, coleenp
Contributed-by: serguei.spitsyn@oracle.com
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6402 : 8042195: Introduce umbrella header orderAccess.inline.hpp.
Reviewed-by: dholmes, kvn, stefank, twisti
rev 6206 : 8031820: NPG: Fix remaining references to metadata as oops in comments
8012125: Comments for ConstantPoolCache should reflect the addition of resolved_references in ConstantPool
Summary: Updated comments in metadata header files, and renamed this_oop variables to this_cp or this_k when referring to constant pool or classes.
Reviewed-by: stefank, jmasa
rev 5997 : 8029396: PPC64 (part 212): Several memory ordering fixes in C-code.
Summary: memory ordering fixes in GC and other runtime code showing on PPC64.
Reviewed-by: kvn, coleenp
rev 5646 : 8025937: assert(existing_f1 == NULL || existing_f1 == f1) failed: illegal field change
Summary: Create extra constant pool cache entries for invokespecial/InterfaceMethodref to hold the alternate resolution.
Reviewed-by: jrose, lfoltan, hseigel
rev 5536 : 8014910: deadlock between JVM/TI ClassPrepare event handler and CompilerThread
Summary: Revert changes in JDK-8008962
Reviewed-by: coleenp, sspitsyn
rev 5349 : 7195622: CheckUnhandledOops has limited usefulness now
Summary: Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms.
Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin
Contributed-by: lois.foltan@oracle.com
rev 5297 : 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
rev 4773 : 8014912: Restore PrintSharedSpaces functionality after NPG
Summary: Added dumping of object sizes in CDS archive, sorted by MetaspaceObj::Type
Reviewed-by: coleenp, acorn
rev 4549 : 8008962: NPG: Memory regression: One extra Monitor per ConstantPool
Summary: Re-use InstanceKlass::_init_lock locking ConstantPool as well.
Reviewed-by: dholmes, coleenp, acorn
rev 4277 : 8003553: NPG: metaspace objects should be zeroed in constructors
Summary: Zero metadata in constructors, not in allocation (and some in constructors)
Reviewed-by: jmasa, sspitsyn
rev 4131 : Merge
rev 4127 : 7182152: Instrumentation hot swap test incorrect monitor count
Summary: Add/refine new tracing support using -XX:TraceRedefineClasses=16384.
Reviewed-by: coleenp, acorn, sspitsyn
rev 4107 : 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
rev 3845 : Merge
rev 3843 : 8001471: Klass::cast() does nothing
Summary: Remove function Klass::cast() and calls to it.
Reviewed-by: dholmes, coleenp
rev 3821 : Merge
rev 3818 : 8001658: No need to pass resolved_references as argument to ConstantPoolCacheEntry::set_method_handle_common
Reviewed-by: twisti
Contributed-by: Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com>
rev 3816 : 8000725: NPG: method_holder() and pool_holder() and pool_holder field should be InstanceKlass
Summary: Change types of above methods and field to InstanceKlass and remove unneeded casts from the source files.
Reviewed-by: dholmes, coleenp, zgu
Contributed-by: harold.seigel@oracle.com
rev 3698 : 7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path
Reviewed-by: jrose, kvn
rev 3614 : 7196242: vm/mlvm/indy/stress/java/loopsAndThreads crashed
Reviewed-by: jrose, coleenp, jmasa, kvn
rev 3602 : 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>
1 line changed: 0 ins; 0 del; 1 mod; 674 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/oops/instanceKlass.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8816 : 8087342: Crash in klassItable::initialize_itable_for_interface
Summary: Fix method searches to handle static, private instance and overpass
Reviewed-by: lfoltan, dholmes, hseigel
rev 8551 : 8076110: VM crash when class is redefined with Instrumentation.redefineClasses
Reviewed-by: coleenp, sspitsyn
rev 8497 : Merge
rev 8493 : 8081320: Backout JDK-8059340: ConstantPool::_resolved_references is missing in heap dump
Reviewed-by: sspitsyn, coleenp
rev 8488 : Merge
rev 8485 : 8059340: ConstantPool::_resolved_references is missing in heap dump
Reviewed-by: sspitsyn, stefank, twisti
rev 8484 : 8079205: CallSite dependency tracking is broken after sun.misc.Cleaner became automatically cleared
Reviewed-by: roland, psandoz, plevart, kbarrett, jrose
rev 8468 : 8076319: jstat verified class fix
Summary: Move verify perf data so that it only counts classes that actually get verified.
Reviewed-by: acorn, coleenp, gtriantafill
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8212 : Merge
rev 8207 : 8057919: Class.getSimpleName() should work for non-JLS compliant class names
Reviewed-by: dholmes, jrose
rev 8149 : Merge
rev 8135 : 8075955: Replace the macro based implementation of oop_oop_iterate with a template based solution
Reviewed-by: brutisso, coleenp, kbarrett, sjohanss
rev 8131 : Merge
rev 8105 : Merge
rev 8092 : 8067662: "java.lang.NullPointerException: Method name is null" from StackTraceElement.<init>
Summary: use method cpref and klass version to provide meaningful methods name in stacktraces
Reviewed-by: coleenp, dcubed
rev 8089 : 8005521: StressMethodComparator is not thread-safe
Summary: Remove the debug option. It isn't correct or tested.
Reviewed-by: gtriantafill, dholmes, sspitsyn
rev 8046 : 8075957: Reduce calls to the GC specific object visitors in oopDesc
Reviewed-by: brutisso, mgerdin, pliden
rev 8033 : Merge
rev 8023 : 8075247: Cleanup specialized_oop_closures.hpp
Reviewed-by: mgerdin, brutisso, tschatzl
rev 8022 : 8075242: Remove SpecializationStats
Reviewed-by: brutisso, mgerdin
rev 7999 : 8061205: MetadataOnStackMark only needs to walk code cache during class redefinition
Summary: Only do full metadata walk during class redefinition and only walk handles during class unloading.
Reviewed-by: sspitsyn, stefank
rev 7914 : 8046246: the constantPoolCacheOopDesc::adjust_method_entries() used in RedefineClasses does not scale
Summary: optimize the adjust_method_entries functions by using the orig_method_idnum() function
Reviewed-by: coleenp, dcubed
Contributed-by: serguei.spitsyn@oracle.com
rev 7766 : Merge
rev 7759 : 8067480: Crash in klassItable::initialize_itable_for_interface when running vm.runtime.defmeth.StaticMethodsTest.
Summary: A static method should be skipped in entirety by find_instance_method(), searching should continue to find an overpass method of the same name and signature if present.
Reviewed-by: acorn, hseigel
rev 7698 : 8064524: Compiler code generation improvements
Reviewed-by: jrose, acorn, vlivanov
rev 7615 : 8067713: Move clean_weak_method_links for redefinition out of class unloading
Summary: Do this work during class redefinition, only verify clean during class unloading in debug mode.
Reviewed-by: sspitsyn, roland, kbarrett
rev 7465 : Merge
rev 7462 : 8060074: os::free() takes MemoryTrackingLevel but doesn't need it
Summary: Cleaned up unused arguments in os::free and it's callers.
Reviewed-by: lfoltan, coleenp, ctornqvi, dholmes
Contributed-by: max.ockner@oracle.com
rev 7435 : Merge
rev 7426 : Merge
rev 7421 : 8064811: Use THREAD instead of CHECK_NULL in return statements
Reviewed-by: coleenp, simonis, dholmes
rev 7415 : 8042235: redefining method used by multiple MethodHandles crashes VM
Summary: note all MemberNames created on internal list for adjusting method entries.
Reviewed-by: sspitsyn, dcubed, lfoltan
rev 7338 : 8062116: JVMTI GetClassMethods is Slow
Summary: Allocate enough space for all jmethodids; make adding a jmethodid O(1)
Reviewed-by: coleenp, rasbold, sspitsyn
rev 7331 : 8062370: Various minor code improvements
Summary: A lot of fixes useful to improve the code quality.
Reviewed-by: coleenp, dholmes
rev 7295 : Merge
rev 7294 : 8061817: Whitebox.deoptimizeMethod() does not deoptimize all OSR versions of method
Summary: Fixed Whitebox.deoptimizeMethod() to deoptimize all OSR versions of the method.
Reviewed-by: kvn, iignatyev
rev 7269 : 8059846: InstanceKlass should use MutexLockerEx to acquire OsrList_lock
Summary: Replace explicit locking of OsrList_lock by a MutexLockerEx instantiation.
Reviewed-by: kvn, anoll, drchase, dholmes, dlong, coleenp
rev 7262 : 8043275: Fix interface initialization for default methods.
Summary: Initialize interfaces that declare concrete instance methods.
Reviewed-by: kamg, coleenp, psandoz
rev 7012 : 8055008: Clean up code that saves the previous versions of redefined classes
Summary: Use scratch_class to find EMCP methods for breakpoints if the old methods are still running.
Reviewed-by: dcubed, sspitsyn
rev 7010 : 8046210: Missing memory barrier when reading init_lock
Reviewed-by: fparain, dcubed, mdoerr
Contributed-by: Bill Pittore <bill.pittore@oracle.com>
rev 6953 : 8054819: Rename HeapRegionSeq to HeapRegionManager
Reviewed-by: jwilhelm, jmasa
rev 6872 : 8046070: Class Data Sharing clean up and refactoring
Summary: Cleaned up CDS to be more configurable, maintainable and extensible
Reviewed-by: dholmes, coleenp, acorn, mchung
rev 6715 : 8049426: Minor cleanups after G1 class unloading
Reviewed-by: stefank, brutisso
rev 6707 : 8049421: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
Contributed-by: stefan.karlsson@oracle.com, mikael.gerdin@oracle.com
rev 6706 : 8049420: Backout 8048248 to correct attribution
Reviewed-by: ehelin, brutisso
rev 6705 : 8048248: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
rev 6651 : 8046670: Make CMS metadata aware closures applicable for other collectors
Reviewed-by: ehelin, mgerdin
rev 6646 : 8044775: Improve usage of umbrella header atomic.inline.hpp.
Reviewed-by: stefank, kvn
rev 6512 : 6904403: assert(f == k-&gt;has_finalizer(),&quot;inconsistent has_finalizer&quot;) with debug VM
Summary: Don't assert if one of classes in hierarhy was redefined
Reviewed-by: coleenp, sspitsyn
rev 6481 : 8042727: nsk/jdb/unwatch/unwatch001 crash in InstanceKlass::methods_do(void (*)(Method*))
Summary: Only walk methods in instanceklass if the class is loaded
Reviewed-by: dholmes, fparain
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6402 : 8042195: Introduce umbrella header orderAccess.inline.hpp.
Reviewed-by: dholmes, kvn, stefank, twisti
rev 6373 : 8036956: remove EnableInvokeDynamic flag
Summary: The EnableInvokeDynamic flag and all support code is removed because it is not longer used in JDK 9.
Reviewed-by: kvn, twisti
Contributed-by: Tobias Hartmann <tobias.hartmann@oracle.com>
rev 6288 : 8033150: invokestatic: IncompatibleClassChangeError trying to invoke static method from a parent in presence of conflicting defaults.
Summary: A static method should be preferred during method resolution over an overpass, search the current class as well as its superclasses.
Reviewed-by: acorn, coleenp, kamg
rev 6275 : Merge
rev 6274 : 8028497: SIGSEGV at ClassLoaderData::oops_do(OopClosure*, KlassClosure*, bool)
Summary: Keep class in CLD::_klasses list and mirror created for CDS classes if OOM during restore_shareable_info(). This keeps pointers consistent for CMS.
Reviewed-by: ehelin, stefank, jmasa, iklam
rev 6247 : 8038636: speculative traps break when classes are redefined
Summary: remove speculative traps that point to methods that are redefined
Reviewed-by: kvn, twisti
rev 6206 : 8031820: NPG: Fix remaining references to metadata as oops in comments
8012125: Comments for ConstantPoolCache should reflect the addition of resolved_references in ConstantPool
Summary: Updated comments in metadata header files, and renamed this_oop variables to this_cp or this_k when referring to constant pool or classes.
Reviewed-by: stefank, jmasa
rev 6067 : Merge
rev 6058 : 8034188: OSR methods may not be recompiled at proper compilation level
Summary: remove_osr_nmethod doesn't check that it is the correct method
Reviewed-by: kvn, iveresov
rev 6054 : 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
Summary: support for speculative traps that keep track of the root of the compilation in which a trap occurs.
Reviewed-by: kvn, twisti
rev 6047 : Merge
rev 6045 : 8035648: Don't use Handle in java_lang_String::print
Reviewed-by: coleenp, pliden
rev 6035 : 4505697: nsk/jdi/ExceptionEvent/_itself_/exevent006 and exevent008 tests fail with InvocationTargetException
Reviewed-by: dcubed, dholmes, sspitsyn
rev 6019 : Merge
rev 6010 : Merge
rev 6001 : Merge
rev 5997 : 8029396: PPC64 (part 212): Several memory ordering fixes in C-code.
Summary: memory ordering fixes in GC and other runtime code showing on PPC64.
Reviewed-by: kvn, coleenp
rev 5934 : 8034080: Remove the USDT1 dtrace code from Hotspot
Reviewed-by: dholmes, coleenp
rev 5932 : 8027146: Class loading verification failure if GC occurs in Universe::flush_dependents_on
Summary: Remove search in system dictionary and hacks, replace with verifying in CLD::_klasses list.
Reviewed-by: dcubed, acorn
rev 5774 : 8027804: JCK resolveMethod test fails expecting AbstractMethodError
Summary: Create AME overpass methods and fix method search logic
Reviewed-by: kamg, acorn, lfoltan, coleenp
rev 5763 : 8028993: Full collections with ParallelScavenge slower in JDK 8 compared to 7u40
Summary: Reducing the number of calls to follow_class_loader to speed up the marking phase. Also removed some unnecessary calls to adjust_klass.
Reviewed-by: stefank, jmasa, mgerdin
rev 5716 : Merge
rev 5714 : Merge
rev 5713 : 8027675: Full collections with Serial slower in JDK 8 compared to 7u40
Summary: Reduced the number of calls to follow_class_loader and instead marked and pushed the klass holder directly. Also removed unneeded calls to adjust_klass.
Reviewed-by: coleenp, jmasa, mgerdin, tschatzl
rev 5710 : 8028438: static superclass method masks default methods
Reviewed-by: hseigel, lfoltan, coleenp
rev 5697 : 8026065: InterfaceMethodref for invokespecial must name a direct superinterface
Summary: Add verification to check that invokespecial of an InterfaceMethodref names a method in a direct superinterface of the current class or interface in accordance with JSR 335, JVMS 4.9.2 Structural Constraints.
Reviewed-by: acorn, hseigel, coleenp
Contributed-by: lois.foltan@oracle.com
rev 5670 : 8027572: assert(r != 0) failed: invalid
Summary: null classes should be expected in profiles with conflicts
Reviewed-by: kvn, iveresov
rev 5589 : 8024423: JVMTI: GetLoadedClasses doesn't enumerate anonymous classes
Summary: Rewrite of the getLoadedClasses() method implementation to include anonymous classes.
Reviewed-by: coleenp, sspitsyn
rev 5536 : 8014910: deadlock between JVM/TI ClassPrepare event handler and CompilerThread
Summary: Revert changes in JDK-8008962
Reviewed-by: coleenp, sspitsyn
rev 5461 : 8024667: VM crashes with "assert(method() != NULL) failed: must have set method"
Summary: Check if data is in shared spaces before deallocating it.
Reviewed-by: coleenp, dcubed
rev 5418 : 8026185: nsk/jvmit/GetMethodDeclaringClass/declcls001 failed
Summary: Missed initialization. Thanks Coleen.
Reviewed-by: coleenp, minqi
rev 5413 : 8009130: Lambda: Fix access controls, loader constraints.
Summary: New default methods list with inherited superinterface methods
Reviewed-by: minqi, sspitsyn, coleenp
rev 5401 : 8025004: -XX:+CheckUnhandledOops asserts for JDK 8 Solaris fastdebug binaries
Summary: Remove unnecessary volatile keyword on stack locals within instanceKlass.cpp to work around Solaris Studio C++ compiler issue
Reviewed-by: coleenp, dcubed
Contributed-by: lois.foltan@oracle.com
rev 5351 : 8011311: Private interface methods. Default conflicts:ICCE. no erased_super_default.
Reviewed-by: coleenp, bharadwaj, minqi
rev 5349 : 7195622: CheckUnhandledOops has limited usefulness now
Summary: Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms.
Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin
Contributed-by: lois.foltan@oracle.com
rev 5320 : Merge
rev 5314 : 8022887: Assertion hit while using class and redefining it with RedefineClasses simultaneously
Summary: Need to refetch each method from InstanceKlass after all safepoints.  Removed leaky PreviousVersionInfo code.
Reviewed-by: dcubed, sspitsyn
rev 5297 : 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
rev 5100 : 8021948: Change InstanceKlass::_source_file_name and _generic_signature from Symbol* to constant pool indexes.
Summary: Change InstanceKlass::_source_file_name and _generic_signature to u2 fields.
Reviewed-by: coleenp, iklam
rev 4986 : 8020309: Eliminate InstanceKlass::_cached_class_file_len.
Summary: Use JvmtiCachedClassFileData.
Reviewed-by: iklam, sspitsyn, dcubed
rev 4934 : 7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful.
Summary: Remove -Xaprof and Klass::_alloc_count & ArrayKlass::_alloc_size.
Reviewed-by: stefank, coleenp
rev 4872 : 8016325: JVM hangs verifying system dictionary
Summary: Minimize redundant verifications of Klasses.
Reviewed-by: hseigel, jmasa
rev 4745 : 8013945: CMS fatal error: must own lock MemberNameTable_lock
Summary: The "delete mnt" needs to grab MemberNameTable_lock if !SafepointSynchronize::is_at_safepoint()
Reviewed-by: sla, mgerdin, dholmes, jmasa
Contributed-by: serguei.spitsyn@oracle.com
rev 4743 : 8014288: perf regression in nashorn JDK-8008448.js test after 8008511 changes
Summary: The fix of perf regression is to use method_idnum() for direct indexing into NMT
Reviewed-by: twisti, kvn, coleenp, dholmes
Contributed-by: serguei.spitsyn@oracle.com
rev 4741 : 8003421: NPG: Move oops out of InstanceKlass into mirror
Summary: Inject protection_domain, signers, init_lock into java_lang_Class
Reviewed-by: stefank, dholmes, sla
rev 4662 : 8003557: NPG: Klass* const k should be const Klass* k.
Summary: With NPG, const KlassOop klass which is in fact a definition converted to Klass* const, which is not the original intention. The right usage is converting them to const Klass*.
Reviewed-by: coleenp, kvn
Contributed-by: yumin.qi@oracle.com
rev 4549 : 8008962: NPG: Memory regression: One extra Monitor per ConstantPool
Summary: Re-use InstanceKlass::_init_lock locking ConstantPool as well.
Reviewed-by: dholmes, coleenp, acorn
rev 4546 : 8011803: release_C_heap_structures is never called for anonymous classes.
Summary: Call this function from the ClassLoaderData destructor instead of the system dictionary walk.
Reviewed-by: stefank, mgerdin
rev 4530 : 8008511: JSR 292: MemberName vmtarget refs to methods must be updated at class redefinition
Summary: Lazily create and maintain the MemberNameTable to be able to update MemberName's
Reviewed-by: coleenp, jrose, dholmes
Contributed-by: serguei.spitsyn@oracle.com
rev 4456 : Merge
rev 4451 : 8010943: guarantee(length == 0) failed: invalid method ordering length
Summary: Add DumpSharedSpaces to IF condition to handle verify during -Xshare:dump.
Reviewed-by: coleenp, zgu
rev 4425 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>
rev 4284 : 8003419: NPG: Clean up metadata created during class loading if failure
Summary: Store metadata on ClassFileParser instance to be cleaned up by destructor.  This enabled some refactoring of the enormous parseClassFile function.
Reviewed-by: jmasa, acorn
rev 4279 : Merge
rev 4277 : 8003553: NPG: metaspace objects should be zeroed in constructors
Summary: Zero metadata in constructors, not in allocation (and some in constructors)
Reviewed-by: jmasa, sspitsyn
rev 4258 : 8008750: [partfait] Null pointer deference in hotspot/src/share/vm/oops/instanceKlass.hpp
Summary: fix null pointer
Reviewed-by: kvn, coleenp
rev 4137 : 8007320: NPG: move method annotations
Summary: allocate method annotations and attach to ConstMethod if present
Reviewed-by: dcubed, jiangli, sspitsyn, iklam
rev 4109 : Merge
rev 4107 : 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
rev 4062 : 6479360: PrintClassHistogram improvements
Summary: jcmd <pid> GC.class_stats (UnlockDiagnosticVMOptions)
Reviewed-by: coleenp, hseigel, sla, acorn
Contributed-by: ioi.lam@oracle.com
rev 4018 : 8005590: java_lang_Class injected field resolved_constructor appears unused
Reviewed-by: coleenp, dholmes
rev 3966 : Merge
rev 3965 : 8005048: NMT: #loaded classes needs to just show the # defined classes
Summary: Count number of instance classes so that it matches class metadata size
Reviewed-by: coleenp, acorn
rev 3960 : 8005494: SIGSEGV in Rewriter::relocate_and_link() when testing Weblogic with CompressedOops and KlassPtrs
Summary: Relocate functions with jsr's when rewriting so not repeated after reading shared archive
Reviewed-by: twisti, jrose
rev 3958 : 8004823: Add VM support for type annotation reflection
Reviewed-by: dholmes, coleenp
Contributed-by: joel.franck@oracle.com
rev 3864 : 8003935: Simplify the needed includes for using Thread::current()
Reviewed-by: dholmes, rbackman, coleenp
rev 3845 : Merge
rev 3843 : 8001471: Klass::cast() does nothing
Summary: Remove function Klass::cast() and calls to it.
Reviewed-by: dholmes, coleenp
rev 3832 : 6830717: replay of compilations would help with debugging
Summary: When java process crashed in compiler thread, repeat the compilation process will help finding root cause. This is done with using SA dump application class data and replay data from core dump, then use debug version of jvm to recompile the problematic java method.
Reviewed-by: kvn, twisti, sspitsyn
Contributed-by: yumin.qi@oracle.com
rev 3810 : 7200776: Implement default methods in interfaces
Summary: Add generic type analysis and default method selection algorithms
Reviewed-by: coleenp, acorn
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3612 : 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
Summary: Simple renaming to be consistent with instanceKlass->InstanceKlass renaming
Reviewed-by: stefank, jmasa
rev 3610 : 7195867: NPG: SAJDI tests fail with sun.jvm.hotspot.types.WrongTypeException: No suitable match for type
Summary: Need to restore the vtable in metadata when we restore the type from the shared archive.
Reviewed-by: acorn, jcoomes, jmasa, jrose
rev 3602 : 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>
rev 3534 : 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>
rev 3471 : 6294277: java -Xdebug crashes on SourceDebugExtension attribute larger than 64K
Reviewed-by: sspitsyn, dholmes, coleenp, kamg
rev 3465 : 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking
Summary: Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd
Reviewed-by: acorn, coleenp, fparain
rev 3306 : 7158552: The instanceKlsss::_host_klass is only needed for anonymous class for JSR 292 support.
Summary: Change the _host_klass to be conditionally created embedded instanceKlass field.
Reviewed-by: jrose, coleenp, dholmes
rev 3266 : 7154670: The instanceKlass _implementors[] and _nof_implementors are not needed for non-interface klass.
Summary: Change implementor to embedded instanceKlass field.
Reviewed-by: sspitsyn, minqi, coleenp
rev 3237 : Merge
rev 3235 : 7109878: The instanceKlass EnclosingMethhod attribute fields can be folded into the _inner_class field.
Summary: Fold instanceKlass::_enclosing_method_class_index and instanceKlass::_enclosing_method_method_index into the instanceKlass::_inner_classes array.
Reviewed-by: never, coleenp
Contributed-by: Jiangli Zhou <jiangli.zhou@oracle.com>
rev 3203 : 7123170: JCK vm/jvmti/ResourceExhausted/resexh001/resexh00101/ tests fails since 7u4 b02
Summary: The JVMTI ResourceExhausted events must be generated in all places where OOME is thrown
Reviewed-by: acorn, coleenp, dcubed, dholmes, dsamersoff, jwilhelm, tonyp
Contributed-by: serguei.spitsyn@oracle.com
rev 2933 : 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>
rev 2767 : 7098194: integrate macosx-port changes
Summary: Integrate bsd-port/hotspot and macosx-port/hotspot changes as of 2011.09.29.
Reviewed-by: kvn, dholmes, never, phh
Contributed-by: Christos Zoulas <christos@zoulas.com>, Greg Lewis <glewis@eyesbeyond.com>, Kurt Miller <kurt@intricatesoftware.com>, Alexander Strange <astrange@apple.com>, Mike Swingler <swingler@apple.com>, Roger Hoover <rhoover@apple.com>, Victor Hernandez <vhernandez@apple.com>, Pratik Solanki <psolanki@apple.com>
rev 2721 : 7089790: integrate bsd-port changes
Reviewed-by: kvn, twisti, jrose
Contributed-by: Kurt Miller <kurt@intricatesoftware.com>, Greg Lewis <glewis@eyesbeyond.com>, Jung-uk Kim <jkim@freebsd.org>, Christos Zoulas <christos@zoulas.com>, Landon Fuller <landonf@plausible.coop>, The FreeBSD Foundation <board@freebsdfoundation.org>, Michael Franz <mvfranz@gmail.com>, Roger Hoover <rhoover@apple.com>, Alexander Strange <astrange@apple.com>
rev 2703 : 7088955: add C2 IR support to the SA
Reviewed-by: kvn
rev 2702 : 7086585: make Java field injection more flexible
Reviewed-by: jrose, twisti, kvn, coleenp
rev 2615 : 7071653: JSR 292: call site change notification should be pushed not pulled
Reviewed-by: kvn, never, bdelsart
rev 2510 : 7033141: assert(has_cp_cache(i)) failed: oob
Summary: Unrewrite bytecodes for OOM error allocating the constant pool cache.
Reviewed-by: dcubed, acorn, never
rev 2255 : 7032306: Fastdebug build failure on Solaris with SS11 compilers
Reviewed-by: kvn, iveresov
rev 2223 : 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
rev 2204 : 7012648: move JSR 292 to package java.lang.invoke and adjust names
Summary: package and class renaming only; delete unused methods and classes
Reviewed-by: twisti
rev 2181 : 6845426: non-static <clinit> method with no args is called during the class initialization process
Summary: Only call <clinit> with ACC_STATIC for classfiles with version > 50
Reviewed-by: acorn, dholmes, coleenp
rev 2099 : 7014851: Remove unused parallel compaction code
Summary: Removed.
Reviewed-by: jcoomes, brutisso
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1671 : 6980262: Memory leak when exception is thrown in static initializer
Summary: Use resource memory instead of c-heap for the exception message
Reviewed-by: phh, jmasa
rev 1626 : 6962589: remove breadth first scanning code from parallel gc
Summary: Remove the breadth-first copying order from ParallelScavenge and use depth-first by default.
Reviewed-by: jcoomes, ysr, johnc
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1410 : 6888954: argument formatting for assert() and friends
Reviewed-by: kvn, twisti, apetrusenko, never, dcubed
rev 1324 : 6935224: Adding new DTrace probes to work with Palantir
Summary: Adding probes related to thread scheduling and class initialization
Reviewed-by: kamg, never
rev 1155 : 6912062: disassembler plugin needs to produce symbolic information in product mode
Summary: More informative disassembly in product mode.  Also, a more consistent CompileCommand syntax.
Reviewed-by: never
rev 1144 : Merge
rev 1142 : 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
rev 1126 : 6895168: JCK api/signaturetest/sigtest.basic.html#basic test fails for jdk 5.0 with HS 16 in nightly build
Reviewed-by: dholmes, acorn, jrose
rev 1039 : 6815692: method handle code needs some cleanup (post-6655638)
Summary: correctly raise exceptions, support safe bitwise "raw" conversions, fix bugs revealed by VerifyMethodHandles, remove dead code, improve debugging support
Reviewed-by: never, twisti
rev 997 : Merge
rev 993 : Merge
rev 989 : 6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
rev 977 : 6419370: 4/4 new jmethodID code has tiny holes in synchronization
Summary: Fix races in jmethodID cache and JNI itable index cache.
Reviewed-by: ikrylov, acorn
rev 974 : Merge
rev 973 : 6830542: Performance: JVM_DefineClass already verified.
Reviewed-by: kamg, phh
rev 970 : Merge
rev 964 : Merge
rev 963 : 6875393: 2/3 JNI itable index cache is broken
Summary: Add missing initialization of cache size.
Reviewed-by: tbell
rev 939 : 6845368: large objects cause a crash or unexpected exception
Reviewed-by: jmasa, iveresov
rev 938 : 6861660: OopMapBlock count/size confusion
Reviewed-by: tonyp, iveresov
rev 876 : 6850957: Honor -XX:OnOutOfMemoryError when array size exceeds VM limit
Summary: call report_java_out_of_memory("Requested array size exceeds VM limit")
Reviewed-by: tbell, dholmes, alanb, ysr
Contributed-by: jeremymanson@google.com
rev 875 : 6857194: Add hotspot perf counters to aid class loading performance measurement
Summary: Add new jvmstat counters to measure detailed class loading time
Reviewed-by: acorn, kamg
rev 676 : Merge
rev 665 : 6814659: separable cleanups and subroutines for 6655638
Summary: preparatory but separable changes for method handles
Reviewed-by: kvn, never
rev 652 : 4766230: Hotspot vtable inconsistencies cause core dumps. 6579515. 6582242.
Reviewed-by: kamg, coleenp
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 356 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 113 : 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
rev 52 : Merge
rev 49 : 6453355: 4/4 new No_Safepoint_Verifier uses fail during GC
Summary: (for Serguei) Clean up use of No_Safepoint_Verifier in JVM TI
Reviewed-by: dcubed
rev 47 : 6497639: 4/3 Profiling Swing application caused JVM crash
Summary: Make RedefineClasses() interoperate better with class sharing.
Reviewed-by: sspitsyn, jmasa
rev 44 : 6667620: (Escape Analysis) fix deoptimization for scalar replaced objects
Summary: Deoptimization code for reallocation and relocking scalar replaced objects has to be fixed.
Reviewed-by: rasbold, never
rev 0 : Initial load
5 lines changed: 4 ins; 0 del; 1 mod; 3547 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/oops/instanceRefKlass.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8158 : 8077413: Avoid use of Universe::heap() inside collectors
Reviewed-by: stefank, kbarrett
rev 8135 : 8075955: Replace the macro based implementation of oop_oop_iterate with a template based solution
Reviewed-by: brutisso, coleenp, kbarrett, sjohanss
rev 8046 : 8075957: Reduce calls to the GC specific object visitors in oopDesc
Reviewed-by: brutisso, mgerdin, pliden
rev 8023 : 8075247: Cleanup specialized_oop_closures.hpp
Reviewed-by: mgerdin, brutisso, tschatzl
rev 8022 : 8075242: Remove SpecializationStats
Reviewed-by: brutisso, mgerdin
rev 6953 : 8054819: Rename HeapRegionSeq to HeapRegionManager
Reviewed-by: jwilhelm, jmasa
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 5349 : 7195622: CheckUnhandledOops has limited usefulness now
Summary: Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms.
Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin
Contributed-by: lois.foltan@oracle.com
rev 4107 : 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
rev 3612 : 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
Summary: Simple renaming to be consistent with instanceKlass->InstanceKlass renaming
Reviewed-by: stefank, jmasa
rev 3602 : 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>
rev 3376 : 7158682: G1: Handle leak when running nsk.sysdict tests
Summary: Place HandleMarks in the code that allocates handles for the pending list lock so that the handles are freed and multiple, unsuccessful, attempts to schedule a GC do not cause an OOM.
Reviewed-by: brutisso
rev 3276 : 4988100: oop_verify_old_oop appears to be dead
Summary: removed oop_verify_old_oop and allow_dirty. Also reviewed by: alexlamsl@gmail.com
Reviewed-by: jmasa, jwilhelm
rev 2693 : 7090259: Fix hotspot sources to build with old compilers
Summary: Fixed warnings which prevent building VM with old compilers.
Reviewed-by: never
rev 2682 : 4965777: GC changes to support use of discovered field for pending references
Summary: If and when the reference handler thread is able to use the discovered field to link reference objects in its pending list, so will GC. In that case, GC will scan through this field once a reference object has been placed on the pending list, but not scan that field before that stage, as the field is used by the concurrent GC thread to link discovered objects. When ReferenceHandleR thread does not use the discovered field for the purpose of linking the elements in the pending list, as would be the case in older JDKs, the JVM will fall back to the old behaviour of using the next field for that purpose.
Reviewed-by: jcoomes, mchung, stefank
rev 2474 : 7041789: 30% perf regression with c2/arm following 7017732
Summary: Implement a more accurate is_scavengable()
Reviewed-by: stefank, jcoomes, ysr
rev 2099 : 7014851: Remove unused parallel compaction code
Summary: Removed.
Reviewed-by: jcoomes, brutisso
rev 1932 : 7006471: fix for 6988439 crashes when pending list lock is null
Summary: missing null check in owns_pending_list_lock() because this can be called before pending_list_lock is initialized.
Reviewed-by: never, kvn
rev 1928 : 6988439: Parallel Class Loading test deadlock involving MethodData_lock and Pending List Lock
Summary: Don't acquire methodData_lock while holding pending list lock
Reviewed-by: kvn, never, ysr
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1626 : 6962589: remove breadth first scanning code from parallel gc
Summary: Remove the breadth-first copying order from ParallelScavenge and use depth-first by default.
Reviewed-by: jcoomes, ysr, johnc
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1144 : Merge
rev 1142 : 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
rev 1123 : 6843629: Make current hotspot build part of jdk5 control build
Summary: Source changes for older compilers plus makefile changes.
Reviewed-by: xlu
rev 948 : 6884624: Update copyright year
Summary: Update copyright for files that have been modified in 2009 through Septermber
Reviewed-by: tbell, ohair
rev 939 : 6845368: large objects cause a crash or unexpected exception
Reviewed-by: jmasa, iveresov
rev 938 : 6861660: OopMapBlock count/size confusion
Reviewed-by: tonyp, iveresov
rev 845 : 6700789: G1: Enable use of compressed oops with G1 heaps
Summary: Modifications to G1 so as to allow the use of compressed oops.
Reviewed-by: apetrusenko, coleenp, jmasa, kvn, never, phh, tonyp
rev 356 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 113 : 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
rev 0 : Initial load
3 lines changed: 0 ins; 0 del; 3 mod; 132 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/oops/instanceRefKlass.inline.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8935 : 8129417: Oop iteration clean-up to remove oop_ms_follow_contents
Reviewed-by: pliden, ehelin
rev 8452 : 8080746: Refactor oop iteration macros to be more general
Reviewed-by: stefank, pliden
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8313 : 8031401: Remove unused code in the reference processor
Summary: Assume pending_list uses discovered field and remove resulting dead code.
Reviewed-by: brutisso, pliden
rev 8146 : 8077315: Build failure on OSX after compiler upgrade
Reviewed-by: stefank, mgerdin
rev 8145 : 8077302: src/share/vm/oops/instanceRefKlass.inline.hpp has a doubble /*
Reviewed-by: stefank, mgerdin
rev 8135 : 8075955: Replace the macro based implementation of oop_oop_iterate with a template based solution
Reviewed-by: brutisso, coleenp, kbarrett, sjohanss
4 lines changed: 3 ins; 0 del; 1 mod; 138 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/oops/objArrayKlass.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8638 : 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Summary: Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8135 : 8075955: Replace the macro based implementation of oop_oop_iterate with a template based solution
Reviewed-by: brutisso, coleenp, kbarrett, sjohanss
rev 8046 : 8075957: Reduce calls to the GC specific object visitors in oopDesc
Reviewed-by: brutisso, mgerdin, pliden
rev 8023 : 8075247: Cleanup specialized_oop_closures.hpp
Reviewed-by: mgerdin, brutisso, tschatzl
rev 8022 : 8075242: Remove SpecializationStats
Reviewed-by: brutisso, mgerdin
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7421 : 8064811: Use THREAD instead of CHECK_NULL in return statements
Reviewed-by: coleenp, simonis, dholmes
rev 6953 : 8054819: Rename HeapRegionSeq to HeapRegionManager
Reviewed-by: jwilhelm, jmasa
rev 6651 : 8046670: Make CMS metadata aware closures applicable for other collectors
Reviewed-by: ehelin, mgerdin
rev 6402 : 8042195: Introduce umbrella header orderAccess.inline.hpp.
Reviewed-by: dholmes, kvn, stefank, twisti
rev 6243 : 8029858: Enhance array copies
Summary: Just read the source element once
Reviewed-by: coleenp, ahgross
rev 5932 : 8027146: Class loading verification failure if GC occurs in Universe::flush_dependents_on
Summary: Remove search in system dictionary and hacks, replace with verifying in CLD::_klasses list.
Reviewed-by: dcubed, acorn
rev 5776 : 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
rev 5763 : 8028993: Full collections with ParallelScavenge slower in JDK 8 compared to 7u40
Summary: Reducing the number of calls to follow_class_loader to speed up the marking phase. Also removed some unnecessary calls to adjust_klass.
Reviewed-by: stefank, jmasa, mgerdin
rev 5713 : 8027675: Full collections with Serial slower in JDK 8 compared to 7u40
Summary: Reduced the number of calls to follow_class_loader and instead marked and pushed the klass holder directly. Also removed unneeded calls to adjust_klass.
Reviewed-by: coleenp, jmasa, mgerdin, tschatzl
rev 4872 : 8016325: JVM hangs verifying system dictionary
Summary: Minimize redundant verifications of Klasses.
Reviewed-by: hseigel, jmasa
rev 4107 : 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
rev 3869 : 8000662: NPG: nashorn ant clean test262 out-of-memory with Java heap
Summary: Add ClassLoaderData object for each anonymous class with metaspaces to allocate in.
Reviewed-by: twisti, jrose, stefank
rev 3843 : 8001471: Klass::cast() does nothing
Summary: Remove function Klass::cast() and calls to it.
Reviewed-by: dholmes, coleenp
rev 3716 : Merge
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3691 : 8000227: [obj|type]ArrayKlass::oop_print_on prints one line to tty instead of the provided output stream
Reviewed-by: brutisso, sla, jmasa, coleenp
rev 3602 : 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>
rev 3276 : 4988100: oop_verify_old_oop appears to be dead
Summary: removed oop_verify_old_oop and allow_dirty. Also reviewed by: alexlamsl@gmail.com
Reviewed-by: jmasa, jwilhelm
rev 3203 : 7123170: JCK vm/jvmti/ResourceExhausted/resexh001/resexh00101/ tests fails since 7u4 b02
Summary: The JVMTI ResourceExhausted events must be generated in all places where OOME is thrown
Reviewed-by: acorn, coleenp, dcubed, dholmes, dsamersoff, jwilhelm, tonyp
Contributed-by: serguei.spitsyn@oracle.com
rev 2099 : 7014851: Remove unused parallel compaction code
Summary: Removed.
Reviewed-by: jcoomes, brutisso
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 2004 : 7011386: race in objArrayKlass::array_klass_impl
Summary: Move _lower_dimension field initialization before _higher_dimension and add storestore barrier.
Reviewed-by: dholmes, iveresov, never
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1626 : 6962589: remove breadth first scanning code from parallel gc
Summary: Remove the breadth-first copying order from ParallelScavenge and use depth-first by default.
Reviewed-by: jcoomes, ysr, johnc
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1311 : 4396719: Mark Sweep stack overflow on deeply nested Object arrays
Summary: Use an explicit stack for object arrays and process them in chunks.
Reviewed-by: iveresov, apetrusenko
rev 1155 : 6912062: disassembler plugin needs to produce symbolic information in product mode
Summary: More informative disassembly in product mode.  Also, a more consistent CompileCommand syntax.
Reviewed-by: never
rev 1142 : 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
rev 1091 : 6906727: UseCompressedOops: some card-marking fixes related to object arrays
Summary: Introduced a new write_ref_array(HeapWords* start, size_t count) method that does the requisite MemRegion range calculation so (some of the) clients of the erstwhile write_ref_array(MemRegion mr) do not need to worry. This removed all external uses of array_size(), which was also simplified and made private. Asserts were added to catch other possible issues. Further, less essential, fixes stemming from this investigation are deferred to CR 6904516 (to follow shortly in hs17).
Reviewed-by: kvn, coleenp, jmasa
rev 879 : Merge
rev 876 : 6850957: Honor -XX:OnOutOfMemoryError when array size exceeds VM limit
Summary: call report_java_out_of_memory("Requested array size exceeds VM limit")
Reviewed-by: tbell, dholmes, alanb, ysr
Contributed-by: jeremymanson@google.com
rev 845 : 6700789: G1: Enable use of compressed oops with G1 heaps
Summary: Modifications to G1 so as to allow the use of compressed oops.
Reviewed-by: apetrusenko, coleenp, jmasa, kvn, never, phh, tonyp
rev 665 : 6814659: separable cleanups and subroutines for 6655638
Summary: preparatory but separable changes for method handles
Reviewed-by: kvn, never
rev 398 : 6700107: java/lang/Class/forName/TooManyDimensions.java crashes with SIGSEGV in c2 compiler with fastdebug
Summary: objArrayKlass::compute_modifier_flags was unnecessarily recursive
Reviewed-by: kamg
rev 356 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 113 : 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
rev 0 : Initial load
4 lines changed: 4 ins; 0 del; 0 mod; 497 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/oops/objArrayOop.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8935 : 8129417: Oop iteration clean-up to remove oop_ms_follow_contents
Reviewed-by: pliden, ehelin
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8023 : 8075247: Cleanup specialized_oop_closures.hpp
Reviewed-by: mgerdin, brutisso, tschatzl
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7287 : 8054530: C2: assert(res == old_res) failed: Inconsistency between old and new
Summary: Fixed signedness problem with assertion.
Reviewed-by: kvn
rev 6620 : 8026977: NPG: Remove ConstantPool::lock
Summary: Write klass and resolved_references constant pool fields lock free.
Reviewed-by: jrose, twisti
rev 3718 : 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
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 2861 : 7112743: G1: Reduce overhead of marking closure during evacuation pauses
Summary: Parallelize the serial code that was used to mark objects reachable from survivor objects in the collection set. Some minor improvments in the timers used to track the freeing of the collection set along with some tweaks to PrintGCDetails.
Reviewed-by: tonyp, brutisso
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1095 : 6908208: UseCompressedOops: array_size() returns incorrect size for MAX_INT object array following 6906727
Summary: In array_size() cast to an unsigned to avoid overflow of intermediate value.
Reviewed-by: kvn, tonyp, jmasa, jcoomes, coleenp
rev 1091 : 6906727: UseCompressedOops: some card-marking fixes related to object arrays
Summary: Introduced a new write_ref_array(HeapWords* start, size_t count) method that does the requisite MemRegion range calculation so (some of the) clients of the erstwhile write_ref_array(MemRegion mr) do not need to worry. This removed all external uses of array_size(), which was also simplified and made private. Asserts were added to catch other possible issues. Further, less essential, fixes stemming from this investigation are deferred to CR 6904516 (to follow shortly in hs17).
Reviewed-by: kvn, coleenp, jmasa
rev 948 : 6884624: Update copyright year
Summary: Update copyright for files that have been modified in 2009 through Septermber
Reviewed-by: tbell, ohair
rev 895 : 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
rev 356 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 113 : 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
rev 0 : Initial load
4 lines changed: 2 ins; 0 del; 2 mod; 113 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/oops/objArrayOop.inline.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
3 lines changed: 1 ins; 0 del; 2 mod; 40 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/oops/oop.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8638 : 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Summary: Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett
rev 7867 : 8073387: Move VerifyOopClosures out from genOopClosures.hpp
Reviewed-by: brutisso, mgerdin, coleenp
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 5895 : 8033792: AltHashing used jint for imprecise bit shifting
Summary: AltHashing used jint the way of juint in bit shifting which could lead loss of precision. Fix  by change _seed defined as juint.
Reviewed-by: coleenp, ccheung
Contributed-by: yumin.qi@oracle.com
rev 4558 : 8011661: Insufficient memory message says "malloc" when sometimes it should say "mmap"
Reviewed-by: coleenp, zgu, hseigel
rev 4552 : 8011773: Some tests on Interned String crashed JVM with OOM
Summary: Instead of terminating the VM, throw OutOfMemoryError exceptions.
Reviewed-by: coleenp, dholmes
rev 3864 : 8003935: Simplify the needed includes for using Thread::current()
Reviewed-by: dholmes, rbackman, coleenp
rev 3602 : 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>
rev 3276 : 4988100: oop_verify_old_oop appears to be dead
Summary: removed oop_verify_old_oop and allow_dirty. Also reviewed by: alexlamsl@gmail.com
Reviewed-by: jmasa, jwilhelm
rev 2721 : 7089790: integrate bsd-port changes
Reviewed-by: kvn, twisti, jrose
Contributed-by: Kurt Miller <kurt@intricatesoftware.com>, Greg Lewis <glewis@eyesbeyond.com>, Jung-uk Kim <jkim@freebsd.org>, Christos Zoulas <christos@zoulas.com>, Landon Fuller <landonf@plausible.coop>, The FreeBSD Foundation <board@freebsdfoundation.org>, Michael Franz <mvfranz@gmail.com>, Roger Hoover <rhoover@apple.com>, Alexander Strange <astrange@apple.com>
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1601 : 6953477: Increase portability and flexibility of building Hotspot
Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.
Reviewed-by: phh, never, coleenp, dholmes
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1155 : 6912062: disassembler plugin needs to produce symbolic information in product mode
Summary: More informative disassembly in product mode.  Also, a more consistent CompileCommand syntax.
Reviewed-by: never
rev 665 : 6814659: separable cleanups and subroutines for 6655638
Summary: preparatory but separable changes for method handles
Reviewed-by: kvn, never
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 113 : 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
rev 0 : Initial load
1 line changed: 0 ins; 0 del; 1 mod; 143 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/oops/oop.inline.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8935 : 8129417: Oop iteration clean-up to remove oop_ms_follow_contents
Reviewed-by: pliden, ehelin
rev 8750 : 8131761: Fix merge error adding code that was removed in 8077936
Reviewed-by: tschatzl
rev 8452 : 8080746: Refactor oop iteration macros to be more general
Reviewed-by: stefank, pliden
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8295 : Merge
rev 8248 : 8077936: Remove the unused java_lang_invoke_CallSite::target_volatile
Reviewed-by: vlivanov, jrose
rev 8135 : 8075955: Replace the macro based implementation of oop_oop_iterate with a template based solution
Reviewed-by: brutisso, coleenp, kbarrett, sjohanss
rev 8024 : 8075249: Cleanup forward_to_atomic and ClaimedForwardPtr
Reviewed-by: kbarrett, brutisso
rev 8022 : 8075242: Remove SpecializationStats
Reviewed-by: brutisso, mgerdin
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7480 : 8065972: Remove support for ParNew+SerialOld and DefNew+CMS
Reviewed-by: mgerdin, stefank
rev 6760 : 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
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6402 : 8042195: Introduce umbrella header orderAccess.inline.hpp.
Reviewed-by: dholmes, kvn, stefank, twisti
rev 6046 : 8035746: Add missing Klass::oop_is_instanceClassLoader() function
Reviewed-by: mgerdin, coleenp
rev 5997 : 8029396: PPC64 (part 212): Several memory ordering fixes in C-code.
Summary: memory ordering fixes in GC and other runtime code showing on PPC64.
Reviewed-by: kvn, coleenp
rev 5349 : 7195622: CheckUnhandledOops has limited usefulness now
Summary: Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms.
Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin
Contributed-by: lois.foltan@oracle.com
rev 5259 : 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
rev 5093 : 8003424: Enable Class Data Sharing for CompressedOops
8016729: ObjectAlignmentInBytes=16 now forces the use of heap based compressed oops
8005933: The -Xshare:auto option is ignored for -server
Summary: Move klass metaspace above the heap and support CDS with compressed klass ptrs.
Reviewed-by: coleenp, kvn, mgerdin, tschatzl, stefank
rev 4109 : Merge
rev 4107 : 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
rev 4088 : 8000968: NPG: UseCompressedKlassPointers asserts with ObjectAlignmentInBytes for > 32G CompressedOops
Summary: Pick a base that works for both CompressedOpps alignment and CompressedKlassPtrs alignment.
Reviewed-by: kvn, roland
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3694 : 8000351: Tenuring threshold should be unsigned
Summary: Change the flags and variables related to tenuring threshold to be unsigned
Reviewed-by: jmasa, johnc
rev 3604 : 7195968: NPG: oopDesc::list_ptr_from_klass is broken
Summary: Remove incorrect cast
Reviewed-by: brutisso, coleenp
rev 3602 : 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>
rev 2696 : 7085860: JSR 292: implement CallSite.setTargetNormal and setTargetVolatile as native methods
Reviewed-by: jrose, never
rev 2223 : 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
rev 2073 : 7016023: Enable building ARM and PPC from src/closed repository
Reviewed-by: dholmes, bdelsart
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1766 : 6829194: JSR 292 needs to support compressed oops
Reviewed-by: kvn, jrose
rev 1499 : Merge
rev 1491 : 6916623: Align object to 16 bytes to use Compressed Oops with java heap up to 64Gb
Summary: Added new product ObjectAlignmentInBytes flag to control object alignment.
Reviewed-by: twisti, ysr, iveresov
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 845 : 6700789: G1: Enable use of compressed oops with G1 heaps
Summary: Modifications to G1 so as to allow the use of compressed oops.
Reviewed-by: apetrusenko, coleenp, jmasa, kvn, never, phh, tonyp
rev 710 : 6655638: dynamic languages need method handles
Summary: initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.)
Reviewed-by: kvn, twisti, never
rev 647 : Merge
rev 642 : 6791178: Specialize for zero as the compressed oop vm heap base
Summary: Use zero based compressed oops if java heap is below 32gb and unscaled compressed oops if java heap is below 4gb.
Reviewed-by: never, twisti, jcoomes, coleenp
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 518 : 6692899: CMS: many vm.parallel_class_loading tests fail with assert "missing Printezis mark"
Summary: The CMS concurrent precleaning and concurrent marking phases should work around classes that are undergoing redefinition.
Reviewed-by: ysr, dcubed
rev 454 : 6774607: SIGSEGV or (!is_null(v),"oop value can never be zero") assertion when running with CMS and COOPs
Summary: Use the more permissive set_klass_or_null() and klass_or_null() interfaces in ParNew's workqueue overflow code that manipulates the klass-word.
Reviewed-by: coleenp
rev 356 : Merge
rev 344 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 167 : 6696264: assert("narrow oop can never be zero") for GCBasher & ParNewGC
Summary: decouple set_klass() with zeroing the gap when compressed.
Reviewed-by: kvn, ysr, jrose
rev 135 : 6689523: max heap calculation for compressed oops is off by MaxPermSize
Summary: Need to subtract MaxPermSize from the total heap size when determining whether compressed oops is turned on.
Reviewed-by: jmasa, jcoomes, kvn
rev 133 : 6693457: Open-source hotspot linux-sparc support
Summary: Move os_cpu/linux_sparc from closed to open
Reviewed-by: kamg
rev 113 : 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
rev 0 : Initial load
166 lines changed: 118 ins; 0 del; 48 mod; 738 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/oops/typeArrayKlass.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8135 : 8075955: Replace the macro based implementation of oop_oop_iterate with a template based solution
Reviewed-by: brutisso, coleenp, kbarrett, sjohanss
rev 7421 : 8064811: Use THREAD instead of CHECK_NULL in return statements
Reviewed-by: coleenp, simonis, dholmes
rev 6402 : 8042195: Introduce umbrella header orderAccess.inline.hpp.
Reviewed-by: dholmes, kvn, stefank, twisti
rev 5776 : 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
rev 4107 : 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
rev 3716 : Merge
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3691 : 8000227: [obj|type]ArrayKlass::oop_print_on prints one line to tty instead of the provided output stream
Reviewed-by: brutisso, sla, jmasa, coleenp
rev 3602 : 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>
rev 3247 : 7150058: Allocate symbols from null boot loader to an arena for NMT
Summary: Move symbol allocation to an arena so NMT doesn't have to track them at startup.
Reviewed-by: never, kamg, zgu
rev 3203 : 7123170: JCK vm/jvmti/ResourceExhausted/resexh001/resexh00101/ tests fails since 7u4 b02
Summary: The JVMTI ResourceExhausted events must be generated in all places where OOME is thrown
Reviewed-by: acorn, coleenp, dcubed, dholmes, dsamersoff, jwilhelm, tonyp
Contributed-by: serguei.spitsyn@oracle.com
rev 2722 : 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
rev 2536 : 6994322: Remove the is_tlab and is_noref / is_large_noref parameters from the CollectedHeap
Summary: Remove two unused parameters from the mem_allocate() method and update its uses accordingly.
Reviewed-by: stefank, johnc
rev 2099 : 7014851: Remove unused parallel compaction code
Summary: Removed.
Reviewed-by: jcoomes, brutisso
rev 2062 : 6990754: Use native memory and reference counting to implement SymbolTable
Summary: move symbols from permgen into C heap and reference count them
Reviewed-by: never, acorn, jmasa, stefank
rev 2004 : 7011386: race in objArrayKlass::array_klass_impl
Summary: Move _lower_dimension field initialization before _higher_dimension and add storestore barrier.
Reviewed-by: dholmes, iveresov, never
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1626 : 6962589: remove breadth first scanning code from parallel gc
Summary: Remove the breadth-first copying order from ParallelScavenge and use depth-first by default.
Reviewed-by: jcoomes, ysr, johnc
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1334 : 6892265: System.arraycopy unable to reference elements beyond Integer.MAX_VALUE bytes
Summary: Use size_t type cast to widen int values in typeArrayKlass::copy_array().
Reviewed-by: never, jcoomes
rev 876 : 6850957: Honor -XX:OnOutOfMemoryError when array size exceeds VM limit
Summary: call report_java_out_of_memory("Requested array size exceeds VM limit")
Reviewed-by: tbell, dholmes, alanb, ysr
Contributed-by: jeremymanson@google.com
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 481 : 6578152: fill_region_with_object has usability and safety issues
Reviewed-by: apetrusenko, ysr
rev 0 : Initial load
3 lines changed: 3 ins; 0 del; 0 mod; 343 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/oops/typeArrayOop.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 7288 : 8049542: C2: assert(size_in_words <= (julong)max_jint) failed: no overflow
Summary: Added juint cast to avoid gcc problem we have on one of our platforms.
Reviewed-by: dholmes, roland
rev 6402 : 8042195: Introduce umbrella header orderAccess.inline.hpp.
Reviewed-by: dholmes, kvn, stefank, twisti
rev 5965 : 8023033: PPC64 (part 13): basic changes for AIX
Summary: Added AIX includes alpha-sorted before BSD. Fix compilation issues with xlC in shared code. Basic shared platform dependend adaption (vm_version etc.).
Reviewed-by: kvn, dholmes, stefank
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3602 : 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>
rev 2721 : 7089790: integrate bsd-port changes
Reviewed-by: kvn, twisti, jrose
Contributed-by: Kurt Miller <kurt@intricatesoftware.com>, Greg Lewis <glewis@eyesbeyond.com>, Jung-uk Kim <jkim@freebsd.org>, Christos Zoulas <christos@zoulas.com>, Landon Fuller <landonf@plausible.coop>, The FreeBSD Foundation <board@freebsdfoundation.org>, Michael Franz <mvfranz@gmail.com>, Roger Hoover <rhoover@apple.com>, Alexander Strange <astrange@apple.com>
rev 2273 : 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
rev 2073 : 7016023: Enable building ARM and PPC from src/closed repository
Reviewed-by: dholmes, bdelsart
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 0 : Initial load
91 lines changed: 67 ins; 0 del; 24 mod; 145 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/arraycopynode.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8905 : 8134468: Lucene test failures with 32 bit JDK 9b78, Server compiler
Summary: test that checks whether an array load falls into the range of an arraycopy is incorrect on 32bits
Reviewed-by: iveresov, kvn
rev 8858 : 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
rev 8797 : 8004073: Implement C2 Ideal node specific dump() method
Summary: add Node::dump_rel() to dump a node and its related nodes (the notion of "related" depends on the node at hand); add Node::dump_comp() to dump a node in compact representation; add Node::dump_rel_comp() to dump a node and its related nodes in compact representation; add the required machinery; extend some C2 IR nodes with compact and related dumping
Reviewed-by: kvn, roland
rev 8519 : 8086016: closed/java/text/Format/NumberFormat/BigDecimalCompatibilityTest.java is crashing
Summary: Trying to transform ArrayCopyNode in dying part of the graph
Reviewed-by: kvn
rev 8491 : 8080699: Assert failed: Not a Java pointer in JCK test
Summary: Eliminated arraycopy node still reachable through exception edges
Reviewed-by: kvn
rev 8384 : 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
rev 7958 : 8073957: assert(ary_src != 0) failed: not an array or instance?
Summary: ArrayCopyNode going dead needs better validation of inputs
Reviewed-by: kvn, vlivanov
rev 7943 : 8073792: assert((get_length_if_constant(phase) == -1) == !ary_src->size()->is_con()) failed: inconsistent
Summary: assert in array copy code broken when array size becomes known during igvn
Reviewed-by: kvn, vlivanov
rev 7938 : 8073624: Fix waring "converting to non-pointer type 'bool' from NULL" in arraycopynode.cpp
Reviewed-by: roland
rev 7935 : 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
6 lines changed: 6 ins; 0 del; 0 mod; 700 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/callGenerator.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8208 : 8062280: C2: inlining failure due to access checks being too strict
Reviewed-by: kvn
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7177 : 8059556: C2: crash while inlining MethodHandle invocation w/ null receiver
Reviewed-by: kvn, jrose
rev 6837 : 8054033: Remove unused references to Compile*
Summary: Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
rev 6709 : 8046542: [I.finalize() calls from methods compiled by C1 do not cause IllegalAccessError on Sparc
Summary: call to Object.finalize() sometimes allowed by compilers on array type
Reviewed-by: iveresov, vlivanov
rev 6571 : 8035605: Expand functionality of PredictedIntrinsicGenerator
Summary: Allow several predicates and separate intrinsic methods per one intrinsified (virtual) method.
Reviewed-by: roland
rev 6569 : 8026796: Make replace_in_map() on parent maps generic
Summary: propagate node replacements along control flow edges to callers
Reviewed-by: kvn, vlivanov
rev 6546 : 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
rev 6467 : 8042786: Proper fix for 8032566
Summary: Check for overflow cases in range checks and collapse it if we can.
Reviewed-by: jrose, iveresov
rev 6291 : 8005079: fix LogCompilation for incremental inlining
Summary: report late inlining as part of the rest of the inlining output
Reviewed-by: twisti, kvn
rev 6248 : 8007988: PrintInlining output is inconsistent with incremental inlining
Summary: fix duplicate and conflicting inlining output
Reviewed-by: kvn, vlivanov
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 6011 : Merge
rev 6010 : Merge
rev 5990 : 8028471: PPC64 (part 215): opto: Extend ImplicitNullCheck optimization.
Summary: Fixed Implicit NULL check optimization for AIX, where the page at address '0' is only write-protected.
Reviewed-by: kvn
rev 5937 : 8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
Summary: type methods shouldn't always operate on speculative part
Reviewed-by: kvn, twisti
rev 5776 : 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
rev 5671 : 8028159: C2: compiler stack overflow during inlining of @ForceInline methods
Reviewed-by: roland, kvn
rev 5556 : 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
rev 5546 : 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
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 4103 : 8007144: Incremental inlining mistakes some call sites for dead ones and doesn't inline them
Summary: wrong detection for dead call sites.
Reviewed-by: kvn
rev 3979 : 8005418: JSR 292: virtual dispatch bug in 292 impl
Reviewed-by: jrose, kvn
rev 3974 : 8005071: Incremental inlining for JSR 292
Summary: post parse inlining driven by number of live nodes.
Reviewed-by: twisti, kvn, jrose
rev 3922 : 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
rev 3878 : 7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop()
Reviewed-by: kvn, jrose
rev 3770 : 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
rev 3680 : 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
rev 3602 : 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>
rev 3568 : 7192167: JSR 292: C1 has old broken code which needs to be removed
Reviewed-by: kvn, roland, jrose
rev 3536 : 7187454: stack overflow in C2 compiler thread on Solaris x86
Summary: Added new FormatBufferResource class to use thread's resource area for error message buffer.
Reviewed-by: twisti
rev 3534 : 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>
rev 3450 : 7157365: jruby/bench.bench_timeout crashes with JVM internal error
Reviewed-by: jrose, kvn
rev 3310 : 7162094: LateInlineCallGenerator::do_late_inline crashed on uninitialized _call_node
Reviewed-by: never, twisti
Contributed-by: nils.eliasson@oracle.com
rev 2878 : 7108383: JSR 292: JRuby bench_define_method_methods.rb: assert(slow_jvms != NULL) failed: miss path must not
Reviewed-by: kvn, never
rev 2823 : 7087727: JSR 292: C2 crash if ScavengeRootsInCode=2 when "static final" MethodHandle constants are in use
Reviewed-by: jrose, kvn, never
rev 2670 : 7071307: MethodHandle bimorphic inlining should consider the frequency
Reviewed-by: twisti, roland, kvn, iveresov
rev 2666 : 7085404: JSR 292: VolatileCallSites should have push notification too
Reviewed-by: never, kvn
rev 2665 : 7079673: JSR 292: C1 should inline bytecoded method handle adapters
Reviewed-by: never
rev 2659 : 7083184: JSR 292: don't store context class argument with call site dependencies
Reviewed-by: jrose, never
rev 2615 : 7071653: JSR 292: call site change notification should be pushed not pulled
Reviewed-by: kvn, never, bdelsart
rev 2514 : 7050554: JSR 292 - need optimization for selectAlternative
Reviewed-by: kvn, jrose
rev 2290 : 6909440: C2 fails with assertion (_always_cold->is_cold(),"must always be cold")
Reviewed-by: kvn
rev 2204 : 7012648: move JSR 292 to package java.lang.invoke and adjust names
Summary: package and class renaming only; delete unused methods and classes
Reviewed-by: twisti
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1265 : 6926782: CodeBuffer size too small after 6921352
Summary: After 6921352 the CodeBuffer size was too small.
Reviewed-by: kvn, never
rev 1138 : 6893268: additional dynamic language related optimizations in C2
Summary: C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance.
Reviewed-by: kvn, never
rev 1137 : 6829187: compiler optimizations required for JSR 292
Summary: C2 implementation for invokedynamic support.
Reviewed-by: kvn, never
rev 1080 : 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
rev 337 : 6754988: Update copyright year
Summary: Update for files that have been modified starting July 2008
Reviewed-by: ohair, tbell
rev 293 : 6731641: assert(m->adr_type() == mach->adr_type(),"matcher should not change adr type")
Summary: fixed few addP node type and narrow oop type problems.
Reviewed-by: rasbold, never
rev 0 : Initial load
1 line changed: 0 ins; 0 del; 1 mod; 1315 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/classes.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 7935 : 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
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 5776 : 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
rev 5356 : 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 0 : Initial load
1 line changed: 1 ins; 0 del; 0 mod; 57 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/classes.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8379 : 8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com
rev 8196 : 8074981: Integer/FP scalar reduction optimization
Summary: Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.
Reviewed-by: kvn, twisti
Contributed-by: michael.c.berg@intel.com
rev 7847 : Merge
rev 7844 : 8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov
rev 7802 : 8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: jrose, kvn
rev 6903 : 7173584: Implement arraycopy as a macro node
Summary: delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by: kvn, iveresov
rev 6182 : 8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
rev 6049 : 8027754: Enable loop optimizations for loops with MathExact inside
Reviewed-by: kvn, iveresov
rev 6010 : Merge
rev 5993 : 8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence.
Summary: Use new nodes for loadFence/storeFence intrinsics in C2.
Reviewed-by: kvn, dholmes
rev 5776 : 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
rev 5562 : 8026844: Various Math functions needs intrinsification
Reviewed-by: kvn, twisti
rev 5356 : 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
rev 4044 : 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
rev 3725 : 7199654: Remove LoadUI2LNode
Summary: Removed LoadUI2L node from Ideal nodes, use match rule in .ad files instead.
Reviewed-by: kvn
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3699 : 7201026: add vector for shift count
Summary: Add generation of vectors for scalar shift count.
Reviewed-by: roland, twisti, dlong
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3566 : 6340864: Implement vectorization optimizations in hotspot-server
Summary: Added asm encoding and mach nodes for vector arithmetic instructions on x86.
Reviewed-by: roland
rev 3447 : 7119644: Increase superword's vector size up to 256 bits
Summary: Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
rev 3411 : 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
Contributed-by: Krystal Mok <sajia@taobao.com>
rev 2957 : 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
rev 2617 : 7079329: Adjust allocation prefetching for T4
Summary: on T4 2 BIS instructions should be issued to prefetch 64 bytes
Reviewed-by: iveresov, phh, twisti
rev 2612 : 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
rev 2442 : 5091921: Sign flip issues in loop optimizer
Summary: Fix integer overflow problem in the code generated by loop optimizer.
Reviewed-by: never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1396 : 6946040: add intrinsic for short and char reverseBytes
Reviewed-by: never, twisti
Contributed-by: Hiroshi Yamauchi <yamauchi@google.com>
rev 775 : 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
rev 681 : 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
rev 647 : Merge
rev 643 : 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
rev 628 : Merge
rev 624 : 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
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 558 : 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
rev 420 : 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
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 169 : 6695049: (coll) Create an x86 intrinsic for Arrays.equals
Summary: Intrinsify java/util/Arrays.equals(char[], char[])
Reviewed-by: kvn, never
rev 164 : 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
rev 145 : 6603011: RFE: Optimize long division
Summary: Transform long division by constant into multiply
Reviewed-by: never, kvn
rev 113 : 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
rev 63 : 6671807: (Escape Analysis) Add new ideal node to represent the state of a scalarized object at a safepoint
Summary: Values of non-static fields of a scalarized object should be saved in debug info to reallocate the object during deoptimization.
Reviewed-by: never
rev 0 : Initial load
3 lines changed: 3 ins; 0 del; 0 mod; 335 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/compile.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8829 : 8011858: Use Compile::live_nodes() instead of Compile::unique() in appropriate places
Reviewed-by: kvn, vlivanov
Contributed-by: vlad.ureche@gmail.com
rev 8795 : 8130309: Need to bailout cleanly if creation of stubs fails when codecache is out of space
Summary: Check for failed expansion of stub section in code buffer and bailout.
Reviewed-by: kvn, adinn, dlong, roland, twisti
rev 8514 : 8074551: GWT can be marked non-compilable due to deopt count pollution
Reviewed-by: kvn
rev 8379 : 8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com
rev 8348 : 8076284: Improve vectorization of parallel streams
Summary: Improve vectorization of java/util/stream/Streams$RangeIntSpliterator::forEachRemaining() method and enable loop vectorization in a given method on demand.
Reviewed-by: kvn
Contributed-by: jan.civlin@intel.com
rev 8285 : 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
rev 8196 : 8074981: Integer/FP scalar reduction optimization
Summary: Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.
Reviewed-by: kvn, twisti
Contributed-by: michael.c.berg@intel.com
rev 7939 : Merge
rev 7935 : 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
rev 7866 : Merge
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7802 : 8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: jrose, kvn
rev 7645 : 8055530: assert(_exits.control()->is_top() || !_gvn.type(ret_phi)->empty()) failed: return value must be well defined
Summary: concurrent class loading causes return phi to become top
Reviewed-by: kvn
rev 7448 : 8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
Reviewed-by: kvn, roland
rev 7447 : 8065339: Failed compilation does not always trigger a JFR event 'CompilerFailure'
Summary: CompilerFailure JFR event should be triggered in ciEnv.
Reviewed-by: kvn
rev 7280 : 8046809: vm/mlvm/meth/stress/compiler/deoptimize CodeCache is full.
Summary: Use separate sweeper thread; enables more aggressive sweeping.
Reviewed-by: kvn, jrose
rev 7218 : 8060215: per-method PrintIdealGraphLevel
Summary: Use CompileCommand=option to set PrintIdealGraphLevel on a per-method level. Introduce the PrintIdealGraph develop to control/check if printing the graph is enabled for any method
Reviewed-by: kvn, dlong, thartmann
rev 7201 : 8059331: Print additional information for the assert in Compile::start()
Summary: Add additional output that shows the failure reason
Reviewed-by: kvn
rev 7151 : 8059468: Fix PrintCodeCache output changed by JDK-8059137
Summary: Change output of PrintCodeCache to print "CodeCache" instead of "Code Cache" and change name of non-method code heap to non-nmethod code heap.
Reviewed-by: vlivanov, anoll
rev 7145 : 8058968: Compiler time traces should be improved
Summary: Use CITime consistently, make C2 to report to CompilerBroker, more probes.
Reviewed-by: vlivanov, jrose
rev 7081 : 8015774: Add support for multiple code heaps
Summary: Support for segmentation of the code cache. Separate code heaps are created and used to store code of different types.
Reviewed-by: kvn, iveresov, roland, anoll, egahlin, sla
rev 7030 : 8050147: StoreLoad barrier interferes with stack usages
Reviewed-by: jrose, kvn, drchase
rev 6912 : Merge
rev 6903 : 7173584: Implement arraycopy as a macro node
Summary: delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by: kvn, iveresov
rev 6854 : Merge
rev 6853 : 8046598: Scalable Native memory tracking development
Summary: Enhance scalability of native memory tracking
Reviewed-by: coleenp, ctornqvi, gtriantafill
rev 6837 : 8054033: Remove unused references to Compile*
Summary: Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
rev 6821 : Merge
rev 6820 : 8040213: C2 does not put all modified nodes on IGVN worklist
Summary: Verification code is added that checks if modified nodes are put on the IGVN worklist and modified nodes are processed by 'PhaseIterGVN::transform_old()'
Reviewed-by: kvn, jrose
rev 6761 : Merge
rev 6760 : 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
rev 6710 : 8022968: Some codecache allocation failures don't result in invoking the sweeper
Summary: Add calls to CompileBroker::handle_full_code_cache() or fail gracefully whenever allocation in the code cache fails.
Reviewed-by: iveresov, vlivanov
rev 6633 : 8008321: compile.cpp verify_graph_edges uses bool as int
Summary: The dead_nodes counter in verify_graph_edges(..) has the type bool but is used as int.
Reviewed-by: roland, anoll
rev 6569 : 8026796: Make replace_in_map() on parent maps generic
Summary: propagate node replacements along control flow edges to callers
Reviewed-by: kvn, vlivanov
rev 6546 : 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
rev 6496 : 8043638: Multiple compilation attempts break LogCompulation, lead to confusing PrintInlining output
Summary: dumps inlining only for last compilation attempt. Fix LogCompilation tool so it handles multiple compilation attempts.
Reviewed-by: vlivanov, kvn
rev 6430 : 8032463: VirtualDispatch test timeout with DeoptimizeALot
Summary: Introduce code aging for warm method detection
Reviewed-by: kvn, twisti
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6393 : 8039298: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)->higher_equal(TypePtr::NULL_PTR))
Summary: Convert the assert into the runtime check to skip IGVN optimizations for problematic memory nodes. Eliminate dead nodes more aggressively.
Reviewed-by: twisti, iveresov
rev 6307 : 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.
Reviewed-by: twisti, kvn
rev 6291 : 8005079: fix LogCompilation for incremental inlining
Summary: report late inlining as part of the rest of the inlining output
Reviewed-by: twisti, kvn
rev 6290 : 8036898: assert(t != NULL) failed: must set before get
Summary: Ignore nodes without a type when checking for speculative types in Compile::remove_speculative_types(...).
Reviewed-by: kvn, roland
Contributed-by: Tobias Hartmann <tobias.hartmann@oracle.com>
rev 6248 : 8007988: PrintInlining output is inconsistent with incremental inlining
Summary: fix duplicate and conflicting inlining output
Reviewed-by: kvn, vlivanov
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 6182 : 8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
rev 6054 : 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
Summary: support for speculative traps that keep track of the root of the compilation in which a trap occurs.
Reviewed-by: kvn, twisti
rev 6049 : 8027754: Enable loop optimizations for loops with MathExact inside
Reviewed-by: kvn, iveresov
rev 6011 : Merge
rev 6010 : Merge
rev 5994 : 8029015: PPC64 (part 216): opto: trap based null and range checks
Summary: On PPC64 use tdi instruction that does a compare and raises SIGTRAP for NULL and range checks.
Reviewed-by: kvn
rev 5992 : 8029025: PPC64 (part 203): opto: Move static _in_dump_cnt to Compile object.
Summary: Also introduces the compiler oracle 'option' feature for PrintAssembly.
Reviewed-by: kvn
rev 5989 : Merge
rev 5982 : 8003854: PPC64 (part 115): Introduce PostallocExpand that expands nodes after register allocation
Summary: added ability in C2 to expand mach nodes to several mach nodes after register allocation
Reviewed-by: kvn
rev 5976 : Merge
rev 5966 : Merge
rev 5946 : Merge
rev 5945 : 8016586: PPC64 (part 3): basic changes for PPC64
Summary: added #includes needed for ppc64 port. Renamed _MODEL_ppc to _MODEL_ppc_32 and renamed corresponding old _ppc files to _ppc_32.
Reviewed-by: dholmes, kvn
rev 5938 : 8032490: Remove -XX:+-UseOldInlining
Summary: Move the option to obsolete options list, purge the redundant compiler code.
Reviewed-by: kvn, jrose
rev 5937 : 8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
Summary: type methods shouldn't always operate on speculative part
Reviewed-by: kvn, twisti
rev 5785 : 8028468: Add inlining information into ciReplay
Summary: Allow dump and replay inlining for specified method during a program execution.
Reviewed-by: roland, twisti
rev 5636 : Merge
rev 5635 : 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
rev 5633 : 8027622: java.time.Instant.create failing since hs25-b56
Reviewed-by: kvn, iveresov
rev 5556 : 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
rev 5553 : 8026959: assert(!n->pinned() || n->is_MachConstantBase()) failed: only pinned MachConstantBase node is expected here
Reviewed-by: iveresov, roland
rev 5546 : 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
rev 5492 : 8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
Reviewed-by: kvn, twisti
rev 5328 : 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
rev 5275 : Merge
rev 5259 : 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
rev 5223 : 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
rev 5200 : 8023691: Create interface for nodes in class Block
Summary: Create public methods for accessing the nodes in a block
Reviewed-by: kvn, roland
rev 5104 : 8023003: Cleanup the public interface to PhaseCFG
Summary: public methods that don't need to be public should be private.
Reviewed-by: kvn, twisti
rev 5074 : 8022284: Hide internal data structure in PhaseCFG
Summary: Hide private node to block mapping using public interface
Reviewed-by: kvn, roland
rev 4802 : 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>
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 4514 : 8011621: live_ranges_in_separate_class.patch
Reviewed-by: kvn, roland
Contributed-by: niclas.adlertz@oracle.com
rev 4454 : 8003310: Enable -Wunused-function when compiling with gcc
Summary: Add the -Wunused-function flag and remove a number of unused functions.
Reviewed-by: dholmes, coleenp, kvn
rev 4295 : 8005772: Stubs report compile id -1 in phase events
Summary: Use 0 to indicate id is NA, -1 for error or uninitalized
Reviewed-by: kvn, twisti
rev 4259 : 8009460: C2compiler crash in machnode::in_regmask(unsigned int)
Summary: 7121140 may not correctly break the Allocate -> MemBarStoreStore link
Reviewed-by: kvn
rev 4256 : 8009120: Fuzz instruction scheduling in HotSpot compilers
Reviewed-by: kvn, vlivanov
rev 4154 : 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
Summary: Add support for expensive nodes.
Reviewed-by: kvn
rev 4013 : 8005821: C2: -XX:+PrintIntrinsics is broken
Summary: Check all print inlining flags when processing inlining list.
Reviewed-by: kvn, twisti
Contributed-by: david.r.chase@oracle.com
rev 3974 : 8005071: Incremental inlining for JSR 292
Summary: post parse inlining driven by number of live nodes.
Reviewed-by: twisti, kvn, jrose
rev 3922 : 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
rev 3883 : 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
rev 3880 : 7092905: C2: Keep track of the number of dead nodes
Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes.
Reviewed-by: kvn, twisti, jrose, vlivanov
rev 3764 : 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
rev 3725 : 7199654: Remove LoadUI2LNode
Summary: Removed LoadUI2L node from Ideal nodes, use match rule in .ad files instead.
Reviewed-by: kvn
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3719 : 7177003: C1: LogCompilation support
Summary: add LogCompilation support in C1 - both client and tiered mode.
Reviewed-by: twisti, kvn
rev 3680 : 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
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3668 : 7196199: java/text/Bidi/Bug6665028.java failed: Bidi run count incorrect
Summary: Save whole XMM/YMM registers in safepoint interrupt handler.
Reviewed-by: roland, twisti
rev 3602 : 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>
rev 3571 : 7192963: assert(_in[req-1] == this) failed: Must pass arg count to 'new'
Summary: Fixed Pack node generation. Not vectorize shift instructions if count is not the same for all shifts and if count is vector.
Reviewed-by: twisti
rev 3536 : 7187454: stack overflow in C2 compiler thread on Solaris x86
Summary: Added new FormatBufferResource class to use thread's resource area for error message buffer.
Reviewed-by: twisti
rev 3447 : 7119644: Increase superword's vector size up to 256 bits
Summary: Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
rev 3411 : 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
Contributed-by: Krystal Mok <sajia@taobao.com>
rev 3219 : 7152955: print_method crashes with null root
Reviewed-by: kvn, never
Contributed-by: nils.eliasson@oracle.com
rev 3216 : 7147744: CTW: assert(false) failed: infinite EA connection graph build
Summary: rewrote Connection graph construction code in EA to reduce time spent there.
Reviewed-by: never
rev 2961 : 7123954: Some CTW test crash with SIGSEGV
Summary: Correct Allocate expansion code to preserve i_o when only slow call is generated.
Reviewed-by: iveresov
rev 2956 : 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
rev 2954 : 7121073: secondary_super_cache memory slice has incorrect bounds in flatten_alias_type
Reviewed-by: kvn
rev 2876 : 6890673: Eliminate allocations immediately after EA
Summary: Try to eliminate allocations and related locks immediately after escape analysis.
Reviewed-by: never
rev 2875 : 7003454: order constants in constant table by number of references in code
Reviewed-by: kvn, never, bdelsart
rev 2825 : 7107042: assert(no_dead_loop) failed: dead loop detected
Summary: Use dead nodes elimination code in PhaseIdealLoop before executing EA.
Reviewed-by: never, twisti
rev 2664 : 7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn
rev 2616 : 7079317: Incorrect branch's destination block in PrintoOptoAssembly output
Summary: save/restore label and block in scratch_emit_size()
Reviewed-by: never
rev 2602 : 7063628: Use cbcond on T4
Summary: Add new short branch instruction to Hotspot sparc assembler.
Reviewed-by: never, twisti, jrose
rev 2551 : 7047954: VM crashes with assert(is_Mem()) failed
Summary: cast constant array ptrs to bottom
Reviewed-by: never
rev 2352 : Merge
rev 2349 : Merge
rev 2346 : 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
rev 2345 : 7032963: StoreCM shouldn't participate in store elimination
Reviewed-by: kvn
rev 2292 : 7004535: Clone loop predicate during loop unswitch
Summary: Clone loop predicate for clonned loops
Reviewed-by: never
rev 2248 : 7029017: Additional architecture support for c2 compiler
Summary: Enables cross building of a c2 VM. Support masking of shift counts when the processor architecture mandates it.
Reviewed-by: kvn, never
rev 2223 : 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
rev 2073 : 7016023: Enable building ARM and PPC from src/closed repository
Reviewed-by: dholmes, bdelsart
rev 1979 : 7008325: CodeCache exhausted on sparc starting from hs20b04
Summary: remove clear_scratch_buffer_blob and let init_scratch_buffer_blob free and allocate a new blob if required.
Reviewed-by: twisti
rev 1915 : 6961690: load oops from constant table on SPARC
Summary: oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by: never, kvn
rev 1914 : 7003554: (tiered) assert(is_null_object() || handle() != NULL) failed: cannot embed null pointer
Summary: C1 with profiling doesn't check whether the MDO has been really allocated, which can silently fail if the perm gen is full. The solution is to check if the allocation failed and bailout out of inlining or compilation.
Reviewed-by: kvn, never
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1703 : 6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
rev 1668 : 6978355: renaming for 6961697
Summary: This is the renaming part of 6961697 to keep the actual changes small for review.
Reviewed-by: kvn, never
rev 1605 : 6973963: SEGV in ciBlock::start_bci() with EA
Summary: Added more checks into ResourceObj and growableArray to verify correctness of allocation type.
Reviewed-by: never, coleenp, dholmes
rev 1554 : 6966411: escape.cpp:450 assert(base->Opcode() == Op_ConP
Summary: Execute IGVN optimization before and after Escape Analysis
Reviewed-by: never
rev 1529 : 6959430: Make sure raw loads have control edge
Summary: check that raw loads have control edge
Reviewed-by: never, twisti
rev 1499 : Merge
rev 1495 : 6954029: Improve implicit null check generation with compressed oops
Summary: Hoist DecodeN instruction above null check
Reviewed-by: never, twisti
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1397 : 6943485: JVMTI always on capabilities change code generation too much
Reviewed-by: twisti, dcubed
rev 1265 : 6926782: CodeBuffer size too small after 6921352
Summary: After 6921352 the CodeBuffer size was too small.
Reviewed-by: kvn, never
rev 1172 : 6894779: Loop Predication for Loop Optimizer in C2
Summary: Loop predication implementation
Reviewed-by: never, kvn
rev 1100 : 6895383: JCK test throws NPE for method compiled with Escape Analysis
Summary: Add missing checks for MemBar nodes in EA.
Reviewed-by: never
rev 1080 : 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
rev 929 : 6873777: FPU control word optimization still performed with SSE
Reviewed-by: kvn
rev 921 : 6862956: PhaseIdealLoop should have a CFG verification mode
Reviewed-by: kvn, twisti
rev 859 : 6860599: nodes limit could be reached during Output phase
Summary: Bailout compilation if nodes limit could be reached during Output phase.
Reviewed-by: never, twisti
rev 856 : 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
rev 647 : Merge
rev 642 : 6791178: Specialize for zero as the compressed oop vm heap base
Summary: Use zero based compressed oops if java heap is below 32gb and unscaled compressed oops if java heap is below 4gb.
Reviewed-by: never, twisti, jcoomes, coleenp
rev 628 : Merge
rev 624 : 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
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 558 : 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
rev 492 : 6787050: assert(n->in(0) == 0L,"no control") with UseCompressedOops on sparcv9
Summary: Relax the assert for Sparc.
Reviewed-by: never
rev 490 : 6782820: Server VM fails with "unhandled implicit exception in compiled code"
Summary: Restore the code which sets a control edge for a klass load node.
Reviewed-by: never
rev 460 : 6775880: EA +DeoptimizeALot: assert(mon_info->owner()->is_locked(),"object must be locked now")
Summary: Create new "eliminated" BoxLock node for monitor debug info when corresponding locks are eliminated.
Reviewed-by: never
rev 420 : 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
rev 418 : 6743900: frequency based block layout
Summary: post-register allocation pass that drives block layout by edge frequencies
Reviewed-by: never, kvn
rev 417 : 6764622: IdealGraphVisualizer fixes
Reviewed-by: rasbold, jrose
rev 368 : 6747051: Improve code and implicit null check generation for compressed oops
Summary: Push DecodeN node below the Null check to the non-null path to use the mach node without 0 test.
Reviewed-by: rasbold, never
rev 367 : 6384206: Phis which are later unneeded are impairing our ability to inline based on static types
Reviewed-by: rasbold, jrose
rev 333 : Merge
rev 331 : 6706829: Compressed Oops: add debug info for narrow oops
Summary: Add support for narrow oops in debug info to avoid decoding.
Reviewed-by: rasbold, never
rev 325 : 6741004: UseLargePages + UseCompressedOops breaks implicit null checking guard page
Summary: Turn off c2 implicit null checking on windows and large pages specified.
Reviewed-by: jrose, xlu
rev 293 : 6731641: assert(m->adr_type() == mach->adr_type(),"matcher should not change adr type")
Summary: fixed few addP node type and narrow oop type problems.
Reviewed-by: rasbold, never
rev 253 : 6726999: nsk/stress/jck12a/jck12a010 assert(n != null,"Bad immediate dominator info.")
Summary: Escape Analysis fixes.
Reviewed-by: never, rasbold
rev 247 : 6723160: Nightly failure: Error: meet not symmetric
Summary: Add missing _instance_id settings and other EA fixes.
Reviewed-by: rasbold
rev 245 : Merge
rev 244 : 6684714: Optimize EA Connection Graph build performance
Summary: switch on EA by default, optimize Connection Graph construction
Reviewed-by: rasbold, never
rev 235 : Merge
rev 223 : 6716441: error in meet with +DoEscapeAnalysis
Summary: Set instance_id to InstanceBot for InstPtr->meet(AryPtr) when types are not related.
Reviewed-by: jrose, never
rev 222 : 6718676: putback for 6604014 is incomplete
Reviewed-by: kvn, jrose
rev 221 : 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
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 182 : 6709093: Compressed Oops: reduce size of compiled methods
Summary: exclude UEP size from nmethod code size and use narrow klass oop to load prototype header.
Reviewed-by: jrose, never
rev 168 : 6705887: Compressed Oops: generate x64 addressing and implicit null checks with narrow oops
Summary: Generate addresses and implicit null checks with narrow oops to avoid decoding.
Reviewed-by: jrose, never
rev 164 : 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
rev 163 : 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
rev 127 : 6663848: assert(i < Max(),"oob") in C2 with -Xcomp
Summary: NeverBranchNodes aren't handled properly
Reviewed-by: kvn, sgoldman, rasbold, jrose
rev 113 : 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
rev 100 : 6667042: PrintAssembly option does not work without special plugin
Summary: remove old private plugin interface, simplify, rework old plugin to use unchanged Gnu sources
Reviewed-by: kvn, rasbold
rev 65 : 6674588: (Escape Analysis) Improve Escape Analysis code
Summary: Current EA code has several problems which have to be fixed.
Reviewed-by: jrose, sgoldman
rev 38 : 6667610: (Escape Analysis) retry compilation without EA if it fails
Summary: During split unique types EA could exceed nodes limit and fail the method compilation.
Reviewed-by: rasbold
rev 0 : Initial load
16 lines changed: 11 ins; 0 del; 5 mod; 4411 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/escape.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8910 : 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
rev 8908 : 8134031: Incorrect JIT compilation of complex code with inlining and escape analysis
Summary: Bad rewiring of memory edges when we split unique types during EA
Reviewed-by: kvn
rev 8732 : 8131675: EA fails with assert(false) failed: not unsafe or G1 barrier raw StoreP
Reviewed-by: roland
rev 8630 : Merge
rev 8629 : 8130150: Implement BigInteger.montgomeryMultiply intrinsic
Summary: Add montgomeryMultiply intrinsics
Reviewed-by: kvn
rev 8616 : 8073583: C2 support for CRC32C on SPARC
Reviewed-by: jrose, kvn
Contributed-by: james.cheng@oracle.com
rev 8602 : 8073108: Use x86 and SPARC CPU instructions for GHASH acceleration
Reviewed-by: kvn, jrose
rev 8504 : 8081778: Use Intel x64 CPU instructions for RSA acceleration
Summary: Add intrinsics for BigInteger squareToLen and mulAdd methods.
Reviewed-by: kvn, jrose
rev 8384 : 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
rev 7869 : 8069412: Locks need better debug-printing support
Summary: Added better debug-printing support and enhanced LogCompilation tool
Reviewed-by: kvn, roland, dholmes
rev 7810 : 8071534: assert(!failing()) failed: Must not have pending failure. Reason is: out of memory
Summary: Add missing C->failing() check after Connection graph construction.
Reviewed-by: iveresov
rev 7733 : 8066312: Add new Node* Node::find_out(int opc) method.
Summary: Added methods find_user_with() and has_user_with() for searching for a particular out type.
Reviewed-by: kvn, jrose
rev 7501 : 8066199: C2 escape analysis prevents VM from exiting quickly
Summary: Check for safepoint and block during EA Connection graph construction.
Reviewed-by: roland, vlivanov, shade
rev 7448 : 8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
Reviewed-by: kvn, roland
rev 7284 : 8041984: CompilerThread seems to occupy all CPU in a very rare situation
Summary: Add new timeout checks to EA.
Reviewed-by: iveresov, drchase
rev 7213 : 8058746: escape analysis special case code for array copy broken by 7173584
Summary: escape analysis doesn't handler arraycopy nodes properly
Reviewed-by: kvn, iveresov, vlivanov
rev 7149 : 8058825: EA: ConnectionGraph::split_unique_types does incorrect scalar replacement
Reviewed-by: kvn
rev 7145 : 8058968: Compiler time traces should be improved
Summary: Use CITime consistently, make C2 to report to CompilerBroker, more probes.
Reviewed-by: vlivanov, jrose
rev 6997 : 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
rev 6837 : 8054033: Remove unused references to Compile*
Summary: Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
rev 6576 : 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
rev 6310 : 8038048: assert(null_obj->escape_state() == PointsToNode::NoEscape,etc) runThese -full
Summary: use correct set_escape_state() method.
Reviewed-by: kvn, iignatyev
Contributed-by: Richard Reingruber <richard.reingruber@sap.com>
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 5755 : 8027388: JVM crashes with SIGSEGV (0xb) at pc=0x00000001077cbbf6
Summary: Make object non-scalarizable if it has field with multiple bases one of which is null
Reviewed-by: kvn, twisti
rev 5475 : 8007923: Tests on references fails
Reviewed-by: kvn, iveresov
rev 4918 : 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
rev 4802 : 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>
rev 4788 : 8015441: runThese crashed with assert(opcode == Op_ConP || opcode == Op_ThreadLocal || opcode == Op_CastX2P ..) failed: sanity
Summary: Relax the assert to accept any raw ptr types.
Reviewed-by: roland
rev 4678 : 8014286: failed java/lang/Math/DivModTests.java after 6934604 changes
Summary: Corrected escape state for the result of boxing method. Added force inlining executed boxing methods.
Reviewed-by: twisti
rev 4676 : 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
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 4044 : 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
rev 3880 : 7092905: C2: Keep track of the number of dead nodes
Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes.
Reviewed-by: kvn, twisti, jrose, vlivanov
rev 3820 : 8002069: Assert failed in C2: assert(field->edge_count() > 0) failed: sanity
Summary: Added missed type check of initializing store in ConnectionGraph::find_init_values().
Reviewed-by: roland, twisti, vlivanov
rev 3771 : 7163534: VM could crashes assert(false) failed: infinite EA connection graph build
Summary: In case of time or iterations limit reached C2 stops EA and continue compilation without EA as it does in product VM already.
Reviewed-by: twisti
rev 3770 : 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
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3536 : 7187454: stack overflow in C2 compiler thread on Solaris x86
Summary: Added new FormatBufferResource class to use thread's resource area for error message buffer.
Reviewed-by: twisti
rev 3534 : 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>
rev 3222 : 7154997: assert(false) failed: not G1 barrier raw StoreP
Summary: Skip only G1 cases and explicitly set global escape state in unsafe cases.
Reviewed-by: never
rev 3216 : 7147744: CTW: assert(false) failed: infinite EA connection graph build
Summary: rewrote Connection graph construction code in EA to reduce time spent there.
Reviewed-by: never
rev 3169 : 7146442: assert(false) failed: bad AD file
Summary: Take into account only stores captured by Initialize node. Added missing check for Top input in value() methods.
Reviewed-by: never
rev 3129 : 7129284: +DoEscapeAnalysis regression w/ early build of 7u4 (HotSpot 23) on Linux
Summary: Removed code which tried to create edges from fields of destination objects of arraycopy to fields of source objects. Added 30 sec time limit for EA graph construction.
Reviewed-by: never
rev 2971 : 7125896: Eliminate nested locks
Summary: Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.
Reviewed-by: never, twisti
rev 2957 : 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
rev 2883 : 7112478: after 7105605 JRuby bench_define_method_methods.rb fails with NPE
Summary: Fixed several EA issues with Connection Graph construction.
Reviewed-by: never, twisti
rev 2876 : 6890673: Eliminate allocations immediately after EA
Summary: Try to eliminate allocations and related locks immediately after escape analysis.
Reviewed-by: never
rev 2874 : 7105605: Use EA info to optimize pointers compare
Summary: optimize pointers compare using EA information.
Reviewed-by: never, twisti
rev 2819 : 7059047: EA: can't find initializing store with several CheckCastPP
Summary: Split adjust_escape_state() method into two methods to find initializing stores.
Reviewed-by: never
rev 2807 : 7059039: EA: don't change non-escaping state of NULL pointer
Summary: NULL pointers do not escape but escape state propagation may change it leading to worser results.
Reviewed-by: never
rev 2516 : 7050280: assert(u->as_Unlock()->is_eliminated()) failed: sanity
Summary: Mark all associated (same box and obj) lock and unlock nodes for elimination if some of them marked already.
Reviewed-by: iveresov, never
rev 2375 : 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
rev 2306 : 6992789: assert(phi->_idx >= nodes_size()) failed: only new Phi per instance memory slice
Summary: Swap checks: check for regular memory slice first and keep input phi.
Reviewed-by: never
rev 2121 : 7013538: Java memory leak with escape analysis
Summary: Don't allocate VectorSet iterator on C heap. Reuse resource storage in EA.
Reviewed-by: never
rev 1974 : 7003130: assert(iterations<CG_BUILD_ITER_LIMIT) failed: infinite EA connection graph
Summary: bump CG_BUILD_ITER_LIMIT to 20
Reviewed-by: iveresov
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1841 : 6991188: C2 Crashes while compiling method
Summary: Do several iterations to build EA Connection Graph.
Reviewed-by: never, twisti, ysr
rev 1735 : 6982537: Crash in Node*step_through_mergemem
Reviewed-by: kvn
rev 1554 : 6966411: escape.cpp:450 assert(base->Opcode() == Op_ConP
Summary: Execute IGVN optimization before and after Escape Analysis
Reviewed-by: never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1459 : 6953267: assert in EA code with -XX:+StressReflectiveCode
Summary: Add missing checks into EA code.
Reviewed-by: never
rev 1136 : 6913075: EA identifies escape state incorrectly after 6895383 fix
Summary: EA incorrectly identifies escape state of an allocation passed as call argument.
Reviewed-by: never
rev 1101 : 6896727: nsk/logging/LoggingPermission/LoggingPermission/logperm002 fails with G1, EscapeAnalisys
Summary: Move instance store's memory users to corresponding memory slices when updating its memory edge.
Reviewed-by: never
rev 1100 : 6895383: JCK test throws NPE for method compiled with Escape Analysis
Summary: Add missing checks for MemBar nodes in EA.
Reviewed-by: never
rev 1072 : 6902036: WorldWind asserts on escape.cpp:1153: assert(addr->is_AddP(),"AddP required")
Summary: Remove the assert.
Reviewed-by: twisti
rev 1062 : 6896352: CTW fails hotspot/src/share/vm/opto/escape.cpp:1155
Summary: Always call C->get_alias_index(phase->type(address)) during parsing.
Reviewed-by: never
rev 988 : 6879362: assert(!klass_is_exact(),"only non-exact klass")
Summary: Do nothing for AddP node which has type not related to the type of allocated object.
Reviewed-by: never
rev 957 : 6880574: C2 assert in escape.cpp:445 on linux-amd64
Summary: Look through chained AddP nodes in get_addp_base().
Reviewed-by: jrose
rev 866 : Merge
rev 851 : 6851742: (EA) allocation elimination doesn't work with UseG1GC
Summary: Fix eliminate_card_mark() to eliminate G1 pre/post barriers.
Reviewed-by: never
rev 844 : 6862919: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 07/09
Reviewed-by: tbell, ohair
rev 784 : 6836054: java/util/Arrays/CopyMethods.java fails on solaris-sparc with IllegalArgumentException
Summary: Do not mark an allocation as scalar replaceable if its actual type in unknown statically.
Reviewed-by: never
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 584 : 6802499: EA: assert(false,"unknown node on this path")
Summary: Add missing checks for SCMemProj node in Escape analysis code.
Reviewed-by: never
rev 460 : 6775880: EA +DeoptimizeALot: assert(mon_info->owner()->is_locked(),"object must be locked now")
Summary: Create new "eliminated" BoxLock node for monitor debug info when corresponding locks are eliminated.
Reviewed-by: never
rev 307 : 6732732: CTW with EA: assert(n != 0L,"Bad immediate dominator info.")
Summary: Missing edge to a call's return value in EA Connection Graph.
Reviewed-by: never
rev 306 : 6741738: TypePtr::add_offset() set incorrect offset when the add overflows
Summary: Set offset to OffsetBot when the add overflows in TypePtr::add_offset()
Reviewed-by: jrose, never
rev 293 : 6731641: assert(m->adr_type() == mach->adr_type(),"matcher should not change adr type")
Summary: fixed few addP node type and narrow oop type problems.
Reviewed-by: rasbold, never
rev 253 : 6726999: nsk/stress/jck12a/jck12a010 assert(n != null,"Bad immediate dominator info.")
Summary: Escape Analysis fixes.
Reviewed-by: never, rasbold
rev 247 : 6723160: Nightly failure: Error: meet not symmetric
Summary: Add missing _instance_id settings and other EA fixes.
Reviewed-by: rasbold
rev 245 : Merge
rev 244 : 6684714: Optimize EA Connection Graph build performance
Summary: switch on EA by default, optimize Connection Graph construction
Reviewed-by: rasbold, never
rev 235 : Merge
rev 223 : 6716441: error in meet with +DoEscapeAnalysis
Summary: Set instance_id to InstanceBot for InstPtr->meet(AryPtr) when types are not related.
Reviewed-by: jrose, never
rev 221 : 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
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 168 : 6705887: Compressed Oops: generate x64 addressing and implicit null checks with narrow oops
Summary: Generate addresses and implicit null checks with narrow oops to avoid decoding.
Reviewed-by: jrose, never
rev 164 : 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
rev 163 : 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
rev 124 : 6689060: Escape Analysis does not work with Compressed Oops
Summary: 64-bits VM crashes with -XX:+AggresiveOpts (Escape Analysis + Compressed Oops)
Reviewed-by: never, sgoldman
rev 113 : 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
rev 102 : Merge
rev 101 : 6681577: PIT: some VM tests fails with -XX:+AggressiveOpts in 6u5p b01
Summary: C2 spends > 60% in escape analysis code during test nsk/regression/b4675027.
Reviewed-by: never
rev 77 : 6679854: assert in escape.cpp:397
Summary: The assert misses the case CastX2P 'base' for an unsafe field reference
Reviewed-by: never, jrose
rev 65 : 6674588: (Escape Analysis) Improve Escape Analysis code
Summary: Current EA code has several problems which have to be fixed.
Reviewed-by: jrose, sgoldman
rev 39 : 6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation
Summary: Cloning an allocation will not allow scalar replacement since memory operations could not be associated with one allocation.
Reviewed-by: rasbold
rev 38 : 6667610: (Escape Analysis) retry compilation without EA if it fails
Summary: During split unique types EA could exceed nodes limit and fail the method compilation.
Reviewed-by: rasbold
rev 0 : Initial load
26 lines changed: 23 ins; 0 del; 3 mod; 3466 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/graphKit.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8925 : 8072817: CardTableExtension kind() should be BarrierSet::CardTableExtension
Summary: Use BarrierSet::CardTableForRS where needed, and update concrete bs tags.
Reviewed-by: jwilhelm, jmasa
rev 8567 : 8079315: UseCondCardMark broken in conjunction with CMS precleaning on x86
Summary: Add the necessary StoreLoad barrier in interpreter, C1 and C2 for x86
Reviewed-by: tschatzl
rev 8488 : Merge
rev 8482 : 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
rev 8413 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
rev 8193 : 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
rev 8184 : Merge
rev 8170 : 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
rev 8033 : Merge
rev 8030 : 8067891: Remove vestigal G1SATBCT barrier set kind
Summary: Remove all case statements specifying G1SATBCT
Reviewed-by: tschatzl, kbarrett
rev 8003 : 8073315: Enable gcc -Wtype-limits and fix upcoming issues.
Summary: Relevant fixes in blockOffsetTable.cpp, os_linux.cpp, parCardTableModRefBS.cpp.
Reviewed-by: jwilhelm, kbarrett, simonis
rev 7960 : Merge
rev 7959 : Merge
rev 7939 : Merge
rev 7935 : 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
rev 7923 : 8069016: Add BarrierSet downcast support
Summary: Add FakeRttiSupport utility and use to provide barrier_set_cast.
Reviewed-by: jmasa, sangheki
rev 7890 : Merge
rev 7878 : Merge
rev 7877 : 8064611: AARCH64: Changes to HotSpot shared code
Summary: Everything except cpu/ and os_cpu/
Reviewed-by: dholmes, goetz, dlong, coleenp, kvn
rev 7872 : Merge
rev 7869 : 8069412: Locks need better debug-printing support
Summary: Added better debug-printing support and enhanced LogCompilation tool
Reviewed-by: kvn, roland, dholmes
rev 7866 : Merge
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7824 : Merge
rev 7822 : 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
rev 7803 : 8068915: uncommon trap w/ Reason_speculate_class_check causes performance regression due to continuous deoptimizations
Reviewed-by: kvn, roland, jrose
rev 7795 : 8071805: BarrierSet::Other is not used and should be removed.
Summary: Remove all occurences of BarrierSet::Other because the barrier set kind is never set to Other.
Reviewed-by: tschatzl, kbarrett
rev 7503 : 8064703: crash running specjvm98's javac following 8060252
Summary: uncommon trap between arraycopy and initialization may leave array initialized
Reviewed-by: kvn, vlivanov, goetz
rev 7378 : 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
rev 7221 : 8057737: Avoid G1 write barriers on newly allocated objects
Reviewed-by: mgerdin, kvn, iveresov
Contributed-by: Staffan Friberg <staffan.friberg@oracle.com>
rev 6903 : 7173584: Implement arraycopy as a macro node
Summary: delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by: kvn, iveresov
rev 6837 : 8054033: Remove unused references to Compile*
Summary: Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
rev 6818 : 8050860: Cleanup TypeTuple and TypeFunc
Summary: 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
Contributed-by: Zoltan Majo <zoltan.majo@oracle.com>
rev 6571 : 8035605: Expand functionality of PredictedIntrinsicGenerator
Summary: Allow several predicates and separate intrinsic methods per one intrinsified (virtual) method.
Reviewed-by: roland
rev 6569 : 8026796: Make replace_in_map() on parent maps generic
Summary: propagate node replacements along control flow edges to callers
Reviewed-by: kvn, vlivanov
rev 6568 : 8033626: assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place
Reviewed-by: kvn, roland
rev 6546 : 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
rev 6396 : 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>
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 6216 : 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
rev 6186 : 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
rev 6182 : 8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
rev 6112 : 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]
Summary: In GraphKit::gen_checkcast() provide only exact superklass to GraphKit::maybe_cast_profiled_receiver()
Reviewed-by: kvn, roland
rev 6067 : Merge
rev 6066 : 8031754: Type speculation should favor profile data from outermost inlined method
Summary: favor profile data coming from outer most method
Reviewed-by: kvn, twisti
rev 6054 : 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
Summary: support for speculative traps that keep track of the root of the compilation in which a trap occurs.
Reviewed-by: kvn, twisti
rev 6032 : Merge
rev 6031 : 8035493: JVMTI PopFrame capability must instruct compilers not to prune locals
Reviewed-by: kvn, sla, coleenp, sspitsyn
rev 6011 : Merge
rev 6010 : Merge
rev 5983 : 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
rev 5937 : 8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
Summary: type methods shouldn't always operate on speculative part
Reviewed-by: kvn, twisti
rev 5776 : 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
rev 5556 : 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
rev 5546 : 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
rev 5490 : 8026293: Schedule part of G1 pre-barrier late
Summary: move rare executed part of G1 write barrier from hot path.
Reviewed-by: kvn, twisti, roland
Contributed-by: staffan.friberg@oracle.com
rev 5487 : Merge
rev 5473 : 8024067: Missing replace_in_map() calls following null checks
Summary: add replace_in_map() calls following some null checks in type checks
Reviewed-by: kvn
rev 5430 : Merge
rev 5425 : 8014555: G1: Memory ordering problem with Conc refinement and card marking
Summary: 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
rev 5364 : 8025599: Missing store barrier with OptimizeStringConcat
Reviewed-by: kvn, twisti
Contributed-by: Axel Siebenborn <axel.siebenborn@sap.com>
rev 5223 : 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
rev 5202 : 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>
rev 5192 : 8023472: C2 optimization breaks with G1
Summary: set control edge for previous value load in G1 pre-barrier
Reviewed-by: twisti
rev 4916 : 8019247: SIGSEGV in compiled method c8e.e.t_.getArray(Ljava/lang/Class;)[Ljava/lang/Object
Summary: Undo recent changes (and add more comments) in Ideal_allocation().
Reviewed-by: roland
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 4582 : 8012715: G1: GraphKit accesses PtrQueue::_index as int but is size_t
Summary: 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
Contributed-by: Martin Doerr <martin.doerr@sap.com>
rev 4433 : 8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address
Summary: always transform AddP nodes in IdealKit by calling _gvn.transform().
Reviewed-by: roland, twisti
rev 3974 : 8005071: Incremental inlining for JSR 292
Summary: post parse inlining driven by number of live nodes.
Reviewed-by: twisti, kvn, jrose
rev 3929 : 8004741: Missing compiled exception handle table entry for multidimensional array allocation
Summary: Added missing exception path for multidimensional array allocation and use Throwable type instead of OutOfMemoryError for allocation's exception.
Reviewed-by: twisti
rev 3922 : 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
rev 3880 : 7092905: C2: Keep track of the number of dead nodes
Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes.
Reviewed-by: kvn, twisti, jrose, vlivanov
rev 3878 : 7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop()
Reviewed-by: kvn, jrose
rev 3722 : 8000313: C2 should use jlong for 64bit values
Summary: Replace all occurrences of long with jlong in C2 code.
Reviewed-by: kvn, twisti
rev 3680 : 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
rev 3602 : 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>
rev 3586 : 7192406: JSR 292: C2 needs exact return type information for invokedynamic and invokehandle call sites
Reviewed-by: kvn
rev 3534 : 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>
rev 3325 : 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
rev 3086 : 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
rev 2957 : 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
rev 2956 : 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
rev 2612 : 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
rev 2442 : 5091921: Sign flip issues in loop optimizer
Summary: Fix integer overflow problem in the code generated by loop optimizer.
Reviewed-by: never
rev 2381 : Merge
rev 2379 : 7029167: add support for conditional card marks
Reviewed-by: iveresov, kvn
rev 2377 : 7030715: JSR 292 JRuby test/test_super_call_site_caching.rb asserts with +DoEscapeAnalysis
Reviewed-by: twisti
rev 2375 : 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
rev 2352 : Merge
rev 2349 : Merge
rev 2346 : 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
rev 2315 : Merge
rev 2291 : 7032314: Allow to generate CallLeafNoFPNode in IdealKit
Summary: Added CallLeafNoFPNode generation to IdealKit. Added i_o synchronization.
Reviewed-by: never
rev 2273 : 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
rev 2230 : 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
rev 1914 : 7003554: (tiered) assert(is_null_object() || handle() != NULL) failed: cannot embed null pointer
Summary: C1 with profiling doesn't check whether the MDO has been really allocated, which can silently fail if the perm gen is full. The solution is to check if the allocation failed and bailout out of inlining or compilation.
Reviewed-by: kvn, never
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1872 : 7000491: assert(false) failed: should be optimized out in SharedRuntime::g1_wb_pre
Summary: Wrong value type is used for NULL store when clearing the detail message of the preallocated exception object.
Reviewed-by: never, iveresov
rev 1706 : 6965815: OptimizeStringConcat: assert(!q->is_MergeMem()) failed with specjbb2000
Reviewed-by: kvn
rev 1668 : 6978355: renaming for 6961697
Summary: This is the renaming part of 6961697 to keep the actual changes small for review.
Reviewed-by: kvn, never
rev 1666 : 6912064: type profiles need to be exploited more for dynamic language support
Reviewed-by: kvn
rev 1529 : 6959430: Make sure raw loads have control edge
Summary: check that raw loads have control edge
Reviewed-by: never, twisti
rev 1514 : Merge
rev 1513 : 6953058: G1: A bigapp crashes with SIGSEGV in compiled code
Summary: In C2's G1 post write barrier, the loads of the buffer and index fields from the DirtyCardQueue structure may be moved across a safepoint. Use the current value of "control" in the C2 IR to limit how far these loads can move.
Reviewed-by: never, iveresov, kvn
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1397 : 6943485: JVMTI always on capabilities change code generation too much
Reviewed-by: twisti, dcubed
rev 1257 : Merge
rev 1252 : 6910605: C2: NullPointerException/ClassCaseException is thrown when C2 with DeoptimizeALot is used
Summary: Set the reexecute bit for runtime calls _new_array_Java when they used for _multianewarray bytecode.
Reviewed-by: never
rev 1213 : 6902182: 4/4 Starting with jdwp agent should not incur performance penalty
Summary: Rename can_post_exceptions support to can_post_on_exceptions. Add support for should_post_on_exceptions flag to permit per JavaThread optimizations.
Reviewed-by: never, kvn, dcubed
Contributed-by: tom.deneau@amd.com
rev 1166 : 6896647: card marks can be deferred too long
Summary: Deferred card marks are now flushed during the gc prologue. Parallel[Scavege,OldGC] and SerialGC no longer defer card marks generated by COMPILER2 as a result of ReduceInitialCardMarks. For these cases, introduced a diagnostic option to defer the card marks, only for the purposes of testing and diagnostics. CMS and G1 continue to defer card marks. Potential performance concern related to single-threaded flushing of deferred card marks in the gc prologue will be addressed in the future.
Reviewed-by: never, johnc
rev 1137 : 6829187: compiler optimizations required for JSR 292
Summary: C2 implementation for invokedynamic support.
Reviewed-by: kvn, never
rev 1099 : 6908167: jbb2005, OptimizeStringConcat causes assert in EA
Reviewed-by: kvn
rev 1080 : 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
rev 1027 : 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
rev 985 : 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
rev 955 : 6880052: SIGSEGV in GraphKit::null_check_common()
Summary: Check that a klass is not NULL before the is_loaded() call.
Reviewed-by: never
rev 954 : 6875619: CTW fails with /hotspot/src/share/vm/opto/type.hpp
Summary: In load_array_length() cast array's type to TypeOopPtr when calling make_ideal_length() method.
Reviewed-by: never
rev 950 : 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
rev 900 : 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
rev 851 : 6851742: (EA) allocation elimination doesn't work with UseG1GC
Summary: Fix eliminate_card_mark() to eliminate G1 pre/post barriers.
Reviewed-by: never
rev 827 : 6856025: assert(_base >= OopPtr && _base <= KlassPtr,"Not a Java pointer")
Reviewed-by: kvn
rev 825 : 6818666: G1: Type lost in g1 pre-barrier
Reviewed-by: kvn
rev 780 : 6788527: Server vm intermittently fails with assertion "live value must not be garbage" with fastdebug bits
Summary: Cache Jvmti and DTrace flags used by Compiler.
Reviewed-by: never
rev 730 : 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
rev 726 : 6655646: dynamic languages need dynamically linked call sites
Summary: invokedynamic instruction (JSR 292 RI)
Reviewed-by: twisti, never
rev 647 : Merge
rev 644 : 6813212: factor duplicated assembly code for general subclass check (for 6655638)
Summary: Code in interp_masm, stubGenerator, c1_LIRAssembler, and AD files moved into MacroAssembler.
Reviewed-by: kvn
rev 628 : Merge
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 570 : Merge
rev 565 : 6799693: Server compiler leads to data corruption when expression throws an Exception
Summary: Use merged memory state for an allocation's slow path.
Reviewed-by: never
rev 563 : 6442502: assert(bits,"Use TypePtr for NULL") on linux-x86
Reviewed-by: kvn
rev 544 : 6793828: G1: invariant: queues are empty when activated
Reviewed-by: jrose, kvn
rev 372 : Merge
rev 367 : 6384206: Phis which are later unneeded are impairing our ability to inline based on static types
Reviewed-by: rasbold, jrose
rev 366 : 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
rev 365 : Merge
rev 356 : Merge
rev 344 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 332 : 6746907: Improve implicit null check generation
Summary: add missing implicit null check cases.
Reviewed-by: never
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 164 : 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
rev 113 : 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
rev 74 : 6674600: (Escape Analysis) Optimize memory graph for instance's fields
Summary: EA gives opportunite to do more aggressive memory optimizations.
Reviewed-by: never, jrose
rev 63 : 6671807: (Escape Analysis) Add new ideal node to represent the state of a scalarized object at a safepoint
Summary: Values of non-static fields of a scalarized object should be saved in debug info to reallocate the object during deoptimization.
Reviewed-by: never
rev 29 : 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
rev 23 : 6621098: "* HeapWordSize" for TrackedInitializationLimit is missing
Summary: '* HeapWordSize' is missing in GraphKit::set_output_for_allocation()
Reviewed-by: rasbold, jrose, never
rev 0 : Initial load
245 lines changed: 241 ins; 0 del; 4 mod; 4348 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/graphKit.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8482 : 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
rev 8170 : 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
rev 7866 : Merge
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7802 : 8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: jrose, kvn
rev 7503 : 8064703: crash running specjvm98's javac following 8060252
Summary: uncommon trap between arraycopy and initialization may leave array initialized
Reviewed-by: kvn, vlivanov, goetz
rev 7221 : 8057737: Avoid G1 write barriers on newly allocated objects
Reviewed-by: mgerdin, kvn, iveresov
Contributed-by: Staffan Friberg <staffan.friberg@oracle.com>
rev 6903 : 7173584: Implement arraycopy as a macro node
Summary: delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by: kvn, iveresov
rev 6569 : 8026796: Make replace_in_map() on parent maps generic
Summary: propagate node replacements along control flow edges to callers
Reviewed-by: kvn, vlivanov
rev 6568 : 8033626: assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place
Reviewed-by: kvn, roland
rev 6546 : 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
rev 6216 : 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
rev 6186 : 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
rev 6054 : 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
Summary: support for speculative traps that keep track of the root of the compilation in which a trap occurs.
Reviewed-by: kvn, twisti
rev 6010 : Merge
rev 5983 : 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
rev 5776 : 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
rev 5556 : 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
rev 5473 : 8024067: Missing replace_in_map() calls following null checks
Summary: add replace_in_map() calls following some null checks in type checks
Reviewed-by: kvn
rev 5223 : 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
rev 5202 : 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>
rev 3878 : 7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop()
Reviewed-by: kvn, jrose
rev 3680 : 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
rev 3602 : 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>
rev 3534 : 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>
rev 3325 : 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
rev 2381 : Merge
rev 2375 : 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
rev 2352 : Merge
rev 2349 : Merge
rev 2346 : 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
rev 2315 : Merge
rev 2291 : 7032314: Allow to generate CallLeafNoFPNode in IdealKit
Summary: Added CallLeafNoFPNode generation to IdealKit. Added i_o synchronization.
Reviewed-by: never
rev 2273 : 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
rev 2230 : 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
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1666 : 6912064: type profiles need to be exploited more for dynamic language support
Reviewed-by: kvn
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1213 : 6902182: 4/4 Starting with jdwp agent should not incur performance penalty
Summary: Rename can_post_exceptions support to can_post_on_exceptions. Add support for should_post_on_exceptions flag to permit per JavaThread optimizations.
Reviewed-by: never, kvn, dcubed
Contributed-by: tom.deneau@amd.com
rev 1080 : 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
rev 985 : 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
rev 900 : 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
rev 851 : 6851742: (EA) allocation elimination doesn't work with UseG1GC
Summary: Fix eliminate_card_mark() to eliminate G1 pre/post barriers.
Reviewed-by: never
rev 825 : 6818666: G1: Type lost in g1 pre-barrier
Reviewed-by: kvn
rev 730 : 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
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 563 : 6442502: assert(bits,"Use TypePtr for NULL") on linux-x86
Reviewed-by: kvn
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 0 : Initial load
7 lines changed: 7 ins; 0 del; 0 mod; 945 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/ifg.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 7733 : 8066312: Add new Node* Node::find_out(int opc) method.
Summary: Added methods find_user_with() and has_user_with() for searching for a particular out type.
Reviewed-by: kvn, jrose
rev 7445 : 8065618: C2 RA incorrectly removes kill projections
Summary: Don't remove KILL projections if their "defining" nodes have SCMemProj projection (memory side effects).
Reviewed-by: iveresov
rev 7145 : 8058968: Compiler time traces should be improved
Summary: Use CITime consistently, make C2 to report to CompilerBroker, more probes.
Reviewed-by: vlivanov, jrose
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 6053 : 8033260: assert(lrg._area >= 0.0) failed: negative spill area
Summary: Change type from float to double on block frequency, and add check for +Inf - +Inf operation
Reviewed-by: kvn, roland
rev 6050 : 8032894: Remove dead code in Pressure::lower
Summary: Remove dead code in Pressure::lower
Reviewed-by: kvn, roland
rev 5942 : 8031498: Cleanup and re-factorize PhaseChaitin::build_ifg_physical
Summary: Created sub-functions, added data structures, improved naming and removed unnecessary code
Reviewed-by: kvn, roland, rbackman
rev 5776 : 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
rev 5481 : 8011415: CTW on Sparc: assert(lrg.lo_degree()) failed:
Summary: Increased the LRG AllStack mask size since the previous size was not big enough when compiling huge methods (60k+ nodes)
Reviewed-by: kvn, roland, twisti
rev 5200 : 8023691: Create interface for nodes in class Block
Summary: Create public methods for accessing the nodes in a block
Reviewed-by: kvn, roland
rev 5104 : 8023003: Cleanup the public interface to PhaseCFG
Summary: public methods that don't need to be public should be private.
Reviewed-by: kvn, twisti
rev 5074 : 8022284: Hide internal data structure in PhaseCFG
Summary: Hide private node to block mapping using public interface
Reviewed-by: kvn, roland
rev 4514 : 8011621: live_ranges_in_separate_class.patch
Reviewed-by: kvn, roland
Contributed-by: niclas.adlertz@oracle.com
rev 4432 : 8010281: Remove code that is never executed
Reviewed-by: kvn, roland
Contributed-by: niclas.adlertz@oracle.com
rev 3880 : 7092905: C2: Keep track of the number of dead nodes
Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes.
Reviewed-by: kvn, twisti, jrose, vlivanov
rev 3447 : 7119644: Increase superword's vector size up to 256 bits
Summary: Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1212 : 6921992: failure in verify scheduling after 6792161
Reviewed-by: kvn
rev 1199 : 6792161: assert("No dead instructions after post-alloc")
Reviewed-by: kvn
rev 628 : Merge
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 566 : 6791852: assert(b->_nodes[insidx] == n,"got insidx set incorrectly")
Summary: Move the CreateEx up before each round of IFG construction
Reviewed-by: never, phh
rev 380 : Merge
rev 369 : 6750588: assert(lrg._area >= 0,"negative spill area") running NSK stmp0101 test
Summary: handle NaN costs more carefully
Reviewed-by: kvn, never
rev 337 : 6754988: Update copyright year
Summary: Update for files that have been modified starting July 2008
Reviewed-by: ohair, tbell
rev 295 : 6732194: Data corruption dependent on -server/-client/-Xbatch
Summary: rematerializing nodes results in incorrect inputs
Reviewed-by: rasbold
rev 0 : Initial load
2 lines changed: 0 ins; 0 del; 2 mod; 860 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/lcm.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7576 : 8066763: fatal error "assert(false) failed: unexpected yanked node" in postaloc.cpp:139
Summary: Check for dead input nodes after replacing compare node with implicit null check.
Reviewed-by: kvn
rev 7314 : 8059780: SPECjvm2008-MPEG performance regressions on x64 platforms
Summary: Back-out 8052081 changes made in lcm.cpp.
Reviewed-by: iveresov, roland
rev 6839 : 8052081: Optimize generated by C2 code for Intel's Atom processor
Summary: Allow to execute vectorization and crc32 optimization on Atom. Enable UseFPUForSpilling by default on x86.
Reviewed-by: roland
rev 6760 : 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
rev 6546 : 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
rev 6049 : 8027754: Enable loop optimizations for loops with MathExact inside
Reviewed-by: kvn, iveresov
rev 6010 : Merge
rev 5990 : 8028471: PPC64 (part 215): opto: Extend ImplicitNullCheck optimization.
Summary: Fixed Implicit NULL check optimization for AIX, where the page at address '0' is only write-protected.
Reviewed-by: kvn
rev 5976 : Merge
rev 5966 : Merge
rev 5945 : 8016586: PPC64 (part 3): basic changes for PPC64
Summary: added #includes needed for ppc64 port. Renamed _MODEL_ppc to _MODEL_ppc_32 and renamed corresponding old _ppc files to _ppc_32.
Reviewed-by: dholmes, kvn
rev 5776 : 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
rev 5356 : 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
rev 5207 : 8024095: Missing brackets in local scheduling code.
Summary: Added brackets for if-statement
Reviewed-by: kvn, roland
rev 5204 : 8023988: Move local scheduling of nodes to the CFG creation and code motion phase (PhaseCFG)
Summary: Moved local scheduling code from class Block to class PhaseCFG
Reviewed-by: kvn, roland
rev 5200 : 8023691: Create interface for nodes in class Block
Summary: Create public methods for accessing the nodes in a block
Reviewed-by: kvn, roland
rev 5104 : 8023003: Cleanup the public interface to PhaseCFG
Summary: public methods that don't need to be public should be private.
Reviewed-by: kvn, twisti
rev 5074 : 8022284: Hide internal data structure in PhaseCFG
Summary: Hide private node to block mapping using public interface
Reviewed-by: kvn, roland
rev 4676 : 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
rev 4256 : 8009120: Fuzz instruction scheduling in HotSpot compilers
Reviewed-by: kvn, vlivanov
rev 4044 : 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
rev 3880 : 7092905: C2: Keep track of the number of dead nodes
Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes.
Reviewed-by: kvn, twisti, jrose, vlivanov
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3680 : 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
rev 3447 : 7119644: Increase superword's vector size up to 256 bits
Summary: Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
rev 3012 : 7116050: C2/ARM: memory stomping error with DivideMcTests
Summary: Block::schedule_local() may write beyond end of ready_cnt array
Reviewed-by: never, kvn
rev 2881 : 7077312: Provide a CALL effect for instruct declaration in the ad file
Summary: abstracted way to declare that the MachNode has the effect of a call (kills caller save registers, preserves callee save registers)
Reviewed-by: twisti, never
rev 2605 : 7069452: Cleanup NodeFlags
Summary: Remove flags which duplicate information in Node::NodeClasses.
Reviewed-by: never
rev 2558 : 7061187: need some includes for arm/ppc
Reviewed-by: dholmes, never, jwilhelm, kvn
rev 2349 : Merge
rev 2345 : 7032963: StoreCM shouldn't participate in store elimination
Reviewed-by: kvn
rev 2273 : 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
rev 2248 : 7029017: Additional architecture support for c2 compiler
Summary: Enables cross building of a c2 VM. Support masking of shift counts when the processor architecture mandates it.
Reviewed-by: kvn, never
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1668 : 6978355: renaming for 6961697
Summary: This is the renaming part of 6961697 to keep the actual changes small for review.
Reviewed-by: kvn, never
rev 1613 : 6973329: C2 with Zero based COOP produces code with broken anti-dependency on x86
Summary: Recompile without subsuming loads if RA try to clone a node with anti_dependence.
Reviewed-by: never
rev 1605 : 6973963: SEGV in ciBlock::start_bci() with EA
Summary: Added more checks into ResourceObj and growableArray to verify correctness of allocation type.
Reviewed-by: never, coleenp, dholmes
rev 1499 : Merge
rev 1495 : 6954029: Improve implicit null check generation with compressed oops
Summary: Hoist DecodeN instruction above null check
Reviewed-by: never, twisti
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1151 : 6912517: JIT bug compiles out (and stops running) code that needs to be run. Causes NPE.
Summary: Add missing check that value is used in memory expression in instructions with embedded load.
Reviewed-by: never, jrose
rev 1137 : 6829187: compiler optimizations required for JSR 292
Summary: C2 implementation for invokedynamic support.
Reviewed-by: kvn, never
rev 1100 : 6895383: JCK test throws NPE for method compiled with Escape Analysis
Summary: Add missing checks for MemBar nodes in EA.
Reviewed-by: never
rev 681 : 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
rev 647 : Merge
rev 642 : 6791178: Specialize for zero as the compressed oop vm heap base
Summary: Use zero based compressed oops if java heap is below 32gb and unscaled compressed oops if java heap is below 4gb.
Reviewed-by: never, twisti, jcoomes, coleenp
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 558 : 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
rev 365 : Merge
rev 356 : Merge
rev 344 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 332 : 6746907: Improve implicit null check generation
Summary: add missing implicit null check cases.
Reviewed-by: never
rev 253 : 6726999: nsk/stress/jck12a/jck12a010 assert(n != null,"Bad immediate dominator info.")
Summary: Escape Analysis fixes.
Reviewed-by: never, rasbold
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 169 : 6695049: (coll) Create an x86 intrinsic for Arrays.equals
Summary: Intrinsify java/util/Arrays.equals(char[], char[])
Reviewed-by: kvn, never
rev 164 : 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
rev 125 : 6601321: Assert(j == 1 || b->_nodes[j-1]->is_Phi(),"CreateEx must be first instruction in block")
Reviewed-by: kvn, rasbold, sgoldman, jrose
rev 113 : 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
rev 0 : Initial load
3 lines changed: 2 ins; 0 del; 1 mod; 1148 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/library_call.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8910 : 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
rev 8857 : 8019968: Reference CAS induces GC store barrier even on failure
Reviewed-by: kvn, adinn, roland
rev 8798 : 8132457: Unify command-line flags controlling the usage of compiler intrinsics
Summary: Cleanup processing of command-line flags controlling intrinsics.
Reviewed-by: kvn
rev 8745 : 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
rev 8733 : Merge
rev 8723 : 8078629: VM should constant fold Unsafe.get*() loads from final fields
Reviewed-by: kvn, jrose, psandoz
rev 8722 : 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
rev 8633 : 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
rev 8630 : Merge
rev 8629 : 8130150: Implement BigInteger.montgomeryMultiply intrinsic
Summary: Add montgomeryMultiply intrinsics
Reviewed-by: kvn
rev 8616 : 8073583: C2 support for CRC32C on SPARC
Reviewed-by: jrose, kvn
Contributed-by: james.cheng@oracle.com
rev 8602 : 8073108: Use x86 and SPARC CPU instructions for GHASH acceleration
Reviewed-by: kvn, jrose
rev 8514 : 8074551: GWT can be marked non-compilable due to deopt count pollution
Reviewed-by: kvn
rev 8504 : 8081778: Use Intel x64 CPU instructions for RSA acceleration
Summary: Add intrinsics for BigInteger squareToLen and mulAdd methods.
Reviewed-by: kvn, jrose
rev 8482 : 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
rev 8211 : 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
rev 8194 : 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
rev 8193 : 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
rev 8176 : Merge
rev 8175 : 8074548: Never-taken branches cause repeated deopts in MHs.GWT case
Reviewed-by: jrose, kvn
rev 8174 : 8075263: MHI::checkCustomized isn't eliminated for inlined MethodHandles
Reviewed-by: jrose, kvn
rev 8170 : 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
rev 7946 : 8073796: assert(check_obj_alignment(result)) failed: address not aligned: ...
Summary: Arrays.copyOf intrinsic can deoptimize with uninitialized new array
Reviewed-by: kvn
rev 7939 : Merge
rev 7935 : 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
rev 7859 : 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
rev 7847 : Merge
rev 7844 : 8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov
rev 7822 : 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
rev 7802 : 8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: jrose, kvn
rev 7747 : 8069580: String intrinsic related cleanups
Summary: Small cleanup of string intrinsic related code.
Reviewed-by: kvn, roland
rev 7646 : 6700100: optimize inline_native_clone() for small objects with exact klass
Summary: optimize small instance clones as loads/stores
Reviewed-by: kvn, iveresov
rev 7503 : 8064703: crash running specjvm98's javac following 8060252
Summary: uncommon trap between arraycopy and initialization may leave array initialized
Reviewed-by: kvn, vlivanov, goetz
rev 7378 : 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
rev 7315 : 8060252: JDK-7173584 compiler changes regress SPECjvm2008 on SPARC
Summary: arraycopy code misses opportunities to optimize copies to just allocated array.
Reviewed-by: kvn
rev 7310 : 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
rev 7038 : 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
rev 7005 : Merge
rev 6998 : 8055910: closed/java/util/Collections/CheckedCollections.java failed with ClassCastException not thrown
Summary: missing subtype check for Arrays.copyOf intrinsic
Reviewed-by: kvn, iveresov
rev 6997 : 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
rev 6975 : 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
rev 6917 : 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
rev 6908 : 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
rev 6903 : 7173584: Implement arraycopy as a macro node
Summary: delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by: kvn, iveresov
rev 6837 : 8054033: Remove unused references to Compile*
Summary: Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
rev 6760 : 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
rev 6576 : 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
rev 6571 : 8035605: Expand functionality of PredictedIntrinsicGenerator
Summary: Allow several predicates and separate intrinsic methods per one intrinsified (virtual) method.
Reviewed-by: roland
rev 6569 : 8026796: Make replace_in_map() on parent maps generic
Summary: propagate node replacements along control flow edges to callers
Reviewed-by: kvn, vlivanov
rev 6568 : 8033626: assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place
Reviewed-by: kvn, roland
rev 6546 : 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
rev 6539 : 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
rev 6444 : 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
rev 6395 : 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>
rev 6365 : 8029302: Performance regression in Math.pow intrinsic
Summary: Added special case for x^y where y == 2
Reviewed-by: kvn, roland
rev 6248 : 8007988: PrintInlining output is inconsistent with incremental inlining
Summary: fix duplicate and conflicting inlining output
Reviewed-by: kvn, vlivanov
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 6216 : 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
rev 6186 : 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
rev 6078 : 8036102: part of the fix for 6498581 lost in mismerge
Summary: Restore code lost in mis-merge
Reviewed-by: dcubed
rev 6076 : Merge
rev 6073 : 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
rev 6049 : 8027754: Enable loop optimizations for loops with MathExact inside
Reviewed-by: kvn, iveresov
rev 6017 : 8035394: PPC64: Make usage of intrinsic dsqrt depend on processor recognition.
Reviewed-by: kvn
rev 6010 : Merge
rev 6006 : 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes
Reviewed-by: dholmes, kvn
Contributed-by: martin.doerr@sap.com
rev 5993 : 8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence.
Summary: Use new nodes for loadFence/storeFence intrinsics in C2.
Reviewed-by: kvn, dholmes
rev 5983 : 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
rev 5816 : 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
rev 5613 : 8027353: Exact intrinsics: assert(n != NULL) failed: must not be null
Reviewed-by: kvn, roland
rev 5562 : 8026844: Various Math functions needs intrinsification
Reviewed-by: kvn, twisti
rev 5556 : 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
rev 5546 : 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
rev 5363 : 8014447: Object.hashCode intrinsic breaks inline caches
Summary: Try to inline as normal method first, then fall back to intrinsic.
Reviewed-by: kvn, twisti
rev 5356 : 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
rev 5328 : 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
rev 5302 : Merge
rev 5297 : 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
rev 5275 : Merge
rev 5259 : 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
rev 5223 : 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
rev 5202 : 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>
rev 5111 : 8022675: Redundant class init check
Reviewed-by: kvn, twisti
rev 4918 : 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
rev 4802 : 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>
rev 4676 : 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
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 4486 : Merge
rev 4485 : 8004336: Better handling of method handle intrinsic frames
Reviewed-by: kvn, jrose, ahgross
rev 4431 : 7198429: need checked categorization of caller-sensitive methods in the JDK
Reviewed-by: kvn, jrose
rev 4182 : 8007959: Use expensive node logic for more math nodes
Summary: use expensive node logic for other more math nodes.
Reviewed-by: kvn
rev 4154 : 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
Summary: Add support for expensive nodes.
Reviewed-by: kvn
rev 4044 : 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
rev 4010 : 8006127: remove printing code added with 8006031
Reviewed-by: kvn
rev 4005 : 8006031: LibraryCallKit::inline_array_copyOf disabled unintentionally with 7172640
Reviewed-by: kvn
rev 3932 : Merge
rev 3926 : 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>
rev 3924 : Merge
rev 3923 : 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
rev 3922 : 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
rev 3911 : 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
rev 3884 : 8004319: test/gc/7168848/HumongousAlloc.java fails after 7172640
Reviewed-by: kvn, johnc
rev 3878 : 7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop()
Reviewed-by: kvn, jrose
rev 3770 : 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
rev 3764 : 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
rev 3729 : Merge
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3723 : 8000263: JSR 292: signature types may appear to be unloaded
Reviewed-by: kvn, jrose
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3680 : 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
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3602 : 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>
rev 3567 : 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
rev 3534 : 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>
rev 3473 : 7177917: Failed test java/lang/Math/PowTests.java
Summary: When c2 intrinsifies pow/exp, it should never inline the java implementations.
Reviewed-by: kvn
rev 3448 : 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
rev 3411 : 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
Contributed-by: Krystal Mok <sajia@taobao.com>
rev 3352 : 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
rev 3325 : 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
rev 3274 : 7160570: Intrinsification support for tracing framework
Reviewed-by: sla, never
rev 3202 : 7152957: VM crashes with assert(false) failed: bad AD file
Reviewed-by: kvn, never
Contributed-by: nils.eliasson@oracle.com
rev 3196 : 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
rev 3094 : Merge
rev 3091 : 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>
rev 3086 : 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
rev 2972 : 7128352: assert(obj_node == obj) failed
Summary: Compare uncasted object nodes.
Reviewed-by: never
rev 2965 : Merge
rev 2957 : 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
rev 2956 : 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
rev 2933 : 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>
rev 2722 : 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
rev 2504 : 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
rev 2434 : 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
rev 2381 : Merge
rev 2375 : 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
rev 2355 : 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
rev 2352 : Merge
rev 2351 : 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
rev 2349 : Merge
rev 2346 : 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
rev 2293 : 7033154: Improve C1 arraycopy performance
Summary: better static analysis. Take advantage of array copy stubs.
Reviewed-by: never
rev 2291 : 7032314: Allow to generate CallLeafNoFPNode in IdealKit
Summary: Added CallLeafNoFPNode generation to IdealKit. Added i_o synchronization.
Reviewed-by: never
rev 2252 : 7022998: JSR 292 recursive method handle calls inline themselves infinitely
Reviewed-by: never, kvn
rev 2232 : Merge
rev 2230 : 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
rev 2226 : 6962931: move interned strings out of the perm gen
Reviewed-by: never, coleenp, ysr, jwilhelm
rev 2171 : 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
rev 2167 : 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
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1764 : 6980792: Crash "exception happened outside interpreter, nmethods and vtable stubs (1)"
Reviewed-by: kvn
rev 1668 : 6978355: renaming for 6961697
Summary: This is the renaming part of 6961697 to keep the actual changes small for review.
Reviewed-by: kvn, never
rev 1666 : 6912064: type profiles need to be exploited more for dynamic language support
Reviewed-by: kvn
rev 1529 : 6959430: Make sure raw loads have control edge
Summary: check that raw loads have control edge
Reviewed-by: never, twisti
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1433 : Merge
rev 1424 : 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
rev 1416 : 6951190: assert(!klass_is_exact(),"only non-exact klass") while building JDK
Reviewed-by: kvn
rev 1396 : 6946040: add intrinsic for short and char reverseBytes
Reviewed-by: never, twisti
Contributed-by: Hiroshi Yamauchi <yamauchi@google.com>
rev 1152 : 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
rev 1027 : 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
rev 986 : 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
rev 958 : 6880053: assert(alloc_obj->as_CheckCastPP()->type() != TypeInstPtr::NOTNULL)
Summary: Removed second CheckCastPP and use MembarCPUOrder after arraycopy to cloned object.
Reviewed-by: never
rev 950 : 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
rev 902 : 6868269: CompileTheWorld assertion failure introduced by the reexecute bit implementation
Summary: Improvement on reexecute implementation to fix the assertion failure
Reviewed-by: kvn, never
rev 900 : 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
rev 896 : Merge
rev 895 : 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
rev 856 : 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
rev 851 : 6851742: (EA) allocation elimination doesn't work with UseG1GC
Summary: Fix eliminate_card_mark() to eliminate G1 pre/post barriers.
Reviewed-by: never
rev 836 : 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
rev 833 : 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
rev 827 : 6856025: assert(_base >= OopPtr && _base <= KlassPtr,"Not a Java pointer")
Reviewed-by: kvn
rev 825 : 6818666: G1: Type lost in g1 pre-barrier
Reviewed-by: kvn
rev 787 : 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
rev 775 : 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
rev 730 : 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
rev 681 : 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
rev 643 : 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
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 420 : 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
rev 235 : Merge
rev 221 : 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
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 174 : 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
rev 169 : 6695049: (coll) Create an x86 intrinsic for Arrays.equals
Summary: Intrinsify java/util/Arrays.equals(char[], char[])
Reviewed-by: kvn, never
rev 164 : 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
rev 163 : 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
rev 113 : 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
rev 34 : 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
rev 29 : 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
rev 0 : Initial load
201 lines changed: 191 ins; 1 del; 9 mod; 6332 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/loopPredicate.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8482 : 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
rev 8294 : 8078426: mb/jvm/compiler/InterfaceCalls/testAC2 - assert(predicate_proj == 0L) failed: only one predicate entry expected
Summary: split if finds predicates on several incoming paths when unswitched's loops are optimized out
Reviewed-by: kvn
rev 6903 : 7173584: Implement arraycopy as a macro node
Summary: delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by: kvn, iveresov
rev 6820 : 8040213: C2 does not put all modified nodes on IGVN worklist
Summary: Verification code is added that checks if modified nodes are put on the IGVN worklist and modified nodes are processed by 'PhaseIterGVN::transform_old()'
Reviewed-by: kvn, jrose
rev 6546 : 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
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 5776 : 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
rev 5546 : 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
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 3718 : 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
rev 3680 : 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
rev 3412 : 7173340: C2: code cleanup: use PhaseIterGVN::replace_edge(Node*, int, Node*) where applicable
Summary: replace frequent C2 optimizer code patterns with new methods calls
Reviewed-by: kvn, twisti
Contributed-by: vladimir.x.ivanov@oracle.com
rev 2613 : 7077439: Possible reference through NULL in loopPredicate.cpp:726
Summary: Use cl->is_valid_counted_loop() check.
Reviewed-by: never
rev 2608 : 7068051: SIGSEGV in PhaseIdealLoop::build_loop_late_post
Summary: Removed predicate cloning from loop peeling optimization and from split fall-in paths.
Reviewed-by: never
rev 2603 : 7070134: Hotspot crashes with sigsegv from PorterStemmer
Summary: Do not move data nodes which are attached to a predicate test to a dominating test.
Reviewed-by: never
rev 2442 : 5091921: Sign flip issues in loop optimizer
Summary: Fix integer overflow problem in the code generated by loop optimizer.
Reviewed-by: never
rev 2433 : 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp
Reviewed-by: kvn, twisti
rev 2292 : 7004535: Clone loop predicate during loop unswitch
Summary: Clone loop predicate for clonned loops
Reviewed-by: never
1 line changed: 0 ins; 0 del; 1 mod; 889 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/loopTransform.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8829 : 8011858: Use Compile::live_nodes() instead of Compile::unique() in appropriate places
Reviewed-by: kvn, vlivanov
Contributed-by: vlad.ureche@gmail.com
rev 8688 : 8129920: Vectorized loop unrolling
Summary: optimize loop opts for vectorizible loops.
Reviewed-by: kvn, roland
rev 8636 : 8086069: Adapt runtime calls to recent intrinsics to pass ints as long
Summary: Remove CCallingConventionRequiresIntsAsLongs from shared code and push functionality to native wrapper. Less optimal but more flexible.
Reviewed-by: jrose, kvn
rev 8601 : 8080325: SuperWord loop unrolling analysis
Summary: Determine loop unroll factor based on supported vectors sizes.
Reviewed-by: roland, kvn
rev 8508 : 8085832: Optimize main and post loop out when pre loop is found empty
Summary: Eliminate main loop and post loop if pre loop becomes empty
Reviewed-by: kvn, mcberg
rev 8506 : 8078866: compiler/eliminateAutobox/6934604/TestIntBoxing.java assert(p_f->Opcode() == Op_IfFalse) failed
Summary: Bail out from range check elimination if pre loop is not found
Reviewed-by: kvn
rev 8495 : 8080976: Unexpected AIOOB thrown from 1.9.0-ea-b64 on (regression)
Summary: Loop variant use in reduction should prevent vectorization
Reviewed-by: kvn, mcberg
rev 8348 : 8076284: Improve vectorization of parallel streams
Summary: Improve vectorization of java/util/stream/Streams$RangeIntSpliterator::forEachRemaining() method and enable loop vectorization in a given method on demand.
Reviewed-by: kvn
Contributed-by: jan.civlin@intel.com
rev 8196 : 8074981: Integer/FP scalar reduction optimization
Summary: Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.
Reviewed-by: kvn, twisti
Contributed-by: michael.c.berg@intel.com
rev 7942 : 8073184: Compile of java.lang.Integer::getChars fails with LoopLimitCheck = false after 8054478
Summary: CastII that guards counted loops confuses range check elimination with LoopLimitCheck off
Reviewed-by: kvn, iveresov
rev 7729 : 8068864: C2 failed: modified node is not on IGVN._worklist
Summary: Use igvn.replace_input_of() instead of set_req().
Reviewed-by: iveresov, vlivanov
rev 7449 : 8054478: C2: Incorrectly compiled char[] array access crashes JVM
Summary: dead backbranch in main loop results in erroneous array access
Reviewed-by: kvn, iveresov
rev 7448 : 8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
Reviewed-by: kvn, roland
rev 6834 : 8053915: bigapps assert failure in C2: modified node is not on IGVN._worklist
Summary: Add modified node to the IGVN worklist in 'PhaseIdealLoop::do_range_check'.
Reviewed-by: kvn, roland
rev 6820 : 8040213: C2 does not put all modified nodes on IGVN worklist
Summary: Verification code is added that checks if modified nodes are put on the IGVN worklist and modified nodes are processed by 'PhaseIterGVN::transform_old()'
Reviewed-by: kvn, jrose
rev 6546 : 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
rev 6309 : 8039050: Crash in C2 compiler at Node::rematerialize
Summary: Added missing calls to record_for_igvn() in loop opts. Added verification of def-use domination.
Reviewed-by: iveresov
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 6182 : 8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
rev 6049 : 8027754: Enable loop optimizations for loops with MathExact inside
Reviewed-by: kvn, iveresov
rev 6010 : Merge
rev 5989 : Merge
rev 5976 : Merge
rev 5972 : 8024342: PPC64 (part 111): Support for C calling conventions that require 64-bit ints.
Summary: Some platforms, as ppc and s390x/zArch require that 32-bit ints are passed as 64-bit values to C functions. This change adds support to adapt the signature and to issue proper casts to c2-compiled stubs. The functions are used in generate_native_wrapper(). Adapt signature used by the compiler as in PhaseIdealLoop::intrinsify_fill().
Reviewed-by: kvn
rev 5776 : 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
rev 5635 : 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
rev 5614 : 8027444: mathExact: assert(i < _max) failed: oob: i=1, _max=1
Reviewed-by: duke
rev 5356 : 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
rev 5078 : 8022993: Convert MAX_UNROLL constant to LoopMaxUnroll C2 flag
Summary: Replace MAX_UNROLL constant with new C2 LoopMaxUnroll flag.
Reviewed-by: roland
rev 4344 : 8009181: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopTransform.cpp
Summary: add guarantee() to insert_pre_post_loops()
Reviewed-by: kvn
rev 4268 : Merge
rev 4266 : Merge
rev 4044 : 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
rev 3880 : 7092905: C2: Keep track of the number of dead nodes
Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes.
Reviewed-by: kvn, twisti, jrose, vlivanov
rev 3787 : Merge
rev 3785 : Merge
rev 3782 : 7198606: Improve VM optimization
Summary: Remove incorrect code in OptimizeFill optimization.
Reviewed-by: roland, twisti
rev 3729 : Merge
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3722 : 8000313: C2 should use jlong for 64bit values
Summary: Replace all occurrences of long with jlong in C2 code.
Reviewed-by: kvn, twisti
rev 3718 : 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
rev 3680 : 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
rev 3588 : 7160161: Missed safepoint in non-Counted loop
Summary: Do not remove safepoints during peeling optimization.
Reviewed-by: twisti
rev 3412 : 7173340: C2: code cleanup: use PhaseIterGVN::replace_edge(Node*, int, Node*) where applicable
Summary: replace frequent C2 optimizer code patterns with new methods calls
Reviewed-by: kvn, twisti
Contributed-by: vladimir.x.ivanov@oracle.com
rev 2694 : 7054211: No loop unrolling done in jdk7b144 for a test update() while loop
Summary: restore unrolling code for CaffeineMark.
Reviewed-by: never
rev 2613 : 7077439: Possible reference through NULL in loopPredicate.cpp:726
Summary: Use cl->is_valid_counted_loop() check.
Reviewed-by: never
rev 2608 : 7068051: SIGSEGV in PhaseIdealLoop::build_loop_late_post
Summary: Removed predicate cloning from loop peeling optimization and from split fall-in paths.
Reviewed-by: never
rev 2550 : 7044738: Loop unroll optimization causes incorrect result
Summary: take into account memory dependencies when clonning nodes in clone_up_backedge_goo().
Reviewed-by: never
rev 2544 : 7052494: Eclipse test fails on JDK 7 b142
Summary: Keep 'ne' test in Counted loop when we can't guarantee during compilation that init < limit.
Reviewed-by: never
rev 2494 : 7045693: java/util/EnumSet/EnumSetBash.java still failing intermittently
Summary: New limit for unrolled loop should be set only for zero trip guard and loop iteration test.
Reviewed-by: never
rev 2480 : 7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index out of range: 29488
Summary: Fix problems in new RCE code.
Reviewed-by: never
rev 2464 : 7043552: regression after 7042327
Summary: Generate Opaque2 node only during first unroll.
Reviewed-by: never
rev 2445 : 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit)
Summary: Separate limit by Opaque2 node when calculating new limit for unrolled loop.
Reviewed-by: never
rev 2442 : 5091921: Sign flip issues in loop optimizer
Summary: Fix integer overflow problem in the code generated by loop optimizer.
Reviewed-by: never
rev 2430 : 7039652: Performance regression after 7004547 changes
Summary: Use unrolled_count() to limit unrolling and use the stride check only for initial stride value.
Reviewed-by: never
rev 2315 : Merge
rev 2312 : 7004555: Add new policy for one iteration loops
Summary: Add new policy for one iteration loops (mostly formal pre- loops).
Reviewed-by: never
rev 2300 : 7004547: regular loop unroll should not unroll more than max unrolling
Summary: Take into account that after unroll conjoined heads and tails will fold.
Reviewed-by: never
rev 2295 : 7026957: assert(type2aelembytes(store->as_Mem()->memory_type(), true) == 1 << shift->in(2)->get_int()) failed
Reviewed-by: kvn, jrose
rev 2292 : 7004535: Clone loop predicate during loop unswitch
Summary: Clone loop predicate for clonned loops
Reviewed-by: never
rev 2273 : 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
rev 2264 : 7032696: Fix for 7029152 broke VM
Summary: StrIntrinsicNode::Ideal() should not optimize memory during Parse.
Reviewed-by: jrose, never
rev 2259 : 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
rev 2250 : 7024475: loop doesn't terminate when compiled
Reviewed-by: kvn
rev 2230 : 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
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1764 : 6980792: Crash "exception happened outside interpreter, nmethods and vtable stubs (1)"
Reviewed-by: kvn
rev 1733 : 6984979: OptimizeFill misses some cases with an odd memory graph
Reviewed-by: kvn
rev 1705 : 6982533: Crash in  ~StubRoutines::jbyte_fill with AggressiveOpts enabled
Reviewed-by: kvn
rev 1683 : 4809552: Optimize Arrays.fill(...)
Reviewed-by: kvn
rev 1541 : 6677629: PhaseIterGVN::subsume_node() should call hash_delete() and add_users_to_worklist()
Summary: Use replace_node() method instead of subsume_node().
Reviewed-by: jrose, never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1303 : 6930043: C2: SIGSEGV in javasoft.sqe.tests.lang.arr017.arr01702.arr01702.loop_forw(II)I
Reviewed-by: kvn
rev 1280 : 6930116: loop predication code does not handle If nodes with only one projection
Summary: Add check for iff->outcnt() < 2.
Reviewed-by: never
rev 1275 : 6927049: assert(is_Loop(),"invalid node class")
Reviewed-by: kvn
rev 1172 : 6894779: Loop Predication for Loop Optimizer in C2
Summary: Loop predication implementation
Reviewed-by: never, kvn
rev 844 : 6862919: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 07/09
Reviewed-by: tbell, ohair
rev 789 : 6837146: Should perform unswitch before maximally unroll in loop transformation
Summary: Move loop unswitch before maximally unroll
Reviewed-by: never
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 420 : 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
rev 401 : 6743188: incomplete fix for 6700047 C2 failed in idom_no_update
Reviewed-by: rasbold, kvn
rev 400 : 6667595: Set probability FAIR for pre-, post- loops and ALWAYS for main loop
Summary: Fix loop's probability. Add optimizations to avoid spilling. Change InlineSmallCode to product flag.
Reviewed-by: never
rev 367 : 6384206: Phis which are later unneeded are impairing our ability to inline based on static types
Reviewed-by: rasbold, jrose
rev 235 : Merge
rev 216 : 6715633: when matching a memory node the adr_type should not change
Summary: verify the adr_type of a mach node was not changed
Reviewed-by: rasbold, never
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 113 : 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
rev 39 : 6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation
Summary: Cloning an allocation will not allow scalar replacement since memory operations could not be associated with one allocation.
Reviewed-by: rasbold
rev 0 : Initial load
1 line changed: 1 ins; 0 del; 0 mod; 3037 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/loopUnswitch.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8688 : 8129920: Vectorized loop unrolling
Summary: optimize loop opts for vectorizible loops.
Reviewed-by: kvn, roland
rev 7448 : 8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
Reviewed-by: kvn, roland
rev 6546 : 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
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 3880 : 7092905: C2: Keep track of the number of dead nodes
Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes.
Reviewed-by: kvn, twisti, jrose, vlivanov
rev 3718 : 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
rev 3680 : 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
rev 3412 : 7173340: C2: code cleanup: use PhaseIterGVN::replace_edge(Node*, int, Node*) where applicable
Summary: replace frequent C2 optimizer code patterns with new methods calls
Reviewed-by: kvn, twisti
Contributed-by: vladimir.x.ivanov@oracle.com
rev 2608 : 7068051: SIGSEGV in PhaseIdealLoop::build_loop_late_post
Summary: Removed predicate cloning from loop peeling optimization and from split fall-in paths.
Reviewed-by: never
rev 2442 : 5091921: Sign flip issues in loop optimizer
Summary: Fix integer overflow problem in the code generated by loop optimizer.
Reviewed-by: never
rev 2315 : Merge
rev 2292 : 7004535: Clone loop predicate during loop unswitch
Summary: Clone loop predicate for clonned loops
Reviewed-by: never
rev 2273 : 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
rev 2230 : 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
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 235 : Merge
rev 216 : 6715633: when matching a memory node the adr_type should not change
Summary: verify the adr_type of a mach node was not changed
Reviewed-by: rasbold, never
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 108 : 6684385: Loop unswitching crashes without LoopNode
Summary: Without LoopNode, exit early from loop unswitching and partial peeling
Reviewed-by: kvn, never, sgoldman
rev 0 : Initial load
1 line changed: 1 ins; 0 del; 0 mod; 265 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/loopnode.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8860 : 8080289: Intermediate writes in a loop not eliminated by optimizer
Summary: Move Stores out of loop (after or before) when possible
Reviewed-by: kvn, vlivanov
rev 8829 : 8011858: Use Compile::live_nodes() instead of Compile::unique() in appropriate places
Reviewed-by: kvn, vlivanov
Contributed-by: vlad.ureche@gmail.com
rev 8724 : 8085932: Fixing bugs in detecting memory alignments in SuperWord
Reviewed-by: kvn
Contributed-by: jan.civlin@intel.com
rev 8688 : 8129920: Vectorized loop unrolling
Summary: optimize loop opts for vectorizible loops.
Reviewed-by: kvn, roland
rev 8601 : 8080325: SuperWord loop unrolling analysis
Summary: Determine loop unroll factor based on supported vectors sizes.
Reviewed-by: roland, kvn
rev 8348 : 8076284: Improve vectorization of parallel streams
Summary: Improve vectorization of java/util/stream/Streams$RangeIntSpliterator::forEachRemaining() method and enable loop vectorization in a given method on demand.
Reviewed-by: kvn
Contributed-by: jan.civlin@intel.com
rev 7870 : 8072753: Nondeterministic wrong answer on arithmetic
Summary: Check for overflow when inverting the loop during the counted loop conversion
Reviewed-by: kvn
rev 7590 : 8067338: compiler/debug/TraceIterativeGVN.java segfaults
Reviewed-by: kvn
rev 6820 : 8040213: C2 does not put all modified nodes on IGVN worklist
Summary: Verification code is added that checks if modified nodes are put on the IGVN worklist and modified nodes are processed by 'PhaseIterGVN::transform_old()'
Reviewed-by: kvn, jrose
rev 6546 : 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
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6393 : 8039298: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)->higher_equal(TypePtr::NULL_PTR))
Summary: Convert the assert into the runtime check to skip IGVN optimizations for problematic memory nodes. Eliminate dead nodes more aggressively.
Reviewed-by: twisti, iveresov
rev 6309 : 8039050: Crash in C2 compiler at Node::rematerialize
Summary: Added missing calls to record_for_igvn() in loop opts. Added verification of def-use domination.
Reviewed-by: iveresov
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 5546 : 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
rev 4802 : 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>
rev 4433 : 8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address
Summary: always transform AddP nodes in IdealKit by calling _gvn.transform().
Reviewed-by: roland, twisti
rev 4154 : 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
Summary: Add support for expensive nodes.
Reviewed-by: kvn
rev 3722 : 8000313: C2 should use jlong for 64bit values
Summary: Replace all occurrences of long with jlong in C2 code.
Reviewed-by: kvn, twisti
rev 3680 : 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
rev 3588 : 7160161: Missed safepoint in non-Counted loop
Summary: Do not remove safepoints during peeling optimization.
Reviewed-by: twisti
rev 3566 : 6340864: Implement vectorization optimizations in hotspot-server
Summary: Added asm encoding and mach nodes for vector arithmetic instructions on x86.
Reviewed-by: roland
rev 3447 : 7119644: Increase superword's vector size up to 256 bits
Summary: Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
rev 3412 : 7173340: C2: code cleanup: use PhaseIterGVN::replace_edge(Node*, int, Node*) where applicable
Summary: replace frequent C2 optimizer code patterns with new methods calls
Reviewed-by: kvn, twisti
Contributed-by: vladimir.x.ivanov@oracle.com
rev 3054 : 7140882: Don't return booleans from methods returning pointers
Summary: Changed "return false" to "return NULL"
Reviewed-by: dholmes, rottenha
Contributed-by: dbhole@redhat.com
rev 2973 : 7064302: JDK7 build 147 crashed after testing my java 6-compiled web app
Summary: Don't split CMove node if it's control edge is different from split region.
Reviewed-by: never
rev 2876 : 6890673: Eliminate allocations immediately after EA
Summary: Try to eliminate allocations and related locks immediately after escape analysis.
Reviewed-by: never
rev 2873 : 7110586: C2 generates incorrect results
Summary: Exact limit of empty loop calculated incorrectly.
Reviewed-by: iveresov, never
rev 2825 : 7107042: assert(no_dead_loop) failed: dead loop detected
Summary: Use dead nodes elimination code in PhaseIdealLoop before executing EA.
Reviewed-by: never, twisti
rev 2700 : 7035946: Up to 15% regression on JDK 7 b136 vs b135 on specjvm2008.crypto.rsa on x64
Summary: Revert changes which caused regression.
Reviewed-by: never
rev 2613 : 7077439: Possible reference through NULL in loopPredicate.cpp:726
Summary: Use cl->is_valid_counted_loop() check.
Reviewed-by: never
rev 2608 : 7068051: SIGSEGV in PhaseIdealLoop::build_loop_late_post
Summary: Removed predicate cloning from loop peeling optimization and from split fall-in paths.
Reviewed-by: never
rev 2544 : 7052494: Eclipse test fails on JDK 7 b142
Summary: Keep 'ne' test in Counted loop when we can't guarantee during compilation that init < limit.
Reviewed-by: never
rev 2442 : 5091921: Sign flip issues in loop optimizer
Summary: Fix integer overflow problem in the code generated by loop optimizer.
Reviewed-by: never
rev 2312 : 7004555: Add new policy for one iteration loops
Summary: Add new policy for one iteration loops (mostly formal pre- loops).
Reviewed-by: never
rev 2292 : 7004535: Clone loop predicate during loop unswitch
Summary: Clone loop predicate for clonned loops
Reviewed-by: never
rev 2250 : 7024475: loop doesn't terminate when compiled
Reviewed-by: kvn
rev 2230 : 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
rev 2120 : 7017240: C2: native memory leak in nsk/regression/b4675027 on windows-x86 in comp mode with G1
Summary: Add ResourceMark into PhaseIdealLoop::build_and_optimize().
Reviewed-by: never
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1683 : 4809552: Optimize Arrays.fill(...)
Reviewed-by: kvn
rev 1541 : 6677629: PhaseIterGVN::subsume_node() should call hash_delete() and add_users_to_worklist()
Summary: Use replace_node() method instead of subsume_node().
Reviewed-by: jrose, never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1172 : 6894779: Loop Predication for Loop Optimizer in C2
Summary: Loop predication implementation
Reviewed-by: never, kvn
rev 1083 : 6901572: JVM 1.6.16 crash on loops: assert(has_node(i),"")
Summary: Skip the secondary induction variable handling if it is dead
Reviewed-by: never, kvn
rev 921 : 6862956: PhaseIdealLoop should have a CFG verification mode
Reviewed-by: kvn, twisti
rev 681 : 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
rev 628 : Merge
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 558 : 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
rev 367 : 6384206: Phis which are later unneeded are impairing our ability to inline based on static types
Reviewed-by: rasbold, jrose
rev 293 : 6731641: assert(m->adr_type() == mach->adr_type(),"matcher should not change adr type")
Summary: fixed few addP node type and narrow oop type problems.
Reviewed-by: rasbold, never
rev 235 : Merge
rev 222 : 6718676: putback for 6604014 is incomplete
Reviewed-by: kvn, jrose
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 169 : 6695049: (coll) Create an x86 intrinsic for Arrays.equals
Summary: Intrinsify java/util/Arrays.equals(char[], char[])
Reviewed-by: kvn, never
rev 39 : 6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation
Summary: Cloning an allocation will not allow scalar replacement since memory operations could not be associated with one allocation.
Reviewed-by: rasbold
rev 17 : 6395208: Elide autoboxing for calls to HashMap.get(int) and HashMap.get(long)
Reviewed-by: kvn, rasbold
rev 0 : Initial load
4 lines changed: 2 ins; 0 del; 2 mod; 3786 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/loopnode.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8860 : 8080289: Intermediate writes in a loop not eliminated by optimizer
Summary: Move Stores out of loop (after or before) when possible
Reviewed-by: kvn, vlivanov
rev 8688 : 8129920: Vectorized loop unrolling
Summary: optimize loop opts for vectorizible loops.
Reviewed-by: kvn, roland
rev 8601 : 8080325: SuperWord loop unrolling analysis
Summary: Determine loop unroll factor based on supported vectors sizes.
Reviewed-by: roland, kvn
rev 8508 : 8085832: Optimize main and post loop out when pre loop is found empty
Summary: Eliminate main loop and post loop if pre loop becomes empty
Reviewed-by: kvn, mcberg
rev 8196 : 8074981: Integer/FP scalar reduction optimization
Summary: Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.
Reviewed-by: kvn, twisti
Contributed-by: michael.c.berg@intel.com
rev 7449 : 8054478: C2: Incorrectly compiled char[] array access crashes JVM
Summary: dead backbranch in main loop results in erroneous array access
Reviewed-by: kvn, iveresov
rev 6413 : 8041415: remove port.{cpp,hpp} files
Summary: Hotspot should use standard headers and types
Reviewed-by: coleenp, kvn
rev 5776 : 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
rev 5546 : 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
rev 4719 : 8014811: loopTransform.cpp assert(cmp_end->in(2) == limit) failed
Summary: Stop current iteration of loop opts if partial_peel() failed and it created node clones outside processed loop.
Reviewed-by: roland
rev 4339 : 8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp
Summary: add guarantee() checks
Reviewed-by: kvn
rev 4154 : 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
Summary: Add support for expensive nodes.
Reviewed-by: kvn
rev 3718 : 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
rev 3588 : 7160161: Missed safepoint in non-Counted loop
Summary: Do not remove safepoints during peeling optimization.
Reviewed-by: twisti
rev 2973 : 7064302: JDK7 build 147 crashed after testing my java 6-compiled web app
Summary: Don't split CMove node if it's control edge is different from split region.
Reviewed-by: never
rev 2825 : 7107042: assert(no_dead_loop) failed: dead loop detected
Summary: Use dead nodes elimination code in PhaseIdealLoop before executing EA.
Reviewed-by: never, twisti
rev 2608 : 7068051: SIGSEGV in PhaseIdealLoop::build_loop_late_post
Summary: Removed predicate cloning from loop peeling optimization and from split fall-in paths.
Reviewed-by: never
rev 2603 : 7070134: Hotspot crashes with sigsegv from PorterStemmer
Summary: Do not move data nodes which are attached to a predicate test to a dominating test.
Reviewed-by: never
rev 2550 : 7044738: Loop unroll optimization causes incorrect result
Summary: take into account memory dependencies when clonning nodes in clone_up_backedge_goo().
Reviewed-by: never
rev 2480 : 7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index out of range: 29488
Summary: Fix problems in new RCE code.
Reviewed-by: never
rev 2442 : 5091921: Sign flip issues in loop optimizer
Summary: Fix integer overflow problem in the code generated by loop optimizer.
Reviewed-by: never
rev 2312 : 7004555: Add new policy for one iteration loops
Summary: Add new policy for one iteration loops (mostly formal pre- loops).
Reviewed-by: never
rev 2292 : 7004535: Clone loop predicate during loop unswitch
Summary: Clone loop predicate for clonned loops
Reviewed-by: never
rev 2230 : 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
rev 2120 : 7017240: C2: native memory leak in nsk/regression/b4675027 on windows-x86 in comp mode with G1
Summary: Add ResourceMark into PhaseIdealLoop::build_and_optimize().
Reviewed-by: never
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1683 : 4809552: Optimize Arrays.fill(...)
Reviewed-by: kvn
rev 1541 : 6677629: PhaseIterGVN::subsume_node() should call hash_delete() and add_users_to_worklist()
Summary: Use replace_node() method instead of subsume_node().
Reviewed-by: jrose, never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1303 : 6930043: C2: SIGSEGV in javasoft.sqe.tests.lang.arr017.arr01702.arr01702.loop_forw(II)I
Reviewed-by: kvn
rev 1172 : 6894779: Loop Predication for Loop Optimizer in C2
Summary: Loop predication implementation
Reviewed-by: never, kvn
rev 921 : 6862956: PhaseIdealLoop should have a CFG verification mode
Reviewed-by: kvn, twisti
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 401 : 6743188: incomplete fix for 6700047 C2 failed in idom_no_update
Reviewed-by: rasbold, kvn
rev 367 : 6384206: Phis which are later unneeded are impairing our ability to inline based on static types
Reviewed-by: rasbold, jrose
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 39 : 6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation
Summary: Cloning an allocation will not allow scalar replacement since memory operations could not be associated with one allocation.
Reviewed-by: rasbold
rev 17 : 6395208: Elide autoboxing for calls to HashMap.get(int) and HashMap.get(long)
Reviewed-by: kvn, rasbold
rev 0 : Initial load
2 lines changed: 2 ins; 0 del; 0 mod; 1154 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/loopopts.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8895 : 8134288: compiler/runtime/6859338/Test6859338.java crashes in PhaseIdealLoop::try_move_store_after_loop
Summary: Store nodes may not have a control if used to update profiling
Reviewed-by: kvn
rev 8860 : 8080289: Intermediate writes in a loop not eliminated by optimizer
Summary: Move Stores out of loop (after or before) when possible
Reviewed-by: kvn, vlivanov
rev 8483 : 8079135: C2 disables some optimizations when a large number of unique nodes exist
Reviewed-by: kvn
rev 8348 : 8076284: Improve vectorization of parallel streams
Summary: Improve vectorization of java/util/stream/Streams$RangeIntSpliterator::forEachRemaining() method and enable loop vectorization in a given method on demand.
Reviewed-by: kvn
Contributed-by: jan.civlin@intel.com
rev 8168 : 8073480: C2 should optimize explicit range checks
Summary: explicit range checks should be recognized by C2
Reviewed-by: kvn, vlivanov
rev 7534 : 8048170: Test closed/java/text/Normalizer/ConformanceTest.java failed
Summary: PhaseIdealLoop::split_if_with_blocks_post() shoulnd't reorder range checks adjusted by range check smearing
Reviewed-by: kvn, jrose
rev 7448 : 8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
Reviewed-by: kvn, roland
rev 6837 : 8054033: Remove unused references to Compile*
Summary: Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
rev 6820 : 8040213: C2 does not put all modified nodes on IGVN worklist
Summary: Verification code is added that checks if modified nodes are put on the IGVN worklist and modified nodes are processed by 'PhaseIterGVN::transform_old()'
Reviewed-by: kvn, jrose
rev 6577 : 8046516: Segmentation fault in JVM (easily reproducible)
Summary: Place new nodes on the previous loop exit in reorg_offsets().
Reviewed-by: roland
rev 6562 : 8046275: Fastdebug build failing on jdk9/hs/ control jobs after pulling some hs-comp changes
Summary: Add missing check for Opaque nodes from loop predicates in clone_loop().
Reviewed-by: iveresov
rev 6546 : 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
rev 6309 : 8039050: Crash in C2 compiler at Node::rematerialize
Summary: Added missing calls to record_for_igvn() in loop opts. Added verification of def-use domination.
Reviewed-by: iveresov
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 6049 : 8027754: Enable loop optimizations for loops with MathExact inside
Reviewed-by: kvn, iveresov
rev 5937 : 8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
Summary: type methods shouldn't always operate on speculative part
Reviewed-by: kvn, twisti
rev 5776 : 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
rev 5666 : 8028198: SIGSEGV in PhaseIdealLoop::build_loop_late_post
Reviewed-by: iveresov, kvn
rev 5546 : 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
rev 5356 : 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
rev 4719 : 8014811: loopTransform.cpp assert(cmp_end->in(2) == limit) failed
Summary: Stop current iteration of loop opts if partial_peel() failed and it created node clones outside processed loop.
Reviewed-by: roland
rev 4339 : 8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp
Summary: add guarantee() checks
Reviewed-by: kvn
rev 3880 : 7092905: C2: Keep track of the number of dead nodes
Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes.
Reviewed-by: kvn, twisti, jrose, vlivanov
rev 3729 : Merge
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3718 : 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
rev 3680 : 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
rev 3412 : 7173340: C2: code cleanup: use PhaseIterGVN::replace_edge(Node*, int, Node*) where applicable
Summary: replace frequent C2 optimizer code patterns with new methods calls
Reviewed-by: kvn, twisti
Contributed-by: vladimir.x.ivanov@oracle.com
rev 2973 : 7064302: JDK7 build 147 crashed after testing my java 6-compiled web app
Summary: Don't split CMove node if it's control edge is different from split region.
Reviewed-by: never
rev 2825 : 7107042: assert(no_dead_loop) failed: dead loop detected
Summary: Use dead nodes elimination code in PhaseIdealLoop before executing EA.
Reviewed-by: never, twisti
rev 2808 : 7097546: Optimize use of CMOVE instructions
Summary: Avoid CMove in a loop if possible. May generate CMove if it could be moved outside a loop.
Reviewed-by: never
rev 2603 : 7070134: Hotspot crashes with sigsegv from PorterStemmer
Summary: Do not move data nodes which are attached to a predicate test to a dominating test.
Reviewed-by: never
rev 2378 : 7039586: test/java/util/Collections/Rotate.java failing with hs21-b09
Summary: A predicate should not be moved in partial peel optimization since it will invalidate jvm state of its uncommon trap.
Reviewed-by: never
rev 2315 : Merge
rev 2292 : 7004535: Clone loop predicate during loop unswitch
Summary: Clone loop predicate for clonned loops
Reviewed-by: never
rev 2273 : 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
rev 2230 : 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
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1541 : 6677629: PhaseIterGVN::subsume_node() should call hash_delete() and add_users_to_worklist()
Summary: Use replace_node() method instead of subsume_node().
Reviewed-by: jrose, never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1254 : 6924097: assert((_type == Type::MEMORY) == (_adr_type != 0),"adr_type for memory phis only")
Summary: Use PhiNode::make_blank(r, n) method to construct the phi.
Reviewed-by: never
rev 866 : Merge
rev 850 : 6860469: remix_address_expressions sets incorrect control causing crash in split_if_with_block_post
Reviewed-by: never, kvn
Contributed-by: yamauchi@google.com, rasbold@google.com
rev 844 : 6862919: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 07/09
Reviewed-by: tbell, ohair
rev 834 : 6855164: SIGSEGV during compilation of method involving loop over CharSequence.
Summary: Don not split a block if it contains a FastLockNode with a PhiNode input.
Reviewed-by: kvn, never
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 401 : 6743188: incomplete fix for 6700047 C2 failed in idom_no_update
Reviewed-by: rasbold, kvn
rev 367 : 6384206: Phis which are later unneeded are impairing our ability to inline based on static types
Reviewed-by: rasbold, jrose
rev 318 : 6738933: assert with base pointers must match with compressed oops enabled
Reviewed-by: kvn, rasbold
rev 293 : 6731641: assert(m->adr_type() == mach->adr_type(),"matcher should not change adr type")
Summary: fixed few addP node type and narrow oop type problems.
Reviewed-by: rasbold, never
rev 253 : 6726999: nsk/stress/jck12a/jck12a010 assert(n != null,"Bad immediate dominator info.")
Summary: Escape Analysis fixes.
Reviewed-by: never, rasbold
rev 251 : 6700047: C2 failed in idom_no_update
Summary: partial peeling shouldn't place clones into loop
Reviewed-by: kvn
rev 235 : Merge
rev 223 : 6716441: error in meet with +DoEscapeAnalysis
Summary: Set instance_id to InstanceBot for InstPtr->meet(AryPtr) when types are not related.
Reviewed-by: jrose, never
rev 216 : 6715633: when matching a memory node the adr_type should not change
Summary: verify the adr_type of a mach node was not changed
Reviewed-by: rasbold, never
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 164 : 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
rev 108 : 6684385: Loop unswitching crashes without LoopNode
Summary: Without LoopNode, exit early from loop unswitching and partial peeling
Reviewed-by: kvn, never, sgoldman
rev 69 : 6659207: access violation in CompilerThread0
Summary: split_thru_phi produces top on a non-dead path
Reviewed-by: kvn, rasbold, sgoldman
rev 64 : 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
rev 35 : 6667588: Don't generate duplicated CMP for float/double values
Summary: float CMove generation add duplicated CMPF if there are more then one Move depending on the condition.
Reviewed-by: jrose, never, rasbold
rev 0 : Initial load
83 lines changed: 68 ins; 4 del; 11 mod; 3017 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/macro.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8890 : 8134321: tools/pack200/Pack200Test.java crashes in the VM PIT jdk9 b79
Summary: Code that capture field values of eliminated allocation at a safepoint when there's an arraycopy behind a Phi is broken
Reviewed-by: kvn
rev 8858 : 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
rev 8384 : 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
rev 8233 : Merge
rev 8229 : 8073165: Contended Locking fast exit bucket
Summary: JEP-143/JDK-8073165 Contended Locking fast exit bucket
Reviewed-by: dholmes, acorn, dice, dcubed
Contributed-by: dave.dice@oracle.com, karen.kinnear@oracle.com, daniel.daugherty@oracle.com
rev 8168 : 8073480: C2 should optimize explicit range checks
Summary: explicit range checks should be recognized by C2
Reviewed-by: kvn, vlivanov
rev 7869 : 8069412: Locks need better debug-printing support
Summary: Added better debug-printing support and enhanced LogCompilation tool
Reviewed-by: kvn, roland, dholmes
rev 7733 : 8066312: Add new Node* Node::find_out(int opc) method.
Summary: Added methods find_user_with() and has_user_with() for searching for a particular out type.
Reviewed-by: kvn, jrose
rev 7537 : 6898462: The escape analysis with G1 cause crash assertion src/share/vm/runtime/vframeArray.cpp:94
Summary: OOM during reallocation of scalar replaced objects in deoptimization causes crashes
Reviewed-by: kvn, jrose
rev 7386 : Merge
rev 7378 : 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
rev 7366 : 8061308: Remove iCMS
Reviewed-by: mgerdin, jmasa
rev 6917 : 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
rev 6903 : 7173584: Implement arraycopy as a macro node
Summary: delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by: kvn, iveresov
rev 6842 : 8046698: assert(false) failed: only Initialize or AddP expected macro.cpp:943
Summary: PhiNode inserted between AllocateNode and Initialization node confuses allocation elimination
Reviewed-by: kvn
rev 6833 : 8054081: Crashes with assert "modified node is not on IGVN._worklist"
Summary: Modified safepoint nodes are not added to the IGVN worklist by 'PhaseMacroExpand::scalar_replacement()'
Reviewed-by: kvn, roland
rev 6820 : 8040213: C2 does not put all modified nodes on IGVN worklist
Summary: Verification code is added that checks if modified nodes are put on the IGVN worklist and modified nodes are processed by 'PhaseIterGVN::transform_old()'
Reviewed-by: kvn, jrose
rev 6546 : 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
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 6182 : 8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
rev 6010 : Merge
rev 5983 : 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
rev 5776 : 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
rev 5259 : 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
rev 5191 : 8012972: Incremental Inlining should support scalar replaced object in debug info
Summary: store in _first_index not absolute index but an index relative to the last (youngest) jvms->_scloff value
Reviewed-by: roland, twisti
rev 4676 : 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
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 4259 : 8009460: C2compiler crash in machnode::in_regmask(unsigned int)
Summary: 7121140 may not correctly break the Allocate -> MemBarStoreStore link
Reviewed-by: kvn
rev 4044 : 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
rev 3880 : 7092905: C2: Keep track of the number of dead nodes
Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes.
Reviewed-by: kvn, twisti, jrose, vlivanov
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3680 : 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
rev 3602 : 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>
rev 3465 : 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking
Summary: Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd
Reviewed-by: acorn, coleenp, fparain
rev 3412 : 7173340: C2: code cleanup: use PhaseIterGVN::replace_edge(Node*, int, Node*) where applicable
Summary: replace frequent C2 optimizer code patterns with new methods calls
Reviewed-by: kvn, twisti
Contributed-by: vladimir.x.ivanov@oracle.com
rev 3086 : 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
rev 2986 : 7129618: assert(obj_node->eqv_uncast(obj),"");
Summary: Relax verification and locks elimination checks for new implementation (EliminateNestedLocks).
Reviewed-by: iveresov
rev 2984 : 7128355: assert(!nocreate) failed: Cannot build a phi for a block already parsed
Summary: Do not common BoxLock nodes and avoid creating phis of boxes.
Reviewed-by: never
rev 2972 : 7128352: assert(obj_node == obj) failed
Summary: Compare uncasted object nodes.
Reviewed-by: never
rev 2971 : 7125896: Eliminate nested locks
Summary: Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.
Reviewed-by: never, twisti
rev 2963 : 7125879: assert(proj != NULL) failed: must be found
Summary: Leave i_o attached to slow allocation call when there are no i_o users after the call.
Reviewed-by: iveresov, twisti
rev 2961 : 7123954: Some CTW test crash with SIGSEGV
Summary: Correct Allocate expansion code to preserve i_o when only slow call is generated.
Reviewed-by: iveresov
rev 2957 : 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
rev 2956 : 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
rev 2876 : 6890673: Eliminate allocations immediately after EA
Summary: Try to eliminate allocations and related locks immediately after escape analysis.
Reviewed-by: never
rev 2722 : 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
rev 2617 : 7079329: Adjust allocation prefetching for T4
Summary: on T4 2 BIS instructions should be issued to prefetch 64 bytes
Reviewed-by: iveresov, phh, twisti
rev 2612 : 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
rev 2550 : 7044738: Loop unroll optimization causes incorrect result
Summary: take into account memory dependencies when clonning nodes in clone_up_backedge_goo().
Reviewed-by: never
rev 2516 : 7050280: assert(u->as_Unlock()->is_eliminated()) failed: sanity
Summary: Mark all associated (same box and obj) lock and unlock nodes for elimination if some of them marked already.
Reviewed-by: iveresov, never
rev 2442 : 5091921: Sign flip issues in loop optimizer
Summary: Fix integer overflow problem in the code generated by loop optimizer.
Reviewed-by: never
rev 2379 : 7029167: add support for conditional card marks
Reviewed-by: iveresov, kvn
rev 1988 : 7003271: Hotspot should track cumulative Java heap bytes allocated on a per-thread basis
Summary: Track allocated bytes in Thread's, update on TLAB retirement and direct allocation in Eden and tenured, add JNI methods for ThreadMXBean.
Reviewed-by: coleenp, kvn, dholmes, ysr
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1602 : 6969569: assert(is_static() && is_constant()) failed: illegal call to constant_value()
Summary: Add missing is_static guard.
Reviewed-by: twisti
rev 1541 : 6677629: PhaseIterGVN::subsume_node() should call hash_delete() and add_users_to_worklist()
Summary: Use replace_node() method instead of subsume_node().
Reviewed-by: jrose, never
rev 1529 : 6959430: Make sure raw loads have control edge
Summary: check that raw loads have control edge
Reviewed-by: never, twisti
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1367 : 6940726: Use BIS instruction for allocation prefetch on Sparc
Summary: Use BIS instruction for allocation prefetch on Sparc
Reviewed-by: twisti
rev 1100 : 6895383: JCK test throws NPE for method compiled with Escape Analysis
Summary: Add missing checks for MemBar nodes in EA.
Reviewed-by: never
rev 1080 : 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
rev 851 : 6851742: (EA) allocation elimination doesn't work with UseG1GC
Summary: Fix eliminate_card_mark() to eliminate G1 pre/post barriers.
Reviewed-by: never
rev 780 : 6788527: Server vm intermittently fails with assertion "live value must not be garbage" with fastdebug bits
Summary: Cache Jvmti and DTrace flags used by Compiler.
Reviewed-by: never
rev 708 : 6711117: Assertion in 64bit server vm (flat != TypePtr::BOTTOM,"cannot alias-analyze an untyped ptr")
Summary: Delay a memory node transformation if its control or address on IGVN worklist.
Reviewed-by: never
rev 628 : Merge
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 601 : 6809798: SafePointScalarObject node placed into incorrect block during GCM
Summary: Replace the control edge of a pinned node before scheduling.
Reviewed-by: never
rev 584 : 6802499: EA: assert(false,"unknown node on this path")
Summary: Add missing checks for SCMemProj node in Escape analysis code.
Reviewed-by: never
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 565 : 6799693: Server compiler leads to data corruption when expression throws an Exception
Summary: Use merged memory state for an allocation's slow path.
Reviewed-by: never
rev 490 : 6782820: Server VM fails with "unhandled implicit exception in compiled code"
Summary: Restore the code which sets a control edge for a klass load node.
Reviewed-by: never
rev 460 : 6775880: EA +DeoptimizeALot: assert(mon_info->owner()->is_locked(),"object must be locked now")
Summary: Create new "eliminated" BoxLock node for monitor debug info when corresponding locks are eliminated.
Reviewed-by: never
rev 436 : 6773078: UseCompressedOops: assert(kid == 0L || s->_leaf->in(0) == 0L,"internal operands have no control")
Summary: Don't set the control edge of a klass load node.
Reviewed-by: never
rev 420 : 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
rev 362 : Merge
rev 356 : Merge
rev 351 : Merge
rev 349 : 6718811: Mismerge of 6680469:macro.cpp
Summary: Fixed the mismerge by deleting the lines that were inadvertently left in place.
Reviewed-by: iveresov
rev 344 : Merge
rev 342 : 6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
rev 306 : 6741738: TypePtr::add_offset() set incorrect offset when the add overflows
Summary: Set offset to OffsetBot when the add overflows in TypePtr::add_offset()
Reviewed-by: jrose, never
rev 253 : 6726999: nsk/stress/jck12a/jck12a010 assert(n != null,"Bad immediate dominator info.")
Summary: Escape Analysis fixes.
Reviewed-by: never, rasbold
rev 247 : 6723160: Nightly failure: Error: meet not symmetric
Summary: Add missing _instance_id settings and other EA fixes.
Reviewed-by: rasbold
rev 235 : Merge
rev 223 : 6716441: error in meet with +DoEscapeAnalysis
Summary: Set instance_id to InstanceBot for InstPtr->meet(AryPtr) when types are not related.
Reviewed-by: jrose, never
rev 221 : 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
rev 216 : 6715633: when matching a memory node the adr_type should not change
Summary: verify the adr_type of a mach node was not changed
Reviewed-by: rasbold, never
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 168 : 6705887: Compressed Oops: generate x64 addressing and implicit null checks with narrow oops
Summary: Generate addresses and implicit null checks with narrow oops to avoid decoding.
Reviewed-by: jrose, never
rev 163 : 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
rev 124 : 6689060: Escape Analysis does not work with Compressed Oops
Summary: 64-bits VM crashes with -XX:+AggresiveOpts (Escape Analysis + Compressed Oops)
Reviewed-by: never, sgoldman
rev 113 : 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
rev 73 : 6259129: (Escape Analysis) scalar replacement for not escaping objects
Summary: Use scalar replacement with EA to remove allocations for objects which do not escape the compiled method.
Reviewed-by: rasbold, never, jrose
rev 66 : 6672848: (Escape Analysis) improve lock elimination with EA
Summary: Remove lock/unlock MemBar nodes and specify locks in debug info for deoptimization.
Reviewed-by: never
rev 63 : 6671807: (Escape Analysis) Add new ideal node to represent the state of a scalarized object at a safepoint
Summary: Values of non-static fields of a scalarized object should be saved in debug info to reallocate the object during deoptimization.
Reviewed-by: never
rev 0 : Initial load
23 lines changed: 23 ins; 0 del; 0 mod; 2742 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/macro.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8858 : 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
rev 8229 : 8073165: Contended Locking fast exit bucket
Summary: JEP-143/JDK-8073165 Contended Locking fast exit bucket
Reviewed-by: dholmes, acorn, dice, dcubed
Contributed-by: dave.dice@oracle.com, karen.kinnear@oracle.com, daniel.daugherty@oracle.com
rev 6903 : 7173584: Implement arraycopy as a macro node
Summary: delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by: kvn, iveresov
rev 6546 : 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
rev 6182 : 8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
rev 5776 : 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
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 3718 : 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
rev 3680 : 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
rev 2971 : 7125896: Eliminate nested locks
Summary: Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.
Reviewed-by: never, twisti
rev 2876 : 6890673: Eliminate allocations immediately after EA
Summary: Try to eliminate allocations and related locks immediately after escape analysis.
Reviewed-by: never
rev 2516 : 7050280: assert(u->as_Unlock()->is_eliminated()) failed: sanity
Summary: Mark all associated (same box and obj) lock and unlock nodes for elimination if some of them marked already.
Reviewed-by: iveresov, never
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 420 : 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
rev 247 : 6723160: Nightly failure: Error: meet not symmetric
Summary: Add missing _instance_id settings and other EA fixes.
Reviewed-by: rasbold
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 113 : 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
rev 73 : 6259129: (Escape Analysis) scalar replacement for not escaping objects
Summary: Use scalar replacement with EA to remove allocations for objects which do not escape the compiled method.
Reviewed-by: rasbold, never, jrose
rev 66 : 6672848: (Escape Analysis) improve lock elimination with EA
Summary: Remove lock/unlock MemBar nodes and specify locks in debug info for deoptimization.
Reviewed-by: never
rev 0 : Initial load
1 line changed: 1 ins; 0 del; 0 mod; 214 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/macroArrayCopy.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8384 : 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
rev 7935 : 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
rev 7646 : 6700100: optimize inline_native_clone() for small objects with exact klass
Summary: optimize small instance clones as loads/stores
Reviewed-by: kvn, iveresov
rev 7378 : 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
rev 6998 : 8055910: closed/java/util/Collections/CheckedCollections.java failed with ClassCastException not thrown
Summary: missing subtype check for Arrays.copyOf intrinsic
Reviewed-by: kvn, iveresov
rev 6917 : 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
rev 6903 : 7173584: Implement arraycopy as a macro node
Summary: delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by: kvn, iveresov
1 line changed: 0 ins; 0 del; 1 mod; 1252 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/matcher.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8829 : 8011858: Use Compile::live_nodes() instead of Compile::unique() in appropriate places
Reviewed-by: kvn, vlivanov
Contributed-by: vlad.ureche@gmail.com
rev 8482 : 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
rev 8379 : 8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com
rev 8285 : 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
rev 7866 : Merge
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7844 : 8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov
rev 6837 : 8054033: Remove unused references to Compile*
Summary: Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
rev 6760 : 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
rev 6646 : 8044775: Improve usage of umbrella header atomic.inline.hpp.
Reviewed-by: stefank, kvn
rev 6546 : 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
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 6117 : 8031321: Support Intel bit manipulation instructions
Summary: Add support for BMI1 instructions
Reviewed-by: kvn, roland
rev 6049 : 8027754: Enable loop optimizations for loops with MathExact inside
Reviewed-by: kvn, iveresov
rev 6003 : 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms
Summary: Add ConstantTableBase node edge after parameters and before jvms. Adapt jvms offsets.
Reviewed-by: kvn
rev 5994 : 8029015: PPC64 (part 216): opto: trap based null and range checks
Summary: On PPC64 use tdi instruction that does a compare and raises SIGTRAP for NULL and range checks.
Reviewed-by: kvn
rev 5993 : 8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence.
Summary: Use new nodes for loadFence/storeFence intrinsics in C2.
Reviewed-by: kvn, dholmes
rev 5989 : Merge
rev 5983 : 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
rev 5976 : Merge
rev 5966 : Merge
rev 5961 : Merge
rev 5947 : Merge
rev 5946 : Merge
rev 5945 : 8016586: PPC64 (part 3): basic changes for PPC64
Summary: added #includes needed for ppc64 port. Renamed _MODEL_ppc to _MODEL_ppc_32 and renamed corresponding old _ppc files to _ppc_32.
Reviewed-by: dholmes, kvn
rev 5663 : 8024830: SEGV in org.apache.lucene.codecs.compressing.CompressingTermVectorsReader.get
Summary: Exclude last input argument's stack slots from vector's spilling masks.
Reviewed-by: iveresov
rev 5356 : 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
rev 5104 : 8023003: Cleanup the public interface to PhaseCFG
Summary: public methods that don't need to be public should be private.
Reviewed-by: kvn, twisti
rev 5002 : 8007898: Incorrect optimization of Memory Barriers in Matcher::post_store_load_barrier()
Summary: generate one "fat" membar instead of set of barriers for volitile store
Reviewed-by: roland
rev 4854 : Merge
rev 4850 : 8014959: assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit
Summary: Insert extra checks and bailouts for too many nodes
Reviewed-by: kvn
rev 4802 : 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>
rev 4790 : 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292
Summary: ConstMethod::max_stack() doesn't account for JSR 292 appendix.
Reviewed-by: kvn
rev 4044 : 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
rev 3880 : 7092905: C2: Keep track of the number of dead nodes
Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes.
Reviewed-by: kvn, twisti, jrose, vlivanov
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3680 : 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
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3602 : 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>
rev 3534 : 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>
rev 3447 : 7119644: Increase superword's vector size up to 256 bits
Summary: Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
rev 2955 : 7121648: Use 3-operands SIMD instructions on x86 with AVX
Summary: Use 3-operands SIMD instructions in C2 generated code for machines with AVX.
Reviewed-by: never
rev 2825 : 7107042: assert(no_dead_loop) failed: dead loop detected
Summary: Use dead nodes elimination code in PhaseIdealLoop before executing EA.
Reviewed-by: never, twisti
rev 2674 : 7086394: c2/arm: enable UseFPUForSpilling
Summary: ARM has instructions to move data directly between the fpu and integer registers.
Reviewed-by: kvn, never
rev 2670 : 7071307: MethodHandle bimorphic inlining should consider the frequency
Reviewed-by: twisti, roland, kvn, iveresov
rev 2617 : 7079329: Adjust allocation prefetching for T4
Summary: on T4 2 BIS instructions should be issued to prefetch 64 bytes
Reviewed-by: iveresov, phh, twisti
rev 2612 : 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
rev 2558 : 7061187: need some includes for arm/ppc
Reviewed-by: dholmes, never, jwilhelm, kvn
rev 2442 : 5091921: Sign flip issues in loop optimizer
Summary: Fix integer overflow problem in the code generated by loop optimizer.
Reviewed-by: never
rev 2273 : 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
rev 2248 : 7029017: Additional architecture support for c2 compiler
Summary: Enables cross building of a c2 VM. Support masking of shift counts when the processor architecture mandates it.
Reviewed-by: kvn, never
rev 1887 : 6348631: remove the use of the HPI library from Hotspot
Summary: move functions from hpi library to hotspot, communicate with licensees and open source community, check jdk for dependency, file CCC request
Reviewed-by: coleenp, acorn, dsamersoff
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1650 : 6978249: spill between cpu and fpu registers when those moves are fast
Reviewed-by: kvn
rev 1499 : Merge
rev 1495 : 6954029: Improve implicit null check generation with compressed oops
Summary: Hoist DecodeN instruction above null check
Reviewed-by: never, twisti
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1203 : 6916644: C2 compiler crash on x86
Reviewed-by: kvn, twisti
rev 1137 : 6829187: compiler optimizations required for JSR 292
Summary: C2 implementation for invokedynamic support.
Reviewed-by: kvn, never
rev 1061 : 6896370: CTW fails share/vm/opto/matcher.cpp:1475 "duplicating node that's already been matched"
Summary: Move DecodeN code outside the memory nodes only code.
Reviewed-by: never
rev 986 : 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
rev 851 : 6851742: (EA) allocation elimination doesn't work with UseG1GC
Summary: Fix eliminate_card_mark() to eliminate G1 pre/post barriers.
Reviewed-by: never
rev 823 : 6841800: Incorrect boundary values behavior for option -XX:MaxLabelRootDepth=0-6 leads to jvm crash
Summary: MaxLabelRootDepth value less then 10 is invalid.
Reviewed-by: never
rev 729 : 6709742: find_base_for_derived's use of Ideal NULL is unsafe causing crashes during register allocation
Summary: Create a mach node corresponding to ideal node ConP #NULL specifically for derived pointers.
Reviewed-by: never
rev 681 : 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
rev 647 : Merge
rev 642 : 6791178: Specialize for zero as the compressed oop vm heap base
Summary: Use zero based compressed oops if java heap is below 32gb and unscaled compressed oops if java heap is below 4gb.
Reviewed-by: never, twisti, jcoomes, coleenp
rev 628 : Merge
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 586 : 6791572: assert("duplicating node that's already been matched")
Summary: Mark inputs for an address expression as shared if there are other uses besides address expressions.
Reviewed-by: never
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 558 : 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
rev 420 : 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
rev 368 : 6747051: Improve code and implicit null check generation for compressed oops
Summary: Push DecodeN node below the Null check to the non-null path to use the mach node without 0 test.
Reviewed-by: rasbold, never
rev 367 : 6384206: Phis which are later unneeded are impairing our ability to inline based on static types
Reviewed-by: rasbold, jrose
rev 309 : 6732698: crash with dead code from compressed oops in gcm
Reviewed-by: rasbold
rev 235 : Merge
rev 222 : 6718676: putback for 6604014 is incomplete
Reviewed-by: kvn, jrose
rev 221 : 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
rev 216 : 6715633: when matching a memory node the adr_type should not change
Summary: verify the adr_type of a mach node was not changed
Reviewed-by: rasbold, never
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 169 : 6695049: (coll) Create an x86 intrinsic for Arrays.equals
Summary: Intrinsify java/util/Arrays.equals(char[], char[])
Reviewed-by: kvn, never
rev 168 : 6705887: Compressed Oops: generate x64 addressing and implicit null checks with narrow oops
Summary: Generate addresses and implicit null checks with narrow oops to avoid decoding.
Reviewed-by: jrose, never
rev 164 : 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
rev 163 : 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
rev 113 : 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
rev 63 : 6671807: (Escape Analysis) Add new ideal node to represent the state of a scalarized object at a safepoint
Summary: Values of non-static fields of a scalarized object should be saved in debug info to reallocate the object during deoptimization.
Reviewed-by: never
rev 0 : Initial load
5 lines changed: 5 ins; 0 del; 0 mod; 2651 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/memnode.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8902 : 8134758: Final String field values should be trusted as stable
Reviewed-by: kvn, thartmann
rev 8860 : 8080289: Intermediate writes in a loop not eliminated by optimizer
Summary: Move Stores out of loop (after or before) when possible
Reviewed-by: kvn, vlivanov
rev 8858 : 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
rev 8517 : 8086046: escape analysis generates incorrect code as of B67
Summary: load bypasses arraycopy that sets the value after the ArrayCopyNode is expanded
Reviewed-by: kvn
rev 8482 : 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
rev 8384 : 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
rev 8285 : 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
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7733 : 8066312: Add new Node* Node::find_out(int opc) method.
Summary: Added methods find_user_with() and has_user_with() for searching for a particular out type.
Reviewed-by: kvn, jrose
rev 7590 : 8067338: compiler/debug/TraceIterativeGVN.java segfaults
Reviewed-by: kvn
rev 7438 : 8062258: compiler/debug/TraceIterativeGVN.java segfaults in trace_PhaseIterGVN
Reviewed-by: kvn
rev 7378 : 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
rev 7281 : 8058847: C2: EliminateAutoBox regression after 8042786
Reviewed-by: kvn, roland
rev 7005 : Merge
rev 6998 : 8055910: closed/java/util/Collections/CheckedCollections.java failed with ClassCastException not thrown
Summary: missing subtype check for Arrays.copyOf intrinsic
Reviewed-by: kvn, iveresov
rev 6975 : 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
rev 6837 : 8054033: Remove unused references to Compile*
Summary: Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
rev 6820 : 8040213: C2 does not put all modified nodes on IGVN worklist
Summary: Verification code is added that checks if modified nodes are put on the IGVN worklist and modified nodes are processed by 'PhaseIterGVN::transform_old()'
Reviewed-by: kvn, jrose
rev 6546 : 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
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6396 : 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>
rev 6393 : 8039298: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)->higher_equal(TypePtr::NULL_PTR))
Summary: Convert the assert into the runtime check to skip IGVN optimizations for problematic memory nodes. Eliminate dead nodes more aggressively.
Reviewed-by: twisti, iveresov
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 6107 : 8036667: "assert(adr->is_AddP() && adr->in(AddPNode::Offset)->is_Con()) failed: offset is a constant" with FoldStableValues on
Reviewed-by: kvn
rev 6011 : Merge
rev 6010 : Merge
rev 5993 : 8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence.
Summary: Use new nodes for loadFence/storeFence intrinsics in C2.
Reviewed-by: kvn, dholmes
rev 5983 : 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
rev 5937 : 8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
Summary: type methods shouldn't always operate on speculative part
Reviewed-by: kvn, twisti
rev 5776 : 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
rev 5766 : 8029366: ShouldNotReachHere error when creating an array with component type of void
Reviewed-by: kvn
rev 5275 : Merge
rev 5259 : 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
rev 5223 : 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
rev 4882 : 8017243: 8001345 is incomplete
Summary: Replaces unused decodeN at MemBarAcquire with its corresponding loadN if loadN is used at more than one place.
Reviewed-by: kvn, twisti
rev 4857 : Merge
rev 4856 : 8001345: VM crashes with assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
Summary: Remove unnecessary LoadN / DecodeN nodes at MemBarAcquire nodes.
Reviewed-by: kvn, roland
rev 4824 : 8014431: cleanup warnings indicated by the -Wunused-value compiler option on linux
Reviewed-by: dholmes, coleenp
Contributed-by: jeremymanson@google.com, calvin.cheung@oracle.com
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 4260 : 8009472: Print additional information for 8004640 failure
Summary: dump nodes and types in 8004640 case.
Reviewed-by: roland
rev 4222 : 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
rev 4044 : 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
rev 3975 : 8005522: use fast-string instructions on x86 for zeroing
Summary: use 'rep stosb' instead of 'rep stosq' when fast-string operations are available.
Reviewed-by: twisti, roland
rev 3729 : Merge
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3707 : 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
rev 3680 : 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
rev 3671 : 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
rev 3602 : 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>
rev 3447 : 7119644: Increase superword's vector size up to 256 bits
Summary: Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
rev 3407 : 7174510: 19 JCK compiler tests fail with C2 error: memNode.cpp:812 - ShouldNotReachHere
Summary: Add missing check for EncodeP node in MemNode::Ideal_common_DU_postCCP() method.
Reviewed-by: twisti
rev 3013 : 7132936: guarantee(t != NULL) failed: must be con
Summary: Use !higher_equal() check to skip top and values which fit.
Reviewed-by: never
rev 3007 : 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
rev 2972 : 7128352: assert(obj_node == obj) failed
Summary: Compare uncasted object nodes.
Reviewed-by: never
rev 2957 : 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
rev 2956 : 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
rev 2885 : 7117282: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)
Summary: Delay memory node transformation until the memory is processed.
Reviewed-by: iveresov, never
rev 2876 : 6890673: Eliminate allocations immediately after EA
Summary: Try to eliminate allocations and related locks immediately after escape analysis.
Reviewed-by: never
rev 2825 : 7107042: assert(no_dead_loop) failed: dead loop detected
Summary: Use dead nodes elimination code in PhaseIdealLoop before executing EA.
Reviewed-by: never, twisti
rev 2722 : 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
rev 2667 : 7071709: JSR 292: switchpoint invalidation should be pushed not pulled
Reviewed-by: never
rev 2612 : 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
rev 2381 : Merge
rev 2375 : 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
rev 2349 : Merge
rev 2345 : 7032963: StoreCM shouldn't participate in store elimination
Reviewed-by: kvn
rev 2264 : 7032696: Fix for 7029152 broke VM
Summary: StrIntrinsicNode::Ideal() should not optimize memory during Parse.
Reviewed-by: jrose, never
rev 2259 : 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
rev 2226 : 6962931: move interned strings out of the perm gen
Reviewed-by: never, coleenp, ysr, jwilhelm
rev 2167 : 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
rev 2164 : 6812217: Base memory of MergeMem node violates assert during killing expanded AllocateArray node
Summary: The assert in MergeMemNode::memory_at() misses the case when address is TOP.
Reviewed-by: never
rev 1911 : 7002666: eclipse CDT projects crash with compressed oops
Reviewed-by: kvn, twisti
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1746 : 6916062: assert(_inserts <= _insert_limit,"hash table overflow") in NodeHash::hash_insert
Summary: Missing check for not empty worklist when puting memory node back on worklist and expecting address type update.
Reviewed-by: never
rev 1735 : 6982537: Crash in Node*step_through_mergemem
Reviewed-by: kvn
rev 1686 : 6969586: OptimizeStringConcat: SIGSEGV in LoadNode::Value()
Reviewed-by: kvn
rev 1529 : 6959430: Make sure raw loads have control edge
Summary: check that raw loads have control edge
Reviewed-by: never, twisti
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1100 : 6895383: JCK test throws NPE for method compiled with Escape Analysis
Summary: Add missing checks for MemBar nodes in EA.
Reviewed-by: never
rev 1080 : 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
rev 1062 : 6896352: CTW fails hotspot/src/share/vm/opto/escape.cpp:1155
Summary: Always call C->get_alias_index(phase->type(address)) during parsing.
Reviewed-by: never
rev 986 : 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
rev 985 : 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
rev 708 : 6711117: Assertion in 64bit server vm (flat != TypePtr::BOTTOM,"cannot alias-analyze an untyped ptr")
Summary: Delay a memory node transformation if its control or address on IGVN worklist.
Reviewed-by: never
rev 681 : 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
rev 628 : Merge
rev 624 : 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
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 583 : 6807084: AutoBox elimination is broken with compressed oops
Summary: Add checks for DecodeN nodes into AutoBox elimination code.
Reviewed-by: never
rev 579 : 6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
rev 570 : Merge
rev 558 : 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
rev 553 : 6791132: bad control in autobox split code
Reviewed-by: kvn
rev 544 : 6793828: G1: invariant: queues are empty when activated
Reviewed-by: jrose, kvn
rev 420 : 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
rev 366 : 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
rev 305 : 6736417: Fastdebug C2 crashes in StoreBNode::Ideal
Summary: The result of step_through_mergemem() and remove_dead_region() is not checked in some cases.
Reviewed-by: never
rev 293 : 6731641: assert(m->adr_type() == mach->adr_type(),"matcher should not change adr type")
Summary: fixed few addP node type and narrow oop type problems.
Reviewed-by: rasbold, never
rev 253 : 6726999: nsk/stress/jck12a/jck12a010 assert(n != null,"Bad immediate dominator info.")
Summary: Escape Analysis fixes.
Reviewed-by: never, rasbold
rev 247 : 6723160: Nightly failure: Error: meet not symmetric
Summary: Add missing _instance_id settings and other EA fixes.
Reviewed-by: rasbold
rev 235 : Merge
rev 223 : 6716441: error in meet with +DoEscapeAnalysis
Summary: Set instance_id to InstanceBot for InstPtr->meet(AryPtr) when types are not related.
Reviewed-by: jrose, never
rev 221 : 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
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 193 : 6714406: Node::dominates() does not always check for TOP
Summary: Add missed checks for TOP and missed checks for non-dominating cases
Reviewed-by: rasbold, jrose, never
rev 169 : 6695049: (coll) Create an x86 intrinsic for Arrays.equals
Summary: Intrinsify java/util/Arrays.equals(char[], char[])
Reviewed-by: kvn, never
rev 168 : 6705887: Compressed Oops: generate x64 addressing and implicit null checks with narrow oops
Summary: Generate addresses and implicit null checks with narrow oops to avoid decoding.
Reviewed-by: jrose, never
rev 164 : 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
rev 163 : 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
rev 155 : 6701887: JDK7 server VM in endless loop in Node::dominates
Summary: The method Node::dominates loops in the dead code which does not have a Region node.
Reviewed-by: jrose, never
rev 128 : Merge
rev 124 : 6689060: Escape Analysis does not work with Compressed Oops
Summary: 64-bits VM crashes with -XX:+AggresiveOpts (Escape Analysis + Compressed Oops)
Reviewed-by: never, sgoldman
rev 122 : Merge
rev 119 : 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
rev 113 : 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
rev 85 : 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
rev 82 : 6682236: C2 hits ideal nodes limit during IGVN optimization with EA
Summary: missing check in LoadNode::Ideal() causes infinite generation of a value Phi.
Reviewed-by: jrose, never
rev 74 : 6674600: (Escape Analysis) Optimize memory graph for instance's fields
Summary: EA gives opportunite to do more aggressive memory optimizations.
Reviewed-by: never, jrose
rev 68 : 6676841: ClearArrayNode::Identity is incorrect for 64-bit
Summary: ClearArrayNode::Identity should use TypeX instead of TypeInt
Reviewed-by: jrose, kvn, sgoldman
rev 64 : 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
rev 43 : 6623167: C2 crashed in StoreCMNode::Value
Summary: C2 crashed in StoreCMNode::Value because n->in(MemNode::OopStore) is 0.
Reviewed-by: rasbold, never
rev 36 : 6667618: disable LoadL->ConvL2I ==> LoadI optimization
Summary: this optimization causes problems (sizes of Load and Store nodes do not match) for objects initialization code and Escape Analysis
Reviewed-by: jrose, never
rev 29 : 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
rev 17 : 6395208: Elide autoboxing for calls to HashMap.get(int) and HashMap.get(long)
Reviewed-by: kvn, rasbold
rev 0 : Initial load
3 lines changed: 2 ins; 0 del; 1 mod; 4499 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/multnode.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8797 : 8004073: Implement C2 Ideal node specific dump() method
Summary: add Node::dump_rel() to dump a node and its related nodes (the notion of "related" depends on the node at hand); add Node::dump_comp() to dump a node in compact representation; add Node::dump_rel_comp() to dump a node and its related nodes in compact representation; add the required machinery; extend some C2 IR nodes with compact and related dumping
Reviewed-by: kvn, roland
rev 8168 : 8073480: C2 should optimize explicit range checks
Summary: explicit range checks should be recognized by C2
Reviewed-by: kvn, vlivanov
rev 7438 : 8062258: compiler/debug/TraceIterativeGVN.java segfaults in trace_PhaseIterGVN
Reviewed-by: kvn
rev 6114 : 8028037: [parfait] warnings from b114 for hotspot.src.share.vm
Summary: Insert null check for one warning; other warning handled in parfait config
Reviewed-by: kvn
rev 6049 : 8027754: Enable loop optimizations for loops with MathExact inside
Reviewed-by: kvn, iveresov
rev 5937 : 8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
Summary: type methods shouldn't always operate on speculative part
Reviewed-by: kvn, twisti
rev 5776 : 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
rev 5546 : 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
rev 5356 : 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 3602 : 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>
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 0 : Initial load
2 lines changed: 2 ins; 0 del; 0 mod; 230 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/node.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8797 : 8004073: Implement C2 Ideal node specific dump() method
Summary: add Node::dump_rel() to dump a node and its related nodes (the notion of "related" depends on the node at hand); add Node::dump_comp() to dump a node in compact representation; add Node::dump_rel_comp() to dump a node and its related nodes in compact representation; add the required machinery; extend some C2 IR nodes with compact and related dumping
Reviewed-by: kvn, roland
rev 8285 : 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
rev 8196 : 8074981: Integer/FP scalar reduction optimization
Summary: Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.
Reviewed-by: kvn, twisti
Contributed-by: michael.c.berg@intel.com
rev 8168 : 8073480: C2 should optimize explicit range checks
Summary: explicit range checks should be recognized by C2
Reviewed-by: kvn, vlivanov
rev 7738 : 8068881: SIGBUS in C2 compiled method weblogic.wsee.jaxws.framework.jaxrpc.EnvironmentFactory$SimulatedWsdlDefinitions.<init>
Summary: Use MachMerge to hook together defs of the same multidef value in a block
Reviewed-by: kvn, vlivanov
rev 7733 : 8066312: Add new Node* Node::find_out(int opc) method.
Summary: Added methods find_user_with() and has_user_with() for searching for a particular out type.
Reviewed-by: kvn, jrose
rev 6903 : 7173584: Implement arraycopy as a macro node
Summary: delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by: kvn, iveresov
rev 6820 : 8040213: C2 does not put all modified nodes on IGVN worklist
Summary: Verification code is added that checks if modified nodes are put on the IGVN worklist and modified nodes are processed by 'PhaseIterGVN::transform_old()'
Reviewed-by: kvn, jrose
rev 6546 : 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
rev 6413 : 8041415: remove port.{cpp,hpp} files
Summary: Hotspot should use standard headers and types
Reviewed-by: coleenp, kvn
rev 6297 : 8038297: Avoid placing CTI immediately following cbcond instruction on T4
Summary: Insert a nop between cbcond and CTI
Reviewed-by: kvn, twisti
rev 6049 : 8027754: Enable loop optimizations for loops with MathExact inside
Reviewed-by: kvn, iveresov
rev 5992 : 8029025: PPC64 (part 203): opto: Move static _in_dump_cnt to Compile object.
Summary: Also introduces the compiler oracle 'option' feature for PrintAssembly.
Reviewed-by: kvn
rev 5982 : 8003854: PPC64 (part 115): Introduce PostallocExpand that expands nodes after register allocation
Summary: added ability in C2 to expand mach nodes to several mach nodes after register allocation
Reviewed-by: kvn
rev 5562 : 8026844: Various Math functions needs intrinsification
Reviewed-by: kvn, twisti
rev 5356 : 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
rev 5208 : Merge
rev 5191 : 8012972: Incremental Inlining should support scalar replaced object in debug info
Summary: store in _first_index not absolute index but an index relative to the last (youngest) jvms->_scloff value
Reviewed-by: roland, twisti
rev 5179 : 8021954: VM SIGSEGV during classloading on MacOS; hs_err_pid file produced
Summary: declare all user-defined operator new()s within Hotspot code with the empty throw() exception specification
Reviewed-by: coleenp, twisti, dholmes, hseigel, dcubed, kvn, ccheung
Contributed-by: lois.foltan@oracle.com
rev 5074 : 8022284: Hide internal data structure in PhaseCFG
Summary: Hide private node to block mapping using public interface
Reviewed-by: kvn, roland
rev 4676 : 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
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 4154 : 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
Summary: Add support for expensive nodes.
Reviewed-by: kvn
rev 4043 : 8005055: pass outputStream to more opto debug routines
Summary: pass the output stream to node->dump() and everything reachable from there
Reviewed-by: kvn
Contributed-by: goetz.lindenmaier@sap.com
rev 3880 : 7092905: C2: Keep track of the number of dead nodes
Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes.
Reviewed-by: kvn, twisti, jrose, vlivanov
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3680 : 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
rev 3536 : 7187454: stack overflow in C2 compiler thread on Solaris x86
Summary: Added new FormatBufferResource class to use thread's resource area for error message buffer.
Reviewed-by: twisti
rev 3534 : 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>
rev 3447 : 7119644: Increase superword's vector size up to 256 bits
Summary: Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
rev 2972 : 7128352: assert(obj_node == obj) failed
Summary: Compare uncasted object nodes.
Reviewed-by: never
rev 2957 : 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
rev 2881 : 7077312: Provide a CALL effect for instruct declaration in the ad file
Summary: abstracted way to declare that the MachNode has the effect of a call (kills caller save registers, preserves callee save registers)
Reviewed-by: twisti, never
rev 2703 : 7088955: add C2 IR support to the SA
Reviewed-by: kvn
rev 2616 : 7079317: Incorrect branch's destination block in PrintoOptoAssembly output
Summary: save/restore label and block in scratch_emit_size()
Reviewed-by: never
rev 2614 : 7063629: use cbcond in C2 generated code on T4
Summary: Use new short branch instruction in C2 generated code.
Reviewed-by: never
rev 2605 : 7069452: Cleanup NodeFlags
Summary: Remove flags which duplicate information in Node::NodeClasses.
Reviewed-by: never
rev 2550 : 7044738: Loop unroll optimization causes incorrect result
Summary: take into account memory dependencies when clonning nodes in clone_up_backedge_goo().
Reviewed-by: never
rev 1915 : 6961690: load oops from constant table on SPARC
Summary: oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by: never, kvn
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1100 : 6895383: JCK test throws NPE for method compiled with Escape Analysis
Summary: Add missing checks for MemBar nodes in EA.
Reviewed-by: never
rev 1080 : 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 400 : 6667595: Set probability FAIR for pre-, post- loops and ALWAYS for main loop
Summary: Fix loop's probability. Add optimizations to avoid spilling. Change InlineSmallCode to product flag.
Reviewed-by: never
rev 247 : 6723160: Nightly failure: Error: meet not symmetric
Summary: Add missing _instance_id settings and other EA fixes.
Reviewed-by: rasbold
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 168 : 6705887: Compressed Oops: generate x64 addressing and implicit null checks with narrow oops
Summary: Generate addresses and implicit null checks with narrow oops to avoid decoding.
Reviewed-by: jrose, never
rev 128 : Merge
rev 126 : 6625997: CastPP, CheckCastPP and Proj nodes are not dead loop safe
Summary: EA and initialization optimizations could bypass these nodes.
Reviewed-by: rasbold, never
rev 122 : Merge
rev 119 : 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
rev 113 : 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
rev 85 : 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
rev 65 : 6674588: (Escape Analysis) Improve Escape Analysis code
Summary: Current EA code has several problems which have to be fixed.
Reviewed-by: jrose, sgoldman
rev 63 : 6671807: (Escape Analysis) Add new ideal node to represent the state of a scalarized object at a safepoint
Summary: Values of non-static fields of a scalarized object should be saved in debug info to reallocate the object during deoptimization.
Reviewed-by: never
rev 40 : 6670459: Fix Node::dump() performance
Summary: dump full ideal graph takes forever.
Reviewed-by: never, rasbold
rev 33 : 6667580: Optimize CmpP for allocations
Summary: CmpP could be optimized out if it compares new allocated objects.
Reviewed-by: jrose, never, rasbold
rev 0 : Initial load
3 lines changed: 3 ins; 0 del; 0 mod; 1661 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/output.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8795 : 8130309: Need to bailout cleanly if creation of stubs fails when codecache is out of space
Summary: Check for failed expansion of stub section in code buffer and bailout.
Reviewed-by: kvn, adinn, dlong, roland, twisti
rev 8379 : 8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com
rev 7751 : 8071302: assert(!_reg_node[reg_lo] || edge_from_to(_reg_node[reg_lo], def)) failed: after block local
Summary: Add merge nodes to node to block mapping
Reviewed-by: kvn, vlivanov
rev 7280 : 8046809: vm/mlvm/meth/stress/compiler/deoptimize CodeCache is full.
Summary: Use separate sweeper thread; enables more aggressive sweeping.
Reviewed-by: kvn, jrose
rev 7151 : 8059468: Fix PrintCodeCache output changed by JDK-8059137
Summary: Change output of PrintCodeCache to print "CodeCache" instead of "Code Cache" and change name of non-method code heap to non-nmethod code heap.
Reviewed-by: vlivanov, anoll
rev 7145 : 8058968: Compiler time traces should be improved
Summary: Use CITime consistently, make C2 to report to CompilerBroker, more probes.
Reviewed-by: vlivanov, jrose
rev 7081 : 8015774: Add support for multiple code heaps
Summary: Support for segmentation of the code cache. Separate code heaps are created and used to store code of different types.
Reviewed-by: kvn, iveresov, roland, anoll, egahlin, sla
rev 6837 : 8054033: Remove unused references to Compile*
Summary: Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
rev 6829 : 8054054: 8040121 is broken
Summary: C++ code pattern from 8040121 is incorrect
Reviewed-by: kvn
rev 6825 : 8040121: Load variable through a pointer of an incompatible type in src/hotspot/src/share/vm: opto/output.cpp, runtime/sharedRuntimeTrans.cpp, utilities/globalDefinitions_visCPP.hpp
Summary: Fixed parfait warnings in globalDefinitions files by using a union for casts.
Reviewed-by: kvn
rev 6764 : Merge
rev 6761 : Merge
rev 6760 : 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
rev 6742 : 8036588: VerifyFieldClosure fails instanceKlass:3133
Summary: Changed deopt live-pointer test to use returns-object instead of live-and-returns-object
Reviewed-by: iveresov, kvn, jrose
rev 6710 : 8022968: Some codecache allocation failures don't result in invoking the sweeper
Summary: Add calls to CompileBroker::handle_full_code_cache() or fail gracefully whenever allocation in the code cache fails.
Reviewed-by: iveresov, vlivanov
rev 6546 : 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
rev 6413 : 8041415: remove port.{cpp,hpp} files
Summary: Hotspot should use standard headers and types
Reviewed-by: coleenp, kvn
rev 6307 : 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.
Reviewed-by: twisti, kvn
rev 6297 : 8038297: Avoid placing CTI immediately following cbcond instruction on T4
Summary: Insert a nop between cbcond and CTI
Reviewed-by: kvn, twisti
rev 6189 : 8037821: Account for trampoline stubs when estimating code buffer sizes
Summary: Take into account space needed for "trampoline code" used by calls on PPC64.
Reviewed-by: kvn
Contributed-by: lutz.schmidt@sap.com
rev 6063 : 8035283: Second phase of branch shortening doesn't account for loop alignment
Summary: added missing check for loop padding case.
Reviewed-by: kvn, jrose
rev 6010 : Merge
rev 5994 : 8029015: PPC64 (part 216): opto: trap based null and range checks
Summary: On PPC64 use tdi instruction that does a compare and raises SIGTRAP for NULL and range checks.
Reviewed-by: kvn
rev 5988 : 8028580: PPC64 (part 114/120): Support for Call nodes with constants.
Summary: extends MachCall nodes so that they can issue constants to the constant table
Reviewed-by: kvn
rev 5976 : Merge
rev 5966 : Merge
rev 5957 : 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX.
Summary: On AIX 7.1 systemcfg.h defines IA64 unconditionally, so test for !AIX where IA64 is used.
Reviewed-by: dholmes, kvn
rev 5776 : 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
rev 5200 : 8023691: Create interface for nodes in class Block
Summary: Create public methods for accessing the nodes in a block
Reviewed-by: kvn, roland
rev 5191 : 8012972: Incremental Inlining should support scalar replaced object in debug info
Summary: store in _first_index not absolute index but an index relative to the last (youngest) jvms->_scloff value
Reviewed-by: roland, twisti
rev 5104 : 8023003: Cleanup the public interface to PhaseCFG
Summary: public methods that don't need to be public should be private.
Reviewed-by: kvn, twisti
rev 5074 : 8022284: Hide internal data structure in PhaseCFG
Summary: Hide private node to block mapping using public interface
Reviewed-by: kvn, roland
rev 4676 : 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
rev 4566 : Merge
rev 4565 : 8003853: specify offset of IC load in java_to_interp stub
Summary: refactored code to allow platform-specific differences
Reviewed-by: dlong, twisti
Contributed-by: Goetz Lindenmaier <goetz.lindenmaier@sap.com>
rev 4517 : 8006952: Slow VM due to excessive code cache freelist iteration
Summary: Remove continous free block requirement
Reviewed-by: kvn
rev 4439 : 8010437: guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset
Summary: Fix shorten_branches() to accurately count an initial nop that may be inserted in a block that starts with a safepoint.
Reviewed-by: kvn
rev 4335 : 8009172: [parfait] Null pointer deference in hotspot/src/share/vm/opto/output.cpp
Summary: add guarantee() to DoScheduling()
Reviewed-by: twisti, kvn
rev 3880 : 7092905: C2: Keep track of the number of dead nodes
Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes.
Reviewed-by: kvn, twisti, jrose, vlivanov
rev 3680 : 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
rev 3668 : 7196199: java/text/Bidi/Bug6665028.java failed: Bidi run count incorrect
Summary: Save whole XMM/YMM registers in safepoint interrupt handler.
Reviewed-by: roland, twisti
rev 3602 : 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>
rev 3572 : 7192965: assert(is_aligned_sets(size)) failed: mask is not aligned, adjacent sets
Summary: Change pair check to vector check in RA bias coloring code.
Reviewed-by: jrose, twisti
rev 3139 : 7125136: SIGILL on linux amd64 in gc/ArrayJuggle/Juggle29
Summary: For C2 moved saving EBP after ESP adjustment. For C1 generated 5 byte nop instruction first if needed.
Reviewed-by: never, twisti, azeemj
rev 2971 : 7125896: Eliminate nested locks
Summary: Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.
Reviewed-by: never, twisti
rev 2620 : 7080431: VM asserts if specified size(x) in .ad is larger than emitted size
Summary: Move code from finalize_offsets_and_shorten() to fill_buffer() to restore previous behavior.
Reviewed-by: never
rev 2616 : 7079317: Incorrect branch's destination block in PrintoOptoAssembly output
Summary: save/restore label and block in scratch_emit_size()
Reviewed-by: never
rev 2614 : 7063629: use cbcond in C2 generated code on T4
Summary: Use new short branch instruction in C2 generated code.
Reviewed-by: never
rev 2605 : 7069452: Cleanup NodeFlags
Summary: Remove flags which duplicate information in Node::NodeClasses.
Reviewed-by: never
rev 2602 : 7063628: Use cbcond on T4
Summary: Add new short branch instruction to Hotspot sparc assembler.
Reviewed-by: never, twisti, jrose
rev 2496 : 7047300: VM crashes with assert(_base == InstPtr) failed: Not an object pointer
Summary: The code incorrectly used is_instptr() instead of is_oopptr() to get const_oop.
Reviewed-by: never
rev 2349 : Merge
rev 2345 : 7032963: StoreCM shouldn't participate in store elimination
Reviewed-by: kvn
rev 2273 : 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
rev 2200 : 7025742: Can not use CodeCache::unallocated_capacity() with fragmented CodeCache
Summary: Use largest_free_block() instead of unallocated_capacity().
Reviewed-by: iveresov, never, ysr
rev 1979 : 7008325: CodeCache exhausted on sparc starting from hs20b04
Summary: remove clear_scratch_buffer_blob and let init_scratch_buffer_blob free and allocate a new blob if required.
Reviewed-by: twisti
rev 1915 : 6961690: load oops from constant table on SPARC
Summary: oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by: never, kvn
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1668 : 6978355: renaming for 6961697
Summary: This is the renaming part of 6961697 to keep the actual changes small for review.
Reviewed-by: kvn, never
rev 1606 : 6974682: CTW: assert(target != NULL) failed: must not be null
Summary: Add address table size to constant section size.
Reviewed-by: never
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1410 : 6888954: argument formatting for assert() and friends
Reviewed-by: kvn, twisti, apetrusenko, never, dcubed
rev 1409 : 6888953: some calls to function-like macros are missing semicolons
Reviewed-by: pbk, kvn
rev 1274 : 6910664: C2: java/util/Arrays/Sorting.java fails with DeoptimizeALot flag
Summary: Matcher::float_in_double should be true only when FPU is used for floats.
Reviewed-by: never, twisti
rev 1265 : 6926782: CodeBuffer size too small after 6921352
Summary: After 6921352 the CodeBuffer size was too small.
Reviewed-by: kvn, never
rev 1253 : 6910618: C2: Error: assert(d->is_oop(),"JVM_ArrayCopy: dst not an oop")
Summary: Mark in PcDesc call sites which return oop and save the result oop across objects reallocation during deoptimization.
Reviewed-by: never
rev 1204 : 6921352: JSR 292 needs its own deopt handler
Summary: We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.
Reviewed-by: never, jrose
rev 1202 : 4360113: Evict nmethods when code cache gets full
Summary: Speculatively unload the oldest nmethods when code cache gets full.
Reviewed-by: never, kvn
Contributed-by: eric.caspole@amd.com
rev 1201 : 6921339: backout 6917766
Reviewed-by: mr
rev 1200 : 6917766: JSR 292 needs its own deopt handler
Summary: We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.
Reviewed-by: never, jrose
rev 1137 : 6829187: compiler optimizations required for JSR 292
Summary: C2 implementation for invokedynamic support.
Reviewed-by: kvn, never
rev 1135 : 6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164)
Summary: During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately.
Reviewed-by: kvn, never
rev 989 : 6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
rev 903 : Merge
rev 900 : 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
rev 866 : Merge
rev 859 : 6860599: nodes limit could be reached during Output phase
Summary: Bailout compilation if nodes limit could be reached during Output phase.
Reviewed-by: never, twisti
rev 844 : 6862919: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 07/09
Reviewed-by: tbell, ohair
rev 707 : 6826960: C2 Sparc: assert(bb->_nodes(_bb_end)->is_Proj(),"skipping projections after expected call")
Summary: Add the check when a Halt node is placed in a separate block.
Reviewed-by: twisti
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 460 : 6775880: EA +DeoptimizeALot: assert(mon_info->owner()->is_locked(),"object must be locked now")
Summary: Create new "eliminated" BoxLock node for monitor debug info when corresponding locks are eliminated.
Reviewed-by: never
rev 418 : 6743900: frequency based block layout
Summary: post-register allocation pass that drives block layout by edge frequencies
Reviewed-by: never, kvn
rev 415 : 6754519: don't emit flag fixup for NaN when condition being tested doesn't need it
Reviewed-by: kvn, rasbold
rev 331 : 6706829: Compressed Oops: add debug info for narrow oops
Summary: Add support for narrow oops in debug info to avoid decoding.
Reviewed-by: rasbold, never
rev 235 : Merge
rev 222 : 6718676: putback for 6604014 is incomplete
Reviewed-by: kvn, jrose
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 163 : 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
rev 66 : 6672848: (Escape Analysis) improve lock elimination with EA
Summary: Remove lock/unlock MemBar nodes and specify locks in debug info for deoptimization.
Reviewed-by: never
rev 63 : 6671807: (Escape Analysis) Add new ideal node to represent the state of a scalarized object at a safepoint
Summary: Values of non-static fields of a scalarized object should be saved in debug info to reallocate the object during deoptimization.
Reviewed-by: never
rev 28 : 6650373: Assert in methodOopDesc::make_adapters()
Summary: AdapterHandlerLibrary::get_create_adapter_index() returns incorrect value (-2) when CodeCache is full.
Reviewed-by: sgoldman
rev 0 : Initial load
2 lines changed: 0 ins; 0 del; 2 mod; 3014 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/parse.hpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8723 : 8078629: VM should constant fold Unsafe.get*() loads from final fields
Reviewed-by: kvn, jrose, psandoz
rev 8005 : 8073607: add trace events for inlining
Reviewed-by: kvn, fzhinkin, mgronlun
rev 7802 : 8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: jrose, kvn
rev 6745 : 8049528: Method marked w/ @ForceInline isn't inlined with "executed < MinInliningThreshold times" message
Reviewed-by: roland, jrose
rev 6711 : 8046289: compiler/6340864/TestLongVect.java timeout with
Reviewed-by: iveresov, vlivanov
rev 6569 : 8026796: Make replace_in_map() on parent maps generic
Summary: propagate node replacements along control flow edges to callers
Reviewed-by: kvn, vlivanov
rev 6430 : 8032463: VirtualDispatch test timeout with DeoptimizeALot
Summary: Introduce code aging for warm method detection
Reviewed-by: kvn, twisti
rev 6182 : 8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
rev 6087 : 8031818: Experimental VM flag for enforcing safe object construction
Summary: -XX:+AlwaysSafeConstructors to unconditionally emit the trailing constructor barrier.
Reviewed-by: kvn, roland
rev 6010 : Merge
rev 6006 : 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes
Reviewed-by: dholmes, kvn
Contributed-by: martin.doerr@sap.com
rev 5785 : 8028468: Add inlining information into ciReplay
Summary: Allow dump and replay inlining for specified method during a program execution.
Reviewed-by: roland, twisti
rev 5776 : 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
rev 5556 : 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
rev 5546 : 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
rev 5466 : 8011138: C2: stack overflow in compiler thread because of recursive inlining of lambda form methods
Reviewed-by: kvn, roland
rev 5223 : 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
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 4225 : 8007439: C2: adding successful message of inlining
Reviewed-by: kvn, vlivanov
rev 4097 : 8005439: no message about inline method if it specifed by CompileCommand
Reviewed-by: kvn, vlivanov
Contributed-by: Igor Ignatyev <igor.ignatyev@oracle.com>
rev 3979 : 8005418: JSR 292: virtual dispatch bug in 292 impl
Reviewed-by: jrose, kvn
rev 3974 : 8005071: Incremental inlining for JSR 292
Summary: post parse inlining driven by number of live nodes.
Reviewed-by: twisti, kvn, jrose
rev 3718 : 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
rev 3534 : 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>
rev 3399 : 7170463: C2 should recognize "obj.getClass() == A.class" code pattern
Summary: optimize this code pattern obj.getClass() == A.class.
Reviewed-by: jrose, kvn
Contributed-by: Krystal Mok <sajia@taobao.com>
rev 2703 : 7088955: add C2 IR support to the SA
Reviewed-by: kvn
rev 2665 : 7079673: JSR 292: C1 should inline bytecoded method handle adapters
Reviewed-by: never
rev 2546 : 7057587: JSR 292 - crash with jruby in test/test_respond_to.rb
Summary: don't skip receiver when GC'ing compiled invokedynamic callsites
Reviewed-by: twisti, kvn, jrose
rev 2463 : 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters
Reviewed-by: jrose, never, kvn
rev 2442 : 5091921: Sign flip issues in loop optimizer
Summary: Fix integer overflow problem in the code generated by loop optimizer.
Reviewed-by: never
rev 2232 : Merge
rev 2230 : 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
rev 2223 : 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1666 : 6912064: type profiles need to be exploited more for dynamic language support
Reviewed-by: kvn
rev 1565 : 6958668: repeated uncommon trapping for new of klass which is being initialized
Reviewed-by: kvn, jrose
rev 1472 : 6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
rev 1344 : 6926979: should simplify catch_inline_exception
Reviewed-by: twisti
rev 1172 : 6894779: Loop Predication for Loop Optimizer in C2
Summary: Loop predication implementation
Reviewed-by: never, kvn
rev 1157 : 6912063: inlining parameters need to be adjusted for some uses of the JVM
Summary: Put all inline-related switches into product mode, to allow tuning by dynamic language implementors.
Reviewed-by: twisti, kvn
rev 989 : 6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
rev 844 : 6862919: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 07/09
Reviewed-by: tbell, ohair
rev 730 : 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
rev 605 : 6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
rev 435 : 6766316: assert(!nocreate,"Cannot build a phi for a block already parsed.")
Summary: Don't use the invariant local information if there are irreducible loops.
Reviewed-by: never
rev 367 : 6384206: Phis which are later unneeded are impairing our ability to inline based on static types
Reviewed-by: rasbold, jrose
rev 248 : 6726504: handle do_ifxxx calls in parser more uniformly
Summary: make do_ifnull() handling similar to do_if()
Reviewed-by: jrose, kvn
rev 196 : 6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
rev 41 : 6667605: (Escape Analysis) inline java constructors when EA is on
Summary: java constructors should be inlined to be able scalar replace a new object
Reviewed-by: rasbold
rev 0 : Initial load
1 line changed: 0 ins; 0 del; 1 mod; 638 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/vm/opto/parse2.cpp

rev 8961 : [mq]: diff-shenandoah.patch
rev 8723 : 8078629: VM should constant fold Unsafe.get*() loads from final fields
Reviewed-by: kvn, jrose, psandoz
rev 7890 : Merge
rev 7877 : 8064611: AARCH64: Changes to HotSpot shared code
Summary: Everything except cpu/ and os_cpu/
Reviewed-by: dholmes, goetz, dlong, coleenp, kvn
rev 7866 : Merge
rev 7864 : 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
rev 7802 : 8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: jrose, kvn
rev 7730 : 8067374: Use %f instead of %g for LogCompilation output
Summary: Changed format string from %g to %f.
Reviewed-by: kvn
rev 7218 : 8060215: per-method PrintIdealGraphLevel
Summary: Use CompileCommand=option to set PrintIdealGraphLevel on a per-method level. Introduce the PrintIdealGraph develop to control/check if printing the graph is enabled for any method
Reviewed-by: kvn, dlong, thartmann
rev 6711 : 8046289: compiler/6340864/TestLongVect.java timeout with
Reviewed-by: iveresov, vlivanov
rev 6557 : 8030976: Untaken paths should be more vigorously pruned at highest optimization level
Reviewed-by: roland, vlivanov
rev 6546 : 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
rev 6417 : Merge
rev 6413 : 8041415: remove port.{cpp,hpp} files
Summary: Hotspot should use standard headers and types
Reviewed-by: coleenp, kvn
rev 6412 : 8037816: Fix for 8036122 breaks build with Xcode5/clang
Summary: Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
rev 6219 : 8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
rev 6216 : 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
rev 6011 : Merge
rev 6010 : Merge
rev 5983 : 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
rev 5937 : 8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
Summary: type methods shouldn't always operate on speculative part
Reviewed-by: kvn, twisti
rev 5776 : 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
rev 5556 : 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
rev 5470 : 8024774: assert(_con < t->is_tuple()->cnt()) failed: ProjNode::_con must be in range
Reviewed-by: iveresov, roland, kvn, twisti
rev 4675 : 6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
rev 4427 : 8009539: JVM crash when run lambda testng tests
Summary: Ensure class pointer is non-null before dereferencing it to check if it is loaded.
Reviewed-by: kvn
rev 3878 : 7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop()
Reviewed-by: kvn, jrose
rev 3724 : 7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
rev 3680 : 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
rev 3602 : 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>
rev 3474 : 7180769: assert(tboth->klass_is_exact()) failed: klass should be exact
Summary: Use class exactness as part of the condition for class compare optimization instead of assert.
Reviewed-by: twisti, roland
rev 3399 : 7170463: C2 should recognize "obj.getClass() == A.class" code pattern
Summary: optimize this code pattern obj.getClass() == A.class.
Reviewed-by: jrose, kvn
Contributed-by: Krystal Mok <sajia@taobao.com>
rev 2664 : 7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn
rev 2328 : 6988308: assert((cnt > 0.0f) && (prob > 0.0f)) failed: Bad frequency assignment in if
Summary: Make sure cnt doesn't become negative and integer overflow doesn't happen.
Reviewed-by: kvn, twisti
rev 2273 : 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
rev 2230 : 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
rev 1879 : 6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
rev 1666 : 6912064: type profiles need to be exploited more for dynamic language support
Reviewed-by: kvn
rev 1522 : 6939203: JSR 292 needs method handle constants
Summary: Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode.
Reviewed-by: twisti, never
rev 1499 : Merge
rev 1485 : 6939207