History log of /openjdk10/hotspot/src/share/vm/opto/node.hpp
Revision Date Author Comments
# 11737:72bb9cb86707 27-Jul-2016 dlong

8160742: Node::operator new invokes undefined behavior
Summary: remove obsolete asserts
Reviewed-by: kvn


# 10995:ccfc68592c92 18-Apr-2016 mcberg

8153998: Masked vector post loops
Summary: Masked vectorization for post loops to execute in a single iteration in place of fixup scalar loops which used to take many iterations to complete work for user loops.
Reviewed-by: twisti, kvn


# 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


# 10033:037c9f7ff320 18-Jan-2016 roland

8146999: hotspot/test/compiler/c2/8007294/Test8007294.java test nightly failure
Summary: uncast() fails with CheckCastPP
Reviewed-by: kvn, thartmann


# 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


# 10006:d9d0a63499ce 11-Jan-2016 thartmann

8146629: Make phase->is_IterGVN() accessible from Node::Identity and Node::Value
Summary: Change arguments of Node::Identity() and Node::Value() from PhaseTransform* to PhaseGVN*.
Reviewed-by: kvn, roland


# 9994:f6615ec051d9 08-Jan-2016 mdoerr

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


# 9772:a6eb7b850dbd 10-Dec-2015 vlivanov

8144935: C2: safepoint is pruned from a non-counted loop
Reviewed-by: roland


# 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


# 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


# 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


# 8797:6ad64d95053d 18-Mar-2015 mhaupt

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


# 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


# 8168:f5fae6f265e2 17-Mar-2015 roland

8073480: C2 should optimize explicit range checks
Summary: explicit range checks should be recognized by C2
Reviewed-by: kvn, vlivanov


# 7738:b0ce179e4a01 19-Jan-2015 iveresov

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


# 7733:f1340404713a 19-Jan-2015 zmajo

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


# 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


# 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


# 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


# 6413:f88688d5c78c 07-May-2014 zgu

8041415: remove port.{cpp,hpp} files
Summary: Hotspot should use standard headers and types
Reviewed-by: coleenp, kvn


# 6297:c86f5b83df67 11-Apr-2014 iveresov

8038297: Avoid placing CTI immediately following cbcond instruction on T4
Summary: Insert a nop between cbcond and CTI
Reviewed-by: kvn, twisti


# 6049:cd5d10655495 22-Jan-2014 rbackman

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


# 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


# 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


# 5562:59e8ad757e19 18-Oct-2013 rbackman

8026844: Various Math functions needs intrinsification
Reviewed-by: kvn, twisti


# 5356:c9ccd7b85f20 27-Sep-2013 rbackman

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


# 5208:3bfb204913de 05-Sep-2013 adlertz

Merge


# 5191:766fac3395d6 23-Aug-2013 kvn

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


# 5179:9758d9f36299 29-Aug-2013 coleenp

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


# 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


# 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


# 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


# 4043:a7114d3d712e 22-Jan-2013 kvn

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


# 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


# 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


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


# 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


# 2972:35acf8f0a2e4 10-Jan-2012 kvn

7128352: assert(obj_node == obj) failed
Summary: Compare uncasted object nodes.
Reviewed-by: never


# 2957:1dc233a8c7fe 20-Dec-2011 roland

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


# 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


# 2703:f6f3bb0ee072 11-Sep-2011 never

7088955: add C2 IR support to the SA
Reviewed-by: 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


# 2614:95134e034042 11-Aug-2011 kvn

7063629: use cbcond in C2 generated code on T4
Summary: Use new short branch instruction in C2 generated code.
Reviewed-by: never


# 2605:c7b60b601eb4 27-Jul-2011 kvn

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


# 2550:e3cbc9ddd434 28-Jun-2011 kvn

7044738: Loop unroll optimization causes incorrect result
Summary: take into account memory dependencies when clonning nodes in clone_up_backedge_goo().
Reviewed-by: never


# 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


# 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


# 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


# 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


# 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


# 400:cc80376deb0c 02-Oct-2008 kvn

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


# 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


# 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


# 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


# 128:a76240c8b133 28-Apr-2008 rasbold

Merge


# 126:72f4a668df19 23-Apr-2008 kvn

6625997: CastPP, CheckCastPP and Proj nodes are not dead loop safe
Summary: EA and initialization optimizations could bypass these nodes.
Reviewed-by: rasbold, never


# 122:ec73d88d5b43 23-Apr-2008 kamg

Merge


# 119:d1a5218d7eaf 16-Apr-2008 kvn

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


# 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


# 85:f3b3fe64f59f 15-Apr-2008 kvn

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


# 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


# 63:eac007780a58 13-Mar-2008 kvn

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


# 40:7c1f32ae4a20 06-Mar-2008 kvn

6670459: Fix Node::dump() performance
Summary: dump full ideal graph takes forever.
Reviewed-by: never, rasbold


# 33:3288958bf319 29-Feb-2008 kvn

6667580: Optimize CmpP for allocations
Summary: CmpP could be optimized out if it compares new allocated objects.
Reviewed-by: jrose, never, rasbold


# 0:a61af66fc99e 30-Nov-2007 duke

Initial load