Vladimir Ivanov
7227e9ba53
8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
...
Reviewed-by: jrose, kvn
2015-01-29 10:25:59 -08:00
Roland Westrelin
186ca57447
8055530: assert(_exits.control()->is_top() || !_gvn.type(ret_phi)->empty()) failed: return value must be well defined
...
Concurrent class loading causes return phi to become top
Reviewed-by: kvn
2014-12-22 11:21:20 +01:00
Vladimir Ivanov
5a00d5f6b5
8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
...
Reviewed-by: kvn, roland
2014-11-24 07:29:03 -08:00
Tobias Hartmann
9adb455ba8
8065339: Failed compilation does not always trigger a JFR event 'CompilerFailure'
...
CompilerFailure JFR event should be triggered in ciEnv.
Reviewed-by: kvn
2014-11-24 08:48:15 +01:00
Albert Noll
6520320d1a
8046809: vm/mlvm/meth/stress/compiler/deoptimize CodeCache is full
...
Use separate sweeper thread; enables more aggressive sweeping.
Reviewed-by: kvn, jrose
2014-10-24 14:25:46 +02:00
Zoltan Majo
bde7fd61b4
8060215: per-method PrintIdealGraphLevel
...
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
2014-10-15 10:51:43 +02:00
Albert Noll
82171aa7ab
8059331: Print additional information for the assert in Compile::start()
...
Add additional output that shows the failure reason
Reviewed-by: kvn
2014-10-06 06:51:37 -07:00
Tobias Hartmann
ea755702aa
8059468: Fix PrintCodeCache output changed by JDK-8059137
...
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
2014-09-30 15:44:43 +02:00
Aleksey Shipilev
f824f8c3cb
8058968: Compiler time traces should be improved
...
Use CITime consistently, make C2 to report to CompilerBroker, more probes.
Reviewed-by: vlivanov, jrose
2014-09-25 12:10:57 +04:00
Tobias Hartmann
cd01de591a
8015774: Add support for multiple code heaps
...
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
2014-09-17 08:00:07 +02:00
Aleksey Shipilev
13329b5040
8050147: StoreLoad barrier interferes with stack usages
...
Reviewed-by: jrose, kvn, drchase
2014-09-04 13:11:25 +04:00
Vladimir Kozlov
b86cece468
Merge
2014-08-15 12:27:50 -07:00
Zhengyu Gu
d595244c27
Merge
2014-08-11 07:20:39 -07: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
Zhengyu Gu
f0cf82f571
8046598: Scalable Native memory tracking development
...
Enhance scalability of native memory tracking
Reviewed-by: coleenp, ctornqvi, gtriantafill
2014-08-07 12:18:58 -07:00
Tobias Hartmann
70a55eac34
8054033: Remove unused references to Compile*
...
Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
2014-08-05 09:58:52 +02:00
Albert Noll
e4e0c214ff
Merge
2014-07-25 10:04:36 +00:00
Tobias Hartmann
11eb4553c9
8040213: C2 does not put all modified nodes on IGVN worklist
...
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
2014-07-25 10:06:17 +02:00
Coleen Phillimore
c9b2bc62c9
Merge
2014-07-14 10:15:21 -04:00
Goetz Lindenmaier
25f33c005d
8049325: Introduce and clean up umbrella headers for the files in the cpu subdirectories
...
Introduce and clean up umbrella headers for the files in the cpu subdirectories.
Reviewed-by: lfoltan, coleenp, dholmes
2014-07-04 11:46:01 +02:00
Tobias Hartmann
fa6b220619
8022968: Some codecache allocation failures don't result in invoking the sweeper
...
Add calls to CompileBroker::handle_full_code_cache() or fail gracefully whenever allocation in the code cache fails.
Reviewed-by: iveresov, vlivanov
2014-07-03 08:46:44 +02:00
Tobias Hartmann
2626aed785
8008321: compile.cpp verify_graph_edges uses bool as int
...
The dead_nodes counter in verify_graph_edges(..) has the type bool but is used as int.
Reviewed-by: roland, anoll
2014-06-20 08:14:30 +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
Roland Westrelin
ee80d81323
8043638: Multiple compilation attempts break LogCompulation, lead to confusing PrintInlining output
...
Dumps inlining only for last compilation attempt. Fix LogCompilation tool so it handles multiple compilation attempts.
Reviewed-by: vlivanov, kvn
2014-05-26 14:27:01 +02:00
Igor Veresov
54db2c2d61
8032463: VirtualDispatch test timeout with DeoptimizeALot
...
Introduce code aging for warm method detection
Reviewed-by: kvn, twisti
2014-05-13 11:32:10 -07: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
Vladimir Kozlov
c909ac41de
8039298: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)->higher_equal(TypePtr::NULL_PTR))
...
Convert the assert into the runtime check to skip IGVN optimizations for problematic memory nodes. Eliminate dead nodes more aggressively.
Reviewed-by: twisti, iveresov
2014-05-02 16:44:54 -07: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
Roland Westrelin
522abfc113
8005079: fix LogCompilation for incremental inlining
...
Report late inlining as part of the rest of the inlining output
Reviewed-by: twisti, kvn
2014-04-10 11:38:12 +02:00
Tobias Hartmann
65d6e6b331
8036898: assert(t != NULL) failed: must set before get
...
Ignore nodes without a type when checking for speculative types in Compile::remove_speculative_types(...).
Reviewed-by: kvn, roland
2014-04-10 09:26:24 +02:00
Roland Westrelin
eb8588549a
8007988: PrintInlining output is inconsistent with incremental inlining
...
Fix duplicate and conflicting inlining output
Reviewed-by: kvn, vlivanov
2014-04-09 09:17:43 +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
97a51c5c2a
8031320: Use Intel RTM instructions for locks
...
Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed
2014-03-20 17:49:27 -07:00
Roland Westrelin
493557fc90
8031752: Failed speculative optimizations should be reattempted when root of compilation is different
...
Support for speculative traps that keep track of the root of the compilation in which a trap occurs.
Reviewed-by: kvn, twisti
2014-02-25 18:16:24 +01:00
Rickard Bäckman
0b85ee832e
8027754: Enable loop optimizations for loops with MathExact inside
...
Reviewed-by: kvn, iveresov
2014-01-23 12:08:28 +01:00
Vladimir Kozlov
7d92dc4d79
Merge
2014-01-28 12:28:17 -08:00
Vladimir Kozlov
c3a0e80e0b
Merge
2014-01-28 12:25:34 -08:00
Aleksey Shipilev
fbff3b73a4
8032490: Remove -XX:+-UseOldInlining
...
Move the option to obsolete options list, purge the redundant compiler code.
Reviewed-by: kvn, jrose
2014-01-24 15:26:56 +04:00
Roland Westrelin
c19a7e0fa3
8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
...
Type methods shouldn't always operate on speculative part
Reviewed-by: kvn, twisti
2014-01-24 09:31:53 +01:00
Vladimir Kozlov
ba7149bbda
8028468: Add inlining information into ciReplay
...
Allow dump and replay inlining for specified method during a program execution.
Reviewed-by: roland, twisti
2014-01-08 10:25:50 -08:00
Goetz Lindenmaier
ecca1bcc72
8029015: PPC64 (part 216): opto: trap based null and range checks
...
On PPC64 use tdi instruction that does a compare and raises SIGTRAP for NULL and range checks.
Reviewed-by: kvn
2013-11-27 16:16:21 -08: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
aabed3781b
Merge
2013-11-21 12:30:35 -08:00
Goetz Lindenmaier
12b298218d
8003854: PPC64 (part 115): Introduce PostallocExpand that expands nodes after register allocation
...
Added ability in C2 to expand mach nodes to several mach nodes after register allocation
Reviewed-by: kvn
2013-11-14 19:24:59 -08:00
Vladimir Kozlov
39b0e57fdd
Merge
2013-11-05 17:38:04 -08:00
Igor Veresov
c78419253b
Merge
2013-11-05 02:29:41 -08:00
Igor Veresov
c342a79faf
8017065: C2 allows safepoint checks to leak into G1 pre-barriers
...
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
2013-11-05 01:57:18 -08:00
Rickard Bäckman
897e6d41f6
8027622: java.time.Instant.create failing since hs25-b56
...
Reviewed-by: kvn, iveresov
2013-11-04 10:44:46 +01:00
Roland Westrelin
1b5bd82335
8024070: C2 needs some form of type speculation
...
Record unused type profile information with type system, propagate and use it.
Reviewed-by: kvn, twisti
2013-10-23 12:40:23 +02:00