History log of /openjdk10/hotspot/src/share/vm/opto/lcm.cpp
Revision Date Author Comments
# 13502:316854ef2fa2 24-Aug-2017 martin

8174050: Compilation errors with clang-4.0
Reviewed-by: kvn


# 13254:c044f8d03932 05-Jul-2017 jwilhelm

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


# 12718:fa10bec35262 20-Mar-2017 mdoerr

8176518: C2: Invalid ImplicitNullChecks with non-protected heap base
Summary: Avoid generating implicit null checks if heap base is not protected
Reviewed-by: zmajo


# 12272:dab623e5a387 10-Oct-2016 roland

8167300: Scheduling failures during gcm should be fatal
Reviewed-by: kvn, mcberg


# 11885:6f10754f85d9 18-Aug-2016 kvn

8162496: missing precedence edge for anti_dependence
Summary: fix Implicit Null Check optimization code.
Reviewed-by: roland, aph


# 11734:f6c7981c093e 23-Jun-2016 aph

8157306: Random infrequent null pointer exceptions in javac
Reviewed-by: kvn


# 10348:e3dbb1e46e26 29-Feb-2016 redestad

8150720: Cleanup code around PrintOptoStatistics
Reviewed-by: kvn, shade, vlivanov


# 9994:f6615ec051d9 08-Jan-2016 mdoerr

8146612: C2: Precedence edges specification violated
Reviewed-by: kvn


# 9498:d146c259155a 18-Nov-2015 goetz

8143307: Crash in C2 local code motion
Reviewed-by: kvn


# 9293:a20807e48002 06-Nov-2015 neliasso

Merge


# 9283:f31349f1215e 03-Nov-2015 thartmann

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


# 9244:825cee2cd7a6 22-Oct-2015 goetz

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


# 9016:10e79692c25e 16-Sep-2015 mcberg

8134802: LCM register pressure scheduling
Summary: Calculate register pressure in a block to help instructions scheduling.
Reviewed-by: kvn, dlong


# 7864:6a5be7f00868 13-Feb-2015 stefank

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


# 7576:f1cb27c85c83 12-Dec-2014 thartmann

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


# 7314:b8bcacc8ccca 03-Nov-2014 kvn

8059780: SPECjvm2008-MPEG performance regressions on x64 platforms
Summary: Back-out 8052081 changes made in lcm.cpp.
Reviewed-by: iveresov, roland


# 6839:76913ad3cd41 05-Aug-2014 kvn

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


# 6760:22b98ab2a69f 04-Jul-2014 goetz

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


# 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


# 6049:cd5d10655495 22-Jan-2014 rbackman

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


# 6010:abec000618bf 28-Jan-2014 kvn

Merge


# 5990:b0133e4187d3 21-Nov-2013 goetz

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


# 5976:2b8e28fdf503 05-Nov-2013 kvn

Merge


# 5966:e2722a66aba7 05-Sep-2013 kvn

Merge


# 5945:d2907f74462e 20-Jun-2013 goetz

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


# 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


# 5356:c9ccd7b85f20 27-Sep-2013 rbackman

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


# 5207:a9a968364704 02-Sep-2013 adlertz

8024095: Missing brackets in local scheduling code.
Summary: Added brackets for if-statement
Reviewed-by: kvn, roland


# 5204:4b078f877b56 01-Sep-2013 adlertz

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


# 5200:650868c062a9 25-Aug-2013 adlertz

8023691: Create interface for nodes in class Block
Summary: Create public methods for accessing the nodes in a block
Reviewed-by: kvn, roland


# 5104:adb9a7d94cb5 16-Aug-2013 adlertz

8023003: Cleanup the public interface to PhaseCFG
Summary: public methods that don't need to be public should be private.
Reviewed-by: kvn, twisti


# 5074:d1034bd8cefc 07-Aug-2013 adlertz

8022284: Hide internal data structure in PhaseCFG
Summary: Hide private node to block mapping using public interface
Reviewed-by: kvn, roland


# 4676:70120f47d403 09-May-2013 kvn

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


# 4256:571076d3c79d 05-Mar-2013 shade

8009120: Fuzz instruction scheduling in HotSpot compilers
Reviewed-by: kvn, vlivanov


# 4044:b30b3c2a0cf2 22-Jan-2013 kvn

6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86
Summary: Use SSE4.2 and AVX2 instructions for encodeArray intrinsic.
Reviewed-by: roland


# 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


# 3724:8e47bac5643a 09-Oct-2012 roland

7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti


# 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


# 3447:8c92982cbbc4 15-Jun-2012 kvn

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


# 3012:cf407b7d3d78 25-Jan-2012 roland

7116050: C2/ARM: memory stomping error with DivideMcTests
Summary: Block::schedule_local() may write beyond end of ready_cnt array
Reviewed-by: never, kvn


# 2881:f03a3c8bd5e5 14-Sep-2011 roland

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


# 2605:c7b60b601eb4 27-Jul-2011 kvn

7069452: Cleanup NodeFlags
Summary: Remove flags which duplicate information in Node::NodeClasses.
Reviewed-by: never


# 2558:7d9e451f5416 06-Jul-2011 jcoomes

7061187: need some includes for arm/ppc
Reviewed-by: dholmes, never, jwilhelm, kvn


# 2349:92add02409c9 08-Apr-2011 jmasa

Merge


# 2345:e6beb62de02d 05-Apr-2011 never

7032963: StoreCM shouldn't participate in store elimination
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


# 2248:7e88bdae86ec 25-Mar-2011 roland

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


# 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


# 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


# 1613:6c9cc03d8726 11-Aug-2010 kvn

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


# 1605:0e35fa8ebccd 03-Aug-2010 kvn

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


# 1499:e9ff18c4ace7 02-Jun-2010 jrose

Merge


# 1495:3657cb01ffc5 02-Jun-2010 kvn

6954029: Improve implicit null check generation with compressed oops
Summary: Hoist DecodeN instruction above null check
Reviewed-by: never, twisti


# 1472:c18cbe5936b8 27-May-2010 trims

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


# 1151:1271af4ec18c 07-Jan-2010 kvn

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


# 1137:97125851f396 05-Jan-2010 twisti

6829187: compiler optimizations required for JSR 292
Summary: C2 implementation for invokedynamic support.
Reviewed-by: kvn, never


# 1100:f96a1a986f7b 09-Dec-2009 kvn

6895383: JCK test throws NPE for method compiled with Escape Analysis
Summary: Add missing checks for MemBar nodes in EA.
Reviewed-by: never


# 681:fbde8ec322d0 31-Mar-2009 cfang

6761600: Use sse 4.2 in intrinsics
Summary: Use SSE 4.2 in intrinsics for String.{compareTo/equals/indexOf} and Arrays.equals.
Reviewed-by: kvn, never, jrose


# 647:bd441136a5ce 19-Mar-2009 kvn

Merge


# 642:660978a2a31a 12-Mar-2009 kvn

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


# 579:0fbdb4381b99 09-Mar-2009 xdono

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


# 558:3b5ac9e7e6ea 26-Jan-2009 twisti

6796746: rename LoadC (char) opcode class to LoadUS (unsigned short)
Summary: Renaming LoadC to LoadUS would round up the planned introduction of LoadUB and LoadUI.
Reviewed-by: phh, kvn


# 365:5f44674206d3 24-Sep-2008 apetrusenko

Merge


# 356:1ee8caae33af 21-Aug-2008 tonyp

Merge


# 344:6aae2f9d0294 12-Jun-2008 ysr

Merge


# 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


# 332:c792b641b8bd 10-Sep-2008 kvn

6746907: Improve implicit null check generation
Summary: add missing implicit null check cases.
Reviewed-by: never


# 253:b0fe4deeb9fb 28-Jul-2008 kvn

6726999: nsk/stress/jck12a/jck12a010 assert(n != null,"Bad immediate dominator info.")
Summary: Escape Analysis fixes.
Reviewed-by: never, rasbold


# 196:d1605aabd0a1 02-Jul-2008 xdono

6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell


# 169:9148c65abefc 29-May-2008 rasbold

6695049: (coll) Create an x86 intrinsic for Arrays.equals
Summary: Intrinsify java/util/Arrays.equals(char[], char[])
Reviewed-by: kvn, never


# 164:c436414a719e 21-May-2008 kvn

6703890: Compressed Oops: add LoadNKlass node to generate narrow oops (32-bits) compare instructions
Summary: Add LoadNKlass and CMoveN nodes, use CmpN and ConN nodes to generate narrow oops compare instructions.
Reviewed-by: never, rasbold


# 125:d942c7e64bd9 23-Apr-2008 never

6601321: Assert(j == 1 || b->_nodes[j-1]->is_Phi(),"CreateEx must be first instruction in block")
Reviewed-by: kvn, rasbold, sgoldman, jrose


# 113:ba764ed4b6f2 13-Apr-2008 coleenp

6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv
Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold


# 0:a61af66fc99e 30-Nov-2007 duke

Initial load