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

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


# 11291:14556dc62f47 02-May-2016 goetz

8140594: Various minor code improvements (compiler)
Summary: Various minor code improvements (compiler)
Reviewed-by: thartmann, kvn


# 10485:6daf6d082fd0 15-Mar-2016 thartmann

8150804: C2 Compilation fails with assert(_base >= OopPtr && _base <= AryPtr) failed: Not a Java pointer
Summary: Wait with removing casts from inputs in PhiNode::ideal() until after parsing for the type information to propagate.
Reviewed-by: kvn


# 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


# 9823:26c866d173c2 27-Dec-2015 hshi

8144993: Elide redundant memory barrier after AllocationNode
Summary: Elide memory barrier for AllocationNode when it doesn't escape in initializer and has an MemBarRelease node at exit of initializer method.
Reviewed-by: aph, mdoerr, goetz, kvn, asiebenborn


# 9752:9988b390777b 04-Dec-2015 vlivanov

8072008: Emit direct call instead of linkTo* for recursive indy/MH.invoke* calls
Reviewed-by: jrose, dlong, aph, forax


# 9457:1d42c245cc87 10-Nov-2015 shade

8140650: Method::is_accessor should cover getters and setters for all types
Reviewed-by: vlivanov, coleenp, sgehwolf


# 8858:78c4bc2839bf 14-Aug-2015 roland

8130847: Cloned object's fields observed as null after C2 escape analysis
Summary: Eliminated instance/array written to by an array copy variant must be correctly initialized when reallocated at a deopt
Reviewed-by: kvn, vlivanov


# 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


# 8639:b430ee406c9d 24-Jun-2015 coleenp

Merge


# 8638:767f36deb0dc 23-Jun-2015 bpittore

8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Summary: Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett


# 8519:d13ecb236a97 08-Jun-2015 roland

8086016: closed/java/text/Format/NumberFormat/BigDecimalCompatibilityTest.java is crashing
Summary: Trying to transform ArrayCopyNode in dying part of the graph
Reviewed-by: kvn


# 8517:fe9f9e33fe95 12-Jun-2015 roland

8086046: escape analysis generates incorrect code as of B67
Summary: load bypasses arraycopy that sets the value after the ArrayCopyNode is expanded
Reviewed-by: kvn


# 8491:7c56d384ed33 22-May-2015 roland

8080699: Assert failed: Not a Java pointer in JCK test
Summary: Eliminated arraycopy node still reachable through exception edges
Reviewed-by: kvn


# 8384:c78f961f7edb 12-May-2015 roland

8076188: Optimize arraycopy out for non escaping destination
Summary: if the destination of an arraycopy is non escaping, the arraycopy may be optimized out
Reviewed-by: kvn, vlivanov


# 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


# 7869:840306ef66e4 17-Feb-2015 drchase

8069412: Locks need better debug-printing support
Summary: Added better debug-printing support and enhanced LogCompilation tool
Reviewed-by: kvn, roland, dholmes


# 7820:122b9c0f6a86 30-Jan-2015 roland

8071533: assert(n0->is_Call()) failed: expect a call here
Summary: remove_dead_region() call missing from ArrayCopyNode::Ideal()
Reviewed-by: kvn, vlivanov


# 7646:acfdd92cedaa 16-Dec-2014 roland

6700100: optimize inline_native_clone() for small objects with exact klass
Summary: optimize small instance clones as loads/stores
Reviewed-by: kvn, iveresov


# 7590:fd55c0f2c200 19-Dec-2014 vlivanov

8067338: compiler/debug/TraceIterativeGVN.java segfaults
Reviewed-by: kvn


# 7282:3fb2dd37c0bb 24-Oct-2014 vlivanov

8036748: assert(_base == Int) failed: Not an Int w/ -XX:+TraceIterativeGVN
Reviewed-by: kvn, roland


# 6998:4b78b9dddd05 29-Aug-2014 roland

8055910: closed/java/util/Collections/CheckedCollections.java failed with ClassCastException not thrown
Summary: missing subtype check for Arrays.copyOf intrinsic
Reviewed-by: kvn, iveresov


# 6917:29999b8709a4 19-Aug-2014 roland

8055153: nsk/stress/jck60/jck60014 crashes on sparc
Summary: missing control for LoadRange and LoadKlass nodes created during arraycopy node expansion
Reviewed-by: kvn, iveresov


# 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


# 6842:c82d0e6f53cd 01-Aug-2014 roland

8046698: assert(false) failed: only Initialize or AddP expected macro.cpp:943
Summary: PhiNode inserted between AllocateNode and Initialization node confuses allocation elimination
Reviewed-by: kvn


# 6818:c349d53cbc8b 24-Jul-2014 anoll

8050860: Cleanup TypeTuple and TypeFunc
Summary: Declared fields TypeFunc::_domain, TypeFunc::_range, TypeTuple::_cnt and TypeTuple::_fields private, changed direct accesses to fields to use accessor methods.
Reviewed-by: kvn, vlivanov
Contributed-by: Zoltan Majo <zoltan.majo@oracle.com>


# 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


# 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


# 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


# 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


# 6010:abec000618bf 28-Jan-2014 kvn

Merge


# 6003:ad6695638a35 20-Dec-2013 goetz

8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms
Summary: Add ConstantTableBase node edge after parameters and before jvms. Adapt jvms offsets.
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


# 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


# 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


# 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


# 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


# 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


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


# 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


# 2984:b0ff910edfc9 12-Jan-2012 kvn

7128355: assert(!nocreate) failed: Cannot build a phi for a block already parsed
Summary: Do not common BoxLock nodes and avoid creating phis of boxes.
Reviewed-by: never


# 2972:35acf8f0a2e4 10-Jan-2012 kvn

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


# 2971:e9a5e0a812c8 07-Jan-2012 kvn

7125896: Eliminate nested locks
Summary: Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.
Reviewed-by: never, twisti


# 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


# 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


# 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


# 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


# 1080:7c57aead6d3e 12-Nov-2009 never

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


# 1040:873ec3787992 21-Oct-2009 kvn

6892186: SA does not dump debug info for scalar replaced objects
Summary: Implement scalar replaced objects debug info dump in SA.
Reviewed-by: twisti


# 931:72088be4b386 20-Aug-2009 cfang

6873116: Modify reexecute implementation to use pcDesc to record the reexecute bit
Summary: use PcDesc to keep record of the reexecute bit instead of using DebugInfoStreams
Reviewed-by: kvn, never, twisti


# 903:15bbd3f505c0 06-Aug-2009 kvn

Merge


# 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


# 844:bd02caa94611 28-Jul-2009 xdono

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


# 704:ad8c635e757e 03-Apr-2009 kvn

6823453: DeoptimizeALot causes fastdebug server jvm to fail with assert(false,"unscheduable graph")
Summary: Use a HaltNode on the fall through path of the AllocateArrayNode to indicate that it is unreachable if the array length is negative.
Reviewed-by: never, jrose


# 601:523ded093c31 26-Feb-2009 kvn

6809798: SafePointScalarObject node placed into incorrect block during GCM
Summary: Replace the control edge of a pinned node before scheduling.
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


# 366:8261ee795323 17-Sep-2008 rasbold

6711100: 64bit fastdebug server vm crashes with assert(_base == Int,"Not an Int")
Summary: insert CastII nodes to narrow type of load_array_length() node
Reviewed-by: never, kvn


# 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


# 305:ab075d07f1ba 27-Aug-2008 kvn

6736417: Fastdebug C2 crashes in StoreBNode::Ideal
Summary: The result of step_through_mergemem() and remove_dead_region() is not checked in some cases.
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


# 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


# 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


# 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


# 74:2a9af0b9cb1c 20-Mar-2008 kvn

6674600: (Escape Analysis) Optimize memory graph for instance's fields
Summary: EA gives opportunite to do more aggressive memory optimizations.
Reviewed-by: never, jrose


# 66:6dbf1a175d6b 14-Mar-2008 kvn

6672848: (Escape Analysis) improve lock elimination with EA
Summary: Remove lock/unlock MemBar nodes and specify locks in debug info for deoptimization.
Reviewed-by: never


# 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


# 39:76256d272075 06-Mar-2008 kvn

6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation
Summary: Cloning an allocation will not allow scalar replacement since memory operations could not be associated with one allocation.
Reviewed-by: rasbold


# 0:a61af66fc99e 30-Nov-2007 duke

Initial load