History log of /openjdk9/hotspot/src/share/vm/opto/stringopts.cpp
Revision Date Author Comments
# 12689:55e3f1f3d0a7 09-Mar-2017 rraghavan

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


# 11514:eadc4ebb7755 14-Jun-2016 thartmann

8159244: Partially initialized string object created by C2's string concat optimization may escape
Summary: Emit release barrier after String creation to prevent partially initialized object from escaping.
Reviewed-by: kvn


# 10976:e6abce3c8763 11-Apr-2016 vlivanov

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


# 10239:9cf33e51c2d4 15-Feb-2016 shade

8149813: Move trusted final field handling from C2 LoadNode::Value to shared code
Reviewed-by: thartmann, kvn


# 10028:bf74058d67ec 18-Jan-2016 thartmann

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


# 10007:07efffd5d643 11-Jan-2016 thartmann

8136469: OptimizeStringConcat fails on pre-sized StringBuilder shapes
Summary: Cut off dead if branch already during parsing (GVN).
Reviewed-by: shade, kvn, roland


# 9492:f60b602209c7 20-Nov-2015 thartmann

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


# 9291:c57d32ee06b3 05-Nov-2015 thartmann

8141443: jdk/test/java/util/regex/RegExTest.java fails: No match found
Summary: Do not sign extend when converting jbyte to jchar.
Reviewed-by: shade, kvn


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


# 9056:dc9930a04ab0 29-Sep-2015 david

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


# 8897:36208147039b 31-Aug-2015 shade

8076758: new StringBuilder().append(String).toString() should be recognized by OptimizeStringConcat
Reviewed-by: kvn, thartmann


# 7864:6a5be7f00868 13-Feb-2015 stefank

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


# 7732:8596a20c8de1 16-Jan-2015 asiebenborn

8068909: SIGSEGV in c2 compiled code with OptimizeStringConcat
Reviewed-by: kvn


# 6837:ae45df3285c9 05-Aug-2014 thartmann

8054033: Remove unused references to Compile*
Summary: Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland


# 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


# 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


# 5493:90abdd727e64 16-Oct-2013 iveresov

8009303: Tiered: incorrect results in VM tests stringconcat with -Xcomp -XX:+DeoptimizeALot on solaris-amd64
Summary: Do memory flow analysis in string concat optimizier to exclude cases when computation of arguments to StringBuffer::append has side effects
Reviewed-by: kvn, twisti


# 3974:d092d1b31229 23-Dec-2012 roland

8005071: Incremental inlining for JSR 292
Summary: post parse inlining driven by number of live nodes.
Reviewed-by: twisti, kvn, jrose


# 3922:ad5dd04754ee 18-Dec-2012 roland

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


# 3880:2aff40cb4703 27-Nov-2012 bharadwaj

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


# 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


# 3492:ed21db7b3fda 13-Jul-2012 kvn

7123926: Some CTW test crash: !_control.contains(ctrl)
Summary: Don't eliminate Integer::toString() call node during String concatenation optimization if it has several uses.
Reviewed-by: twisti


# 3454:751bd303aa45 26-Jun-2012 kvn

7179138: Incorrect result with String concatenation optimization
Summary: check for and skip diamond shaped NULL check code for the result of toString()
Reviewed-by: twisti, roland


# 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


# 3311:df3d4a91f7f6 18-Apr-2012 never

7161796: PhaseStringOpts::fetch_static_field tries to fetch field from the Klass instead of the mirror
Reviewed-by: twisti


# 2492:2b27ef5c2173 20-May-2011 kvn

7046096: SEGV IN C2 WITH 6U25
Summary: Missing fail flag set in strings concatenation code.
Reviewed-by: never


# 2380:01fd6090fdd8 28-Apr-2011 never

7032162: assert(flat != TypePtr::BOTTOM) failed: cannot alias-analyze an untyped ptr
Reviewed-by: kvn


# 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


# 2232:0e3ed5a14f73 25-Mar-2011 jcoomes

Merge


# 2230:9dc311b8473e 21-Mar-2011 kvn

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


# 2226:b099aaf51bf8 22-Mar-2011 jcoomes

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


# 1978:2ddb2fab82cb 28-Dec-2010 kvn

7009359: HS with -XX:+AggressiveOpts optimize new StringBuffer(null) so it does not throw NPE as expected
Summary: Bailout StringConcat optimization if null is passed to StringBuffer constructor.
Reviewed-by: iveresov


# 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


# 1737:c40600e85311 23-Sep-2010 never

6986028: assert(_base == Int) failed: Not an Int in CmpINode::sub
Reviewed-by: kvn, twisti


# 1668:3e8fbc61cee8 25-Aug-2010 twisti

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


# 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


# 1250:3f5b7efb9642 05-Feb-2010 never

6920293: OptimizeStringConcat causing core dumps
Reviewed-by: kvn, twisti


# 1080:7c57aead6d3e 12-Nov-2009 never

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