History log of /openjdk10/hotspot/src/share/vm/opto/graphKit.hpp
Revision Date Author Comments
# 13166:b4438b96a1db 09-Jun-2017 roland

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


# 13149:df318ded5778 29-May-2017 roland

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


# 12576:366758481af1 24-Jan-2017 thartmann

8173195: [BACKOUT] 8087341: C2 doesn't optimize redundant memory operations with G1
Summary: Backing out 8087341 due to 8172850. Will be re-implemented with 8173196.
Reviewed-by: kvn


# 11905:119a2a3cc29b 25-Aug-2016 jcm

8158639: C2 compilation fails with SIGSEGV
Summary: fixed the jvms for callsite traps based on declared signature.
Reviewed-by: kvn, vlivanov, dlong


# 10976:e6abce3c8763 11-Apr-2016 vlivanov

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


# 10320:55778b6121e3 15-Feb-2016 roland

8087341: C2 doesn't optimize redundant memory operations with G1
Summary: effect of memory barrier in post barrier is too wide
Reviewed-by: kvn, aph
Contributed-by: adinn <adinn@redhat.com>


# 10029:bfb7a8a004de 18-Jan-2016 thartmann

6675699: need comprehensive fix for unconstrained ConvI2L with narrowed type
Summary: Emit CastII to make narrow ConvI2L dependent on the corresponding range check.
Reviewed-by: kvn, roland


# 10028:bf74058d67ec 18-Jan-2016 thartmann

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


# 9445:4bee38ba018c 28-Oct-2015 roland

8140309: [REDO] failed: no mismatched stores, except on raw memory: StoreB StoreI
Summary: Mismatched stores on same slice possible with Unsafe.Put*Unaligned methods
Reviewed-by: kvn, thartmann


# 9283:f31349f1215e 03-Nov-2015 thartmann

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


# 9199:d80d1084cfdc 21-Oct-2015 dlong

8140267: assert(is_native_ptr || alias_type->adr_type() == TypeOopPtr::BOTTOM || alias_type->field() != __null || alias_type->element() != __null) failed: field, array element or unknown
Summary: back out 8136473
Reviewed-by: twisti


# 9189:9108fab781a4 16-Oct-2015 roland

8136473: failed: no mismatched stores, except on raw memory: StoreB StoreI
Summary: Mismatched stores on same slice possible with Unsafe.Put*Unaligned methods
Reviewed-by: kvn, thartmann


# 9056:dc9930a04ab0 29-Sep-2015 david

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


# 8482:ed9cc6871da2 21-May-2015 roland

8077504: Unsafe load can loose control dependency and cause crash
Summary: Node::depends_only_on_test() should return false for Unsafe loads
Reviewed-by: kvn, adinn


# 8170:5bc4954b575c 15-Mar-2015 roland

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


# 7866:759a167d2381 16-Feb-2015 jwilhelm

Merge


# 7864:6a5be7f00868 13-Feb-2015 stefank

8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes


# 7802:8e93f8517960 29-Jan-2015 vlivanov

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


# 7503:80871303480c 01-Dec-2014 roland

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


# 7221:a37f7bbdfd57 09-Oct-2014 mgerdin

8057737: Avoid G1 write barriers on newly allocated objects
Reviewed-by: mgerdin, kvn, iveresov
Contributed-by: Staffan Friberg <staffan.friberg@oracle.com>


# 6903:190b0e9d0ad1 11-Aug-2014 roland

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


# 6569:e38bb04f030d 10-Jun-2014 roland

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


# 6568:dd14b24efd49 10-Jun-2014 vlivanov

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


# 6546:3533da0f7728 02-Jun-2014 thartmann

8034812: remove IDX_INIT macro hack in Node class
Summary: The IDX_INIT macro used by Node::Node(...) to retrieve the Compile object is removed and replaced by a call to Compile::current(). The Node constructor, new operator and all calls to it are adapted accordingly.
Reviewed-by: kvn, jrose, iveresov, goetz


# 6216:37023a7f1e1b 31-Mar-2014 roland

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


# 6186:ead873def219 24-Mar-2014 poonam

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


# 6054:fdad2932c73f 25-Feb-2014 roland

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


# 6010:abec000618bf 28-Jan-2014 kvn

Merge


# 5983:2113136690bc 15-Nov-2013 goetz

8024921: PPC64 (part 113): Extend Load and Store nodes to know about memory ordering
Summary: Add a field to C2 LoadNode and StoreNode classes which indicates whether the load/store should do an acquire/release on platforms which support it.
Reviewed-by: kvn


# 5776:de6a9e811145 24-Dec-2013 mikael

8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
Summary: Copyright year updated for files modified during 2013
Reviewed-by: twisti, iveresov


# 5556:b2ee5dc63353 22-Oct-2013 roland

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


# 5473:d9043b88eeb3 03-Oct-2013 roland

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


# 5223:edb5ab0f3fe5 10-Sep-2013 vlivanov

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


# 5202:29aa8936f03c 28-Aug-2013 kvn

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


# 3878:beebba0acc11 26-Nov-2012 twisti

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


# 3680:e626685e9f6c 27-Sep-2012 kvn

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


# 3602:da91efe96a93 01-Sep-2012 coleenp

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


# 3534:1d7922586cf6 24-Jul-2012 twisti

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


# 3325:8f972594effc 14-May-2012 kvn

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


# 2381:286c498ae0d4 29-Apr-2011 kvn

Merge


# 2375:66b0e2371912 20-Apr-2011 kvn

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


# 2352:5d046bf49ce7 14-Apr-2011 johnc

Merge


# 2349:92add02409c9 08-Apr-2011 jmasa

Merge


# 2346:e1162778c1c8 07-Apr-2011 johnc

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


# 2315:6c97c830fb6f 09-Apr-2011 jrose

Merge


# 2291:07acc51c1d2a 02-Apr-2011 kvn

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


# 2273:1d1603768966 05-Apr-2011 trims

7010070: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - second pass
Summary: Update the copyright to be 2010 on all changed files in OpenJDK
Reviewed-by: ohair


# 2230:9dc311b8473e 21-Mar-2011 kvn

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


# 1879:f95d63e2154a 23-Nov-2010 stefank

6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg


# 1666:4b29a725c43c 21-Aug-2010 jrose

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


# 1472:c18cbe5936b8 27-May-2010 trims

6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair


# 1213:6deeaebad47a 01-Feb-2010 dcubed

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


# 1080:7c57aead6d3e 12-Nov-2009 never

6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti


# 985:685e959d09ea 14-Sep-2009 cfang

6877254: Server vm crashes with no branches off of store slice" when run with CMS and UseSuperWord(default)
Summary: design StoreCMNode::Ideal to promote its oopStore input if the input is a MergeMem node
Reviewed-by: kvn, never


# 900:9987d9d5eb0e 31-Jul-2009 cfang

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


# 851:fc4be448891f 16-Jul-2009 kvn

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


# 825:8f5825e0aeaa 26-Jun-2009 never

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


# 730:9c6be3edf0dc 23-Apr-2009 cfang

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


# 579:0fbdb4381b99 09-Mar-2009 xdono

6814575: Update copyright year
Summary: Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair


# 563:1b9fc6e3171b 05-Feb-2009 never

6442502: assert(bits,"Use TypePtr for NULL") on linux-x86
Reviewed-by: kvn


# 342:37f87013dfd8 05-Jun-2008 ysr

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


# 0:a61af66fc99e 30-Nov-2007 duke

Initial load