History log of /openjdk9/hotspot/src/share/vm/opto/compile.cpp
Revision Date Author Comments
# 12548:152d10166ff8 18-Jan-2017 thartmann

8172884: TraceOptoPipelining and TraceOptoOutput are broken
Summary: Compiler Control code needs not set the default values for the directive according to the flag value.
Reviewed-by: neliasso, redestad


# 12269:276657e0e3b4 31-Oct-2016 thartmann

8168770: Fix for 8151988 causes performance regression on SPARC
Summary: Reversed and re-implemented fix for 8151988 to eagerly cut off control input of Div and Mod nodes.
Reviewed-by: kvn


# 12138:4c7c4d8333ac 22-Sep-2016 goetz

8166562: C2: Suppress relocations in scratch emit.
Reviewed-by: kvn


# 12126:5baf89bc0a4b 29-Apr-2016 mdoerr

8155729: C2: Skip transformation of LoadConP for heap-based compressed oops
Reviewed-by: kvn


# 11904:bde4bcd58309 24-Aug-2016 vlivanov

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


# 11900:60e84c7db2f7 23-Aug-2016 vdeshpande

8151988: Hotspot deoptimizes div/mod pair usage
Summary: don't remove control edge of Mod node until DivMod node matching
Reviewed-by: kvn


# 11688:37efe81d1858 30-Jun-2016 thartmann

8160425: Vectorization with signalling NaN returns wrong result
Summary: Should not use doubles/floats for vector constants in the C code.
Reviewed-by: kvn, vlivanov


# 11527:a3f37fa839a1 20-Jun-2016 cvarming

8159720: Failure of C2 compilation with tiered prevents some C1 compilations.
Summary: If C2 fails to compile a method with tiered compilation, then it should mark the method as not compileable on the C2 tier only.
Reviewed-by: twisti, thartmann


# 11515:aa5cd232c161 15-Jun-2016 shade

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


# 11232:064d18bc1889 09-May-2016 roland

8154826: AArch64: take advantage better of base + shifted offset addressing mode
Summary: reshape address subtree to fit aarch64 addressing mode
Reviewed-by: kvn, aph


# 11182:05d358b254ad 29-Apr-2016 roland

8154943: AArch64: redundant address computation instructions with vectorization
Summary: duplicated i2l nodes can be eliminated to optimize redundant address computations
Reviewed-by: kvn, dlong


# 11086:003924155da8 28-Apr-2016 mdoerr

8154836: VM crash due to "Base pointers must match"
Summary: Improve the handling of AddP nodes in final graph reshaping.
Reviewed-by: kvn, zmajo


# 11079:69d081845165 26-Apr-2016 rbackman

8151956: Support non-continuous CodeBlobs in HotSpot
Reviewed-by: iveresov, thartmann, simonis


# 11077:79dae2cd00ef 25-Apr-2016 vlivanov

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


# 10762:ea81fe138932 03-Apr-2016 jprovino

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


# 10328:8b9fdaeb8c57 23-Feb-2016 shade

8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
Reviewed-by: psandoz, kvn, jrose, adinn, simonis, coleenp


# 10327:dfa7d9934ab4 23-Feb-2016 roland

8007986: GrowableArray should implement binary search
Summary: binary search method for GrowableArray
Reviewed-by: vlivanov, jrose


# 10031:2a2916923394 18-Jan-2016 never

8147433: PrintNMethods no longer works with JVMCI
Reviewed-by: kvn, twisti


# 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


# 10000:9e17d9e4b59f 11-Dec-2015 roland

8139771: Eliminating CastPP nodes at Phis when they all come from a unique input may cause crash
Summary: Lost dependency when CastPP at Phis are eliminate
Reviewed-by: kvn


# 9737:e286c9ccd58d 11-Dec-2015 fparain

8046936: JEP 270: Reserved Stack Areas for Critical Sections
Reviewed-by: acorn, dcubed


# 9615:da497ea6c120 01-Dec-2015 zmajo

8129847: Compiling methods generated by Nashorn triggers high memory usage in C2
Summary: Add a new compiler phase, PhaseRenumberLive, that renumbers live nodes.
Reviewed-by: kvn, thartmann, vlivanov, shade


# 9499:d91e023b7294 24-Nov-2015 neliasso

Merge


# 9473:5132864a5d5f 13-Nov-2015 neliasso

Merge


# 9462:231763c1883e 11-Nov-2015 twisti

8140424: don't prefix developer and notproduct flag variables with CONST_ in product builds
Reviewed-by: goetz, stefank


# 9452:8faaeb9dbb96 09-Nov-2015 roland

8137168: Replace IfNode with a new RangeCheckNode for range checks
Summary: new RangeCheckNode to enable optimization of explicit library level range checks
Reviewed-by: kvn, thartmann


# 9436:1191af6137ed 17-Nov-2015 kbarrett

8143014: Access PtrQueue member offsets through derived classes
Summary: Moved accessors to derived classes and updated callers.
Reviewed-by: tschatzl, jmasa, twisti


# 9281:e33baf2cad34 05-Nov-2015 jwilhelm

Merge


# 9244:825cee2cd7a6 22-Oct-2015 goetz

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


# 9209:ae64ff428e18 26-Oct-2015 iveresov

8139340: SuperWord enhancement to support vector conditional move (CMovVD) on Intel AVX cpu
Summary: Emit vector conditional moves
Reviewed-by: kvn
Contributed-by: jan.civlin@intel.com


# 9191:a176d4737606 20-Oct-2015 neliasso

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


# 9149:a8a8604f890f 17-Oct-2015 dlong

Merge


# 9111:a41fe5ffa839 08-Oct-2015 twisti

8136421: JEP 243: Java-Level JVM Compiler Interface
Reviewed-by: ihse, alanb, roland, coleenp, iveresov, kvn, kbarrett


# 9109:09fb2c936faa 07-Oct-2015 zmajo

8137160: Use Compile::live_nodes instead of Compile::unique() in appropriate places -- followup
Summary: Change two code locations to use live_nodes() instead of unique() for allocating memory. Adjust comments.
Reviewed-by: kvn


# 9080:00e5743fd189 06-Oct-2015 jwilhelm

Merge


# 9056:dc9930a04ab0 29-Sep-2015 david

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


# 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


# 8829:af60f1cb36f2 10-Aug-2015 kvn

8011858: Use Compile::live_nodes() instead of Compile::unique() in appropriate places
Reviewed-by: kvn, vlivanov
Contributed-by: vlad.ureche@gmail.com


# 8795:118468cea331 29-Jul-2015 thartmann

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


# 8514:5a9d5d58e667 11-Jun-2015 vlivanov

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


# 8379:bd72804c91d6 08-May-2015 kvn

8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com


# 8348:2032f163aec9 05-May-2015 kvn

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


# 8285:d11fb4e8a82e 24-Mar-2015 roland

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


# 8196:6fff5df5f3d2 01-Apr-2015 kvn

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


# 7939:ff87d12995da 24-Feb-2015 vlivanov

Merge


# 7935:54e0f8b411a8 18-Feb-2015 roland

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


# 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


# 7645:7dfa629d203a 22-Dec-2014 roland

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


# 7448:7dd010c9fab1 24-Nov-2014 vlivanov

8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
Reviewed-by: kvn, roland


# 7447:465683c6b769 24-Nov-2014 thartmann

8065339: Failed compilation does not always trigger a JFR event 'CompilerFailure'
Summary: CompilerFailure JFR event should be triggered in ciEnv.
Reviewed-by: kvn


# 7280:956bdea3c7e0 24-Oct-2014 anoll

8046809: vm/mlvm/meth/stress/compiler/deoptimize CodeCache is full.
Summary: Use separate sweeper thread; enables more aggressive sweeping.
Reviewed-by: kvn, jrose


# 7218:8a8f6e7c5180 15-Oct-2014 zmajo

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


# 7201:67bac0961e96 06-Oct-2014 anoll

8059331: Print additional information for the assert in Compile::start()
Summary: Add additional output that shows the failure reason
Reviewed-by: kvn


# 7151:86dd08e14945 30-Sep-2014 thartmann

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


# 7145:e17112236cba 24-Sep-2014 shade

8058968: Compiler time traces should be improved
Summary: Use CITime consistently, make C2 to report to CompilerBroker, more probes.
Reviewed-by: vlivanov, jrose


# 7081:39231c6e51fe 17-Sep-2014 thartmann

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


# 7030:51e474c55d20 04-Sep-2014 shade

8050147: StoreLoad barrier interferes with stack usages
Reviewed-by: jrose, kvn, drchase


# 6912:c3616819585c 15-Aug-2014 kvn

Merge


# 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


# 6854:73d3be1f503d 11-Aug-2014 zgu

Merge


# 6853:91eeb8807a03 07-Aug-2014 zgu

8046598: Scalable Native memory tracking development
Summary: Enhance scalability of native memory tracking
Reviewed-by: coleenp, ctornqvi, gtriantafill


# 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


# 6821:f385f44a27ac 25-Jul-2014 anoll

Merge


# 6820:c1d7ba5b5d45 25-Jul-2014 thartmann

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


# 6761:739468857ffb 14-Jul-2014 coleenp

Merge


# 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


# 6710:2bdf0032cd5a 03-Jul-2014 thartmann

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


# 6633:5ebb6694ed7b 20-Jun-2014 thartmann

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


# 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


# 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


# 6496:3a210a641062 26-May-2014 roland

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


# 6430:975d903e1de3 13-May-2014 iveresov

8032463: VirtualDispatch test timeout with DeoptimizeALot
Summary: Introduce code aging for warm method detection
Reviewed-by: kvn, twisti


# 6412:53a41e7cbe05 09-May-2014 drchase

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


# 6393:bd1a985905ed 02-May-2014 kvn

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


# 6307:cfa802bad1d8 01-Apr-2014 roland

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


# 6291:b722c15be816 10-Apr-2014 roland

8005079: fix LogCompilation for incremental inlining
Summary: report late inlining as part of the rest of the inlining output
Reviewed-by: twisti, kvn


# 6290:b9d45b765b60 10-Apr-2014 anoll

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>


# 6248:33cc0d9740a8 09-Apr-2014 roland

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


# 6219:12cd03f831d8 01-Apr-2014 morris

8001532: C2 node files refactoring
Summary: Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris


# 6182:2f459c5235f9 20-Mar-2014 kvn

8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed


# 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


# 6049:cd5d10655495 22-Jan-2014 rbackman

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


# 6011:45467c53f178 28-Jan-2014 kvn

Merge


# 6010:abec000618bf 28-Jan-2014 kvn

Merge


# 5994:41b780b43b74 27-Nov-2013 goetz

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


# 5992:4cdf4f71177d 22-Nov-2013 goetz

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


# 5989:da862781b584 21-Nov-2013 kvn

Merge


# 5982:044b28168e20 14-Nov-2013 goetz

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


# 5976:2b8e28fdf503 05-Nov-2013 kvn

Merge


# 5966:e2722a66aba7 05-Sep-2013 kvn

Merge


# 5946:b5c8a61d7fa0 21-Jun-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


# 5938:17ec2d5c43e8 24-Jan-2014 shade

8032490: Remove -XX:+-UseOldInlining
Summary: Move the option to obsolete options list, purge the redundant compiler code.
Reviewed-by: kvn, jrose


# 5937:5ec7dace41a6 24-Jan-2014 roland

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


# 5785:183bd5c00828 08-Jan-2014 kvn

8028468: Add inlining information into ciReplay
Summary: Allow dump and replay inlining for specified method during a program execution.
Reviewed-by: roland, twisti


# 5636:613e6a6fc328 05-Nov-2013 iveresov

Merge


# 5635:94a83e0f9ce1 05-Nov-2013 iveresov

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


# 5633:e428d5e768e3 04-Nov-2013 rbackman

8027622: java.time.Instant.create failing since hs25-b56
Reviewed-by: kvn, 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


# 5553:435c7b4577cd 21-Oct-2013 rbackman

8026959: assert(!n->pinned() || n->is_MachConstantBase()) failed: only pinned MachConstantBase node is expected here
Reviewed-by: iveresov, roland


# 5546:3213ba4d3dff 18-Oct-2013 roland

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


# 5492:4a2acfb16e97 10-Oct-2013 rbackman

8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
Reviewed-by: kvn, twisti


# 5328:1b64d46620a3 24-Sep-2013 kvn

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


# 5275:884ed7a10f09 16-Sep-2013 tschatzl

Merge


# 5259:7944aba7ba41 12-Aug-2013 ehelin

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


# 5223:edb5ab0f3fe5 10-Sep-2013 vlivanov

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


# 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


# 4802:f2110083203d 10-Jun-2013 sla

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


# 4675:6f3fd5150b67 08-May-2013 kvn

6934604: enable parts of EliminateAutoBox by default
Summary: Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti


# 4514:8373c19be854 16-Apr-2013 neliasso

8011621: live_ranges_in_separate_class.patch
Reviewed-by: kvn, roland
Contributed-by: niclas.adlertz@oracle.com


# 4454:cc32ccaaf47f 04-Apr-2013 mikael

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


# 4295:b7c2c5b2572c 13-Feb-2013 neliasso

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


# 4259:8651f608fea4 06-Mar-2013 roland

8009460: C2compiler crash in machnode::in_regmask(unsigned int)
Summary: 7121140 may not correctly break the Allocate -> MemBarStoreStore link
Reviewed-by: kvn


# 4256:571076d3c79d 05-Mar-2013 shade

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


# 4154:8b3da8d14c93 11-Feb-2013 roland

7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
Summary: Add support for expensive nodes.
Reviewed-by: kvn


# 4013:5b8548391bf3 15-Jan-2013 kvn

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


# 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


# 3883:cd3d6a6b95d9 30-Nov-2012 twisti

8003240: x86: move MacroAssembler into separate file
Reviewed-by: 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


# 3764:cfe522e6461c 17-Oct-2012 kvn

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


# 3725:f6badecb7ea7 09-Oct-2012 vlivanov

7199654: Remove LoadUI2LNode
Summary: Removed LoadUI2L node from Ideal nodes, use match rule in .ad files instead.
Reviewed-by: kvn


# 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


# 3719:c3e799c37717 05-Oct-2012 vlivanov

7177003: C1: LogCompilation support
Summary: add LogCompilation support in C1 - both client and tiered mode.
Reviewed-by: twisti, kvn


# 3680:e626685e9f6c 27-Sep-2012 kvn

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


# 3671:7eca5de9e0b6 20-Sep-2012 roland

7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose


# 3668:137868b7aa6f 17-Sep-2012 kvn

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


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


# 3571:5af51c882207 22-Aug-2012 kvn

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


# 3536:6c5b7a6becc8 30-Jul-2012 kvn

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


# 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


# 3411:8b0a4867acf0 12-Jun-2012 twisti

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


# 3219:dbd21c7c833f 13-Mar-2012 never

7152955: print_method crashes with null root
Reviewed-by: kvn, never
Contributed-by: nils.eliasson@oracle.com


# 3216:ee138854b3a6 12-Mar-2012 kvn

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


# 2961:d12a66fa3820 27-Dec-2011 kvn

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


# 2956:069ab3f976d3 07-Dec-2011 stefank

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


# 2954:669f6a7d5b70 19-Dec-2011 never

7121073: secondary_super_cache memory slice has incorrect bounds in flatten_alias_type
Reviewed-by: kvn


# 2876:1bd45abaa507 16-Nov-2011 kvn

6890673: Eliminate allocations immediately after EA
Summary: Try to eliminate allocations and related locks immediately after escape analysis.
Reviewed-by: never


# 2875:6729bbc1fcd6 16-Nov-2011 twisti

7003454: order constants in constant table by number of references in code
Reviewed-by: kvn, never, bdelsart


# 2825:670a74b863fc 09-Nov-2011 kvn

7107042: assert(no_dead_loop) failed: dead loop detected
Summary: Use dead nodes elimination code in PhaseIdealLoop before executing EA.
Reviewed-by: never, twisti


# 2664:c124e2e7463e 31-Aug-2011 never

7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn


# 2616:11211f7cb5a0 16-Aug-2011 kvn

7079317: Incorrect branch's destination block in PrintoOptoAssembly output
Summary: save/restore label and block in scratch_emit_size()
Reviewed-by: never


# 2602:3d42f82cd811 21-Jul-2011 kvn

7063628: Use cbcond on T4
Summary: Add new short branch instruction to Hotspot sparc assembler.
Reviewed-by: never, twisti, jrose


# 2551:7889bbcc7f88 28-Jun-2011 kvn

7047954: VM crashes with assert(is_Mem()) failed
Summary: cast constant array ptrs to bottom
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


# 2345:e6beb62de02d 05-Apr-2011 never

7032963: StoreCM shouldn't participate in store elimination
Reviewed-by: kvn


# 2292:08eb13460b3a 02-Apr-2011 kvn

7004535: Clone loop predicate during loop unswitch
Summary: Clone loop predicate for clonned loops
Reviewed-by: never


# 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


# 2223:c7f3d0b4570f 18-Mar-2011 never

7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank


# 2073:b92c45f2bc75 02-Feb-2011 bobv

7016023: Enable building ARM and PPC from src/closed repository
Reviewed-by: dholmes, bdelsart


# 1979:51bd2d261853 29-Dec-2010 kvn

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


# 1915:2f644f85485d 03-Dec-2010 twisti

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


# 1914:5ddfcf4b079e 02-Dec-2010 iveresov

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


# 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


# 1703:d5d065957597 03-Sep-2010 iveresov

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


# 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


# 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


# 1554:60a14ad85270 02-Jul-2010 kvn

6966411: escape.cpp:450 assert(base->Opcode() == Op_ConP
Summary: Execute IGVN optimization before and after Escape Analysis
Reviewed-by: never


# 1529:4311f23817fd 15-Jun-2010 kvn

6959430: Make sure raw loads have control edge
Summary: check that raw loads have control edge
Reviewed-by: never, twisti


# 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


# 1397:b4776199210f 27-Apr-2010 never

6943485: JVMTI always on capabilities change code generation too much
Reviewed-by: twisti, dcubed


# 1265:b4b440360f1e 18-Feb-2010 twisti

6926782: CodeBuffer size too small after 6921352
Summary: After 6921352 the CodeBuffer size was too small.
Reviewed-by: kvn, never


# 1172:b2b6a9bf6238 12-Jan-2010 cfang

6894779: Loop Predication for Loop Optimizer in C2
Summary: Loop predication implementation
Reviewed-by: never, kvn


# 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


# 1080:7c57aead6d3e 12-Nov-2009 never

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


# 929:cd18bd5e667c 19-Aug-2009 never

6873777: FPU control word optimization still performed with SSE
Reviewed-by: kvn


# 921:046932b72aa2 14-Aug-2009 never

6862956: PhaseIdealLoop should have a CFG verification mode
Reviewed-by: kvn, twisti


# 859:ea3f9723b5cf 23-Jul-2009 kvn

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


# 856:75596850f863 21-Jul-2009 jrose

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


# 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


# 628:7bb995fbd3c0 12-Mar-2009 trims

Merge


# 624:337400e7a5dd 09-Mar-2009 twisti

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


# 605:98cb887364d3 27-Feb-2009 twisti

6810672: Comment typos
Summary: I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never


# 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


# 492:5496e074077f 18-Dec-2008 kvn

6787050: assert(n->in(0) == 0L,"no control") with UseCompressedOops on sparcv9
Summary: Relax the assert for Sparc.
Reviewed-by: never


# 490:dd70dd4c91de 16-Dec-2008 kvn

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


# 460:424f9bfe6b96 03-Dec-2008 kvn

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


# 420:a1980da045cc 07-Nov-2008 kvn

6462850: generate biased locking code in C2 ideal graph
Summary: Inline biased locking code in C2 ideal graph during macro nodes expansion
Reviewed-by: never


# 418:72c5366e5d86 06-Nov-2008 rasbold

6743900: frequency based block layout
Summary: post-register allocation pass that drives block layout by edge frequencies
Reviewed-by: never, kvn


# 417:f4fe12e429a4 30-Oct-2008 never

6764622: IdealGraphVisualizer fixes
Reviewed-by: rasbold, jrose


# 368:36ccc817fca4 23-Sep-2008 kvn

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


# 367:194b8e3a2fc4 17-Sep-2008 never

6384206: Phis which are later unneeded are impairing our ability to inline based on static types
Reviewed-by: rasbold, jrose


# 333:7484fa4b8825 15-Sep-2008 rasbold

Merge


# 331:cecd8eb4e0ca 10-Sep-2008 kvn

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


# 325:93befa083681 02-Sep-2008 coleenp

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


# 293:c3e045194476 01-Aug-2008 kvn

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


# 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


# 247:02a35ad4adf8 16-Jul-2008 kvn

6723160: Nightly failure: Error: meet not symmetric
Summary: Add missing _instance_id settings and other EA fixes.
Reviewed-by: rasbold


# 245:4a4c365f777d 11-Jul-2008 kvn

Merge


# 244:524eca34ea76 03-Jul-2008 kvn

6684714: Optimize EA Connection Graph build performance
Summary: switch on EA by default, optimize Connection Graph construction
Reviewed-by: rasbold, never


# 235:9c2ecc2ffb12 11-Jul-2008 trims

Merge


# 223:1dd146f17531 26-Jun-2008 kvn

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


# 222:2a1a77d3458f 24-Jun-2008 never

6718676: putback for 6604014 is incomplete
Reviewed-by: kvn, jrose


# 221:1e026f8da827 24-Jun-2008 kvn

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


# 196:d1605aabd0a1 02-Jul-2008 xdono

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


# 182:44abbb0d4c18 05-Jun-2008 kvn

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


# 168:7793bd37a336 29-May-2008 kvn

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


# 164:c436414a719e 21-May-2008 kvn

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


# 163:885ed790ecf0 21-May-2008 kvn

6695810: null oop passed to encode_heap_oop_not_null
Summary: fix several problems in C2 related to Escape Analysis and Compressed Oops.
Reviewed-by: never, jrose


# 127:e0bd2e08e3d0 24-Apr-2008 never

6663848: assert(i < Max(),"oob") in C2 with -Xcomp
Summary: NeverBranchNodes aren't handled properly
Reviewed-by: kvn, sgoldman, rasbold, 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


# 100:c7c777385a15 02-Apr-2008 jrose

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


# 65:99269dbf4ba8 14-Mar-2008 kvn

6674588: (Escape Analysis) Improve Escape Analysis code
Summary: Current EA code has several problems which have to be fixed.
Reviewed-by: jrose, sgoldman


# 38:b789bcaf2dd9 06-Mar-2008 kvn

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


# 0:a61af66fc99e 30-Nov-2007 duke

Initial load