Tobias Hartmann
69b52aa28b
8146629: Make phase->is_IterGVN() accessible from Node::Identity and Node::Value
...
Change arguments of Node::Identity() and Node::Value() from PhaseTransform* to PhaseGVN*.
Reviewed-by: kvn, roland
2016-01-12 12:55:09 +01:00
Hui Shi
3767315e75
8144993: Elide redundant memory barrier after AllocationNode
...
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
2015-12-27 05:15:14 -08:00
Vladimir Ivanov
d60a09e9c5
8072008: Emit direct call instead of linkTo* for recursive indy/MH.invoke* calls
...
Reviewed-by: jrose, dlong, aph, forax
2015-12-04 23:46:19 +03:00
Aleksey Shipilev
ac09d8a135
8140650: Method::is_accessor should cover getters and setters for all types
...
Reviewed-by: vlivanov, coleenp, sgehwolf
2015-11-11 01:27:36 +03:00
Roland Westrelin
0baf2f7e8a
8130847: Cloned object's fields observed as null after C2 escape analysis
...
Eliminated instance/array written to by an array copy variant must be correctly initialized when reallocated at a deopt
Reviewed-by: kvn, vlivanov
2015-08-15 02:54:18 +02:00
Michael Haupt
fd2f61a53f
8004073: Implement C2 Ideal node specific dump() method
...
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
2015-03-18 16:16:30 +01:00
Coleen Phillimore
ee01e4e88b
Merge
2015-06-24 21:58:05 -04:00
Bill Pittore
304b59b0c8
8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
...
Need to add a space between macro identifier and string literal
Reviewed-by: stefank, dholmes, kbarrett
2015-06-24 12:12:25 -04:00
Roland Westrelin
fd10da6423
8086016: closed/java/text/Format/NumberFormat/BigDecimalCompatibilityTest.java is crashing
...
Trying to transform ArrayCopyNode in dying part of the graph
Reviewed-by: kvn
2015-06-09 12:09:03 +02:00
Roland Westrelin
d7522fb084
8086046: escape analysis generates incorrect code as of B67
...
Load bypasses arraycopy that sets the value after the ArrayCopyNode is expanded
Reviewed-by: kvn
2015-06-12 14:10:17 +02:00
Roland Westrelin
0296c2894b
8080699: Assert failed: Not a Java pointer in JCK test
...
Eliminated arraycopy node still reachable through exception edges
Reviewed-by: kvn
2015-05-22 09:14:18 +02:00
Roland Westrelin
a9cdbd0407
8076188: Optimize arraycopy out for non escaping destination
...
If the destination of an arraycopy is non escaping, the arraycopy may be optimized out
Reviewed-by: kvn, vlivanov
2015-05-12 10:27:50 +02:00
Roland Westrelin
88848bd9e8
6912521: System.arraycopy works slower than the simple loop for little lengths
...
Convert small array copies to series of loads and stores
Reviewed-by: kvn, vlivanov
2015-02-18 18:14:07 +01:00
David Chase
46fa321d63
8069412: Locks need better debug-printing support
...
Added better debug-printing support and enhanced LogCompilation tool
Reviewed-by: kvn, roland, dholmes
2015-02-17 13:54:53 -05:00
Roland Westrelin
43bcdf4017
8071533: assert(n0->is_Call()) failed: expect a call here
...
Remove_dead_region() call missing from ArrayCopyNode::Ideal()
Reviewed-by: kvn, vlivanov
2015-01-30 15:23:41 +01:00
Roland Westrelin
2e82794bfa
6700100: optimize inline_native_clone() for small objects with exact klass
...
Optimize small instance clones as loads/stores
Reviewed-by: kvn, iveresov
2014-12-16 13:49:36 +01:00
Vladimir Ivanov
5fd1e54fc1
8067338: compiler/debug/TraceIterativeGVN.java segfaults
...
Reviewed-by: kvn
2014-12-19 16:42:40 -08:00
Vladimir Ivanov
916697af2c
8036748: assert(_base == Int) failed: Not an Int w/ -XX:+TraceIterativeGVN
...
Reviewed-by: kvn, roland
2014-10-24 09:14:41 -07:00
Roland Westrelin
fa27000f3c
8055910: closed/java/util/Collections/CheckedCollections.java failed with ClassCastException not thrown
...
Missing subtype check for Arrays.copyOf intrinsic
Reviewed-by: kvn, iveresov
2014-08-29 16:32:29 +02:00
Roland Westrelin
400f0f7a8f
8055153: nsk/stress/jck60/jck60014 crashes on sparc
...
Missing control for LoadRange and LoadKlass nodes created during arraycopy node expansion
Reviewed-by: kvn, iveresov
2014-08-19 17:23:38 +02:00
Roland Westrelin
a56ade07c7
7173584: Implement arraycopy as a macro node
...
Delay the conversion of arraycopy to stub calls to macro expansion
Reviewed-by: kvn, iveresov
2014-08-11 14:12:51 +02:00
Roland Westrelin
355f6eb4ae
8046698: assert(false) failed: only Initialize or AddP expected macro.cpp:943
...
PhiNode inserted between AllocateNode and Initialization node confuses allocation elimination
Reviewed-by: kvn
2014-08-02 07:06:08 +02:00
Zoltan Majo
1d44fa46f0
8050860: Cleanup TypeTuple and TypeFunc
...
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
2014-07-24 09:15:38 +02:00
Roland Westrelin
2838bcc3bf
8026796: Make replace_in_map() on parent maps generic
...
Propagate node replacements along control flow edges to callers
Reviewed-by: kvn, vlivanov
2014-06-10 13:37:16 +02:00
Tobias Hartmann
2a0815a55e
8034812: remove IDX_INIT macro hack in Node class
...
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
2014-06-02 08:07:29 +02:00
David Chase
305ec3bd3f
8037816: Fix for 8036122 breaks build with Xcode5/clang
...
Repaired or selectively disabled offending formats; future-proofed with additional checking
Reviewed-by: kvn, jrose, stefank
2014-05-09 16:50:54 -04:00
Roland Westrelin
f5adc57f94
8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
...
Make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.
Reviewed-by: twisti, kvn
2014-04-01 09:36:49 +02:00
Morris Meyer
6db303a301
8001532: C2 node files refactoring
...
Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
2014-04-01 09:05:20 -07:00
Vladimir Kozlov
c3a0e80e0b
Merge
2014-01-28 12:25:34 -08:00
Mikael Vidstedt
a0da47fd66
8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
...
Copyright year updated for files modified during 2013
Reviewed-by: twisti, iveresov
2013-12-24 11:48:39 -08:00
Goetz Lindenmaier
9c10079653
8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms
...
Add ConstantTableBase node edge after parameters and before jvms. Adapt jvms offsets.
Reviewed-by: kvn
2013-12-20 13:51:14 +01:00
Goetz Lindenmaier
b4ded0bc2e
8029025: PPC64 (part 203): opto: Move static _in_dump_cnt to Compile object
...
Also introduces the compiler oracle 'option' feature for PrintAssembly.
Reviewed-by: kvn
2013-11-22 12:14:09 -08:00
Vladimir Kozlov
ccfb92c6a9
8012972: Incremental Inlining should support scalar replaced object in debug info
...
Store in _first_index not absolute index but an index relative to the last (youngest) jvms->_scloff value
Reviewed-by: roland, twisti
2013-08-23 11:41:37 -07:00
Vladimir Kozlov
b4977e887a
6934604: enable parts of EliminateAutoBox by default
...
Resurrected autobox elimination code and enabled part of it by default.
Reviewed-by: roland, twisti
2013-05-08 15:08:01 -07:00
Goetz Lindenmaier
44cdae9a57
8005055: pass outputStream to more opto debug routines
...
Pass the output stream to node->dump() and everything reachable from there
Reviewed-by: kvn
2013-01-22 11:31:25 -08:00
Roland Westrelin
73d6d417be
8005071: Incremental inlining for JSR 292
...
Post parse inlining driven by number of live nodes.
Reviewed-by: twisti, kvn, jrose
2012-12-23 17:08:22 +01:00
Roland Westrelin
b1c3e5ccc6
8005031: Some cleanup in c2 to prepare for incremental inlining support
...
Collection of small changes to prepare for incremental inlining.
Reviewed-by: twisti, kvn
2012-12-18 14:55:25 +01:00
Bharadwaj Yadavalli
d5d2e78faa
7193318: C2: remove number of inputs requirement from Node's new operator
...
Deleted placement new operator of Node - node(size_t, Compile *, int).
Reviewed-by: kvn, twisti
2012-09-27 09:38:42 -07:00
Jon Masamitsu
5c58d27aac
6964458: Reimplement class meta-data storage to use native memory
...
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
2012-09-01 13:25:18 -04:00
Christian Thalinger
12901d0e5b
7023639: JSR 292 method handle invocation needs a fast path for compiled code
...
6984705: JSR 292 method handle creation should not go through JNI
Remove assembly code for JDK 7 chained method handles
Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Michael Haupt <michael.haupt@oracle.com>
Reviewed-by: jrose, twisti, kvn, mhaupt
2012-07-24 10:51:00 -07:00
Vladimir Kozlov
e5f92a2396
7147744: CTW: assert(false) failed: infinite EA connection graph build
...
Rewrote Connection graph construction code in EA to reduce time spent there.
Reviewed-by: never
2012-03-12 10:46:47 -07:00
Vladimir Kozlov
337666a80c
7128355: assert(!nocreate) failed: Cannot build a phi for a block already parsed
...
Do not common BoxLock nodes and avoid creating phis of boxes.
Reviewed-by: never
2012-01-12 14:45:04 -08:00
Vladimir Kozlov
791afc42da
7128352: assert(obj_node == obj) failed
...
Compare uncasted object nodes.
Reviewed-by: never
2012-01-10 18:05:38 -08:00
Vladimir Kozlov
94927c382b
7125896: Eliminate nested locks
...
Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.
Reviewed-by: never, twisti
2012-01-07 13:26:43 -08:00
Vladimir Kozlov
8d2ee23293
6890673: Eliminate allocations immediately after EA
...
Try to eliminate allocations and related locks immediately after escape analysis.
Reviewed-by: never
2011-11-16 09:13:57 -08:00
Stefan Karlsson
8006fe8f75
6989984: Use standard include model for Hospot
...
Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
2010-11-23 13:22:55 -08:00
Vladimir Kozlov
cc513a8564
6966411: escape.cpp:450 assert(base->Opcode() == Op_ConP
...
Execute IGVN optimization before and after Escape Analysis
Reviewed-by: never
2010-07-02 17:30:30 -07:00
Erik Trimble
ba7c173659
6941466: Oracle rebranding changes for Hotspot repositories
...
Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
2010-05-27 19:08:38 -07:00
Tom Rodriguez
9db2092b1b
6892658: C2 should optimize some stringbuilder patterns
...
Reviewed-by: kvn, twisti
2009-11-12 09:24:21 -08:00
Vladimir Kozlov
022d690049
6892186: SA does not dump debug info for scalar replaced objects
...
Implement scalar replaced objects debug info dump in SA.
Reviewed-by: twisti
2009-10-21 09:15:33 -07:00