989 Commits

Author SHA1 Message Date
Goetz Lindenmaier
1c18aef92c 8064457: Introduce compressed oops mode disjoint base and improve compressed heap handling
Introduce compressed oops mode disjoint base and improve compressed heap handling.

Reviewed-by: kvn, coleenp
2015-01-05 12:07:37 -05:00
Vladimir Ivanov
5fd1e54fc1 8067338: compiler/debug/TraceIterativeGVN.java segfaults
Reviewed-by: kvn
2014-12-19 16:42:40 -08:00
Tobias Hartmann
09aa6561da 8066763: fatal error "assert(false) failed: unexpected yanked node" in postaloc.cpp:139
Check for dead input nodes after replacing compare node with implicit null check.

Reviewed-by: kvn
2014-12-12 09:07:54 +01:00
Roland Westrelin
caa8dcea64 8066103: C2's range check smearing allows out of bound array accesses
Range check smearing uncorrectly adjust first range check in a list of range checks to cover all of them

Reviewed-by: jrose, kvn, iveresov
2014-12-09 18:49:13 +01:00
Roland Westrelin
5974dd3005 8066775: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1
Bad assumption on graph shape in CastIINode::Value if that part of the graph is becoming dead.

Reviewed-by: kvn
2014-12-05 18:03:15 +01:00
Roland Westrelin
15dcd41e87 6898462: The escape analysis with G1 cause crash assertion src/share/vm/runtime/vframeArray.cpp:94
OOM during reallocation of scalar replaced objects in deoptimization causes crashes

Reviewed-by: kvn, jrose
2014-11-25 17:33:59 +01:00
Roland Westrelin
07537703cc 8048170: Test closed/java/text/Normalizer/ConformanceTest.java failed
PhaseIdealLoop::split_if_with_blocks_post() shoulnd't reorder range checks adjusted by range check smearing

Reviewed-by: kvn, jrose
2014-12-04 14:34:11 +01:00
Roland Westrelin
686e5a0a6f 8064703: crash running specjvm98's javac following 8060252
Uncommon trap between arraycopy and initialization may leave array initialized

Reviewed-by: kvn, vlivanov, goetz
2014-12-01 11:59:56 +01:00
Vladimir Kozlov
65fe921d3d 8066199: C2 escape analysis prevents VM from exiting quickly
Check for safepoint and block during EA Connection graph construction.

Reviewed-by: roland, vlivanov, shade
2014-12-02 12:24:31 -08:00
Roland Westrelin
6d20d3298a 8066045: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1
Code in PhaseIterGVN::add_users_to_worklist() from 8054478 makes incorrect assumption about graph shape

Reviewed-by: iveresov
2014-11-27 16:54:49 +01:00
Roland Westrelin
4bc2edad15 8054478: C2: Incorrectly compiled char[] array access crashes JVM
Dead backbranch in main loop results in erroneous array access

Reviewed-by: kvn, iveresov
2014-11-13 09:19:46 +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
Vladimir Kozlov
f36e847523 8065618: C2 RA incorrectly removes kill projections
Don't remove KILL projections if their "defining" nodes have SCMemProj projection (memory side effects).

Reviewed-by: iveresov
2014-11-21 17:17:41 -08:00
Vladimir Ivanov
f3d9096e4d 8062258: compiler/debug/TraceIterativeGVN.java segfaults in trace_PhaseIterGVN
Reviewed-by: kvn
2014-11-17 14:02:45 -08:00
David Chase
f454e5e02c Merge 2014-11-13 11:35:15 -05:00
Jesper Wilhelmsson
c72d5c48e2 Merge 2014-11-13 12:29:09 +01:00
David Chase
fbe3993153 Merge 2014-11-07 13:58:52 -05:00
Staffan Larsen
bcb6a1586a Merge 2014-11-06 19:59:32 +00:00
Zoltan Majo
49b224a4f7 8057622: java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest: SEGV inside compiled code (sparc)
In Parse::array_store_check(), add control edge FROM IfTrue branch of runtime type check of the destination array TO loading _element_klass from destination array.

Reviewed-by: kvn, roland, anoll
2014-11-06 09:40:58 +01:00
Goetz Lindenmaier
0aa09022fa 8062370: Various minor code improvements
A lot of fixes useful to improve the code quality.

Reviewed-by: coleenp, dholmes
2014-10-29 10:13:24 +01:00
Jesper Wilhelmsson
b59b80b068 Merge 2014-11-03 15:53:48 +01:00
Bengt Rutisson
4601eb634a 8061308: Remove iCMS
Reviewed-by: mgerdin, jmasa
2014-10-31 09:10:51 +01:00
Roland Westrelin
79738069b0 8060252: JDK-7173584 compiler changes regress SPECjvm2008 on SPARC
Arraycopy code misses opportunities to optimize copies to just allocated array.

Reviewed-by: kvn
2014-10-20 22:53:37 +02:00
Vladimir Kozlov
8cd1a874e8 8059780: SPECjvm2008-MPEG performance regressions on x64 platforms
Back-out 8052081 changes made in lcm.cpp.

Reviewed-by: iveresov, roland
2014-11-03 12:02:40 -08:00
Vladimir Kozlov
74def215cd 8054492: Casting can result in redundant null checks in generated code
Add C2 intrinsic for Class.cast() method and force inline it too.

Reviewed-by: jrose, roland, drchase, iignatyev
2014-10-31 16:51:57 -07:00
Jesper Wilhelmsson
1570e4c406 Merge 2014-10-16 15:59:39 +00:00
Zoltan Majo
ed26c7e640 8059604: Add CompileThresholdScaling flag to control when methods are first compiled (with and withour TieredCompilation)
This patch adds a new flag (CompileThresholdScaling) to control when methods are first compiled

Reviewed-by: anoll, iveresov, kvn
2014-10-15 14:00:41 +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
Jesper Wilhelmsson
1934c66969 Merge 2014-10-13 16:05:46 +02:00
Staffan Friberg
8b424b422f 8057737: Avoid G1 write barriers on newly allocated objects
Reviewed-by: mgerdin, kvn, iveresov
2014-10-09 13:06:15 -07: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
Roland Westrelin
f575843d51 8058746: escape analysis special case code for array copy broken by 7173584
Escape analysis doesn't handler arraycopy nodes properly

Reviewed-by: kvn, iveresov, vlivanov
2014-10-06 14:53:30 +02:00
Vladimir Kozlov
d124a839ce 8059299: assert(adr_type != NULL) failed: expecting TypeKlassPtr
Use top() for dead paths when initializing Phi node of exceptions klasses in Parse::catch_inline_exceptions().

Reviewed-by: jrose, vlivanov
2014-10-02 11:36:44 -07:00
Vladimir Ivanov
5a5f718b6f 8059556: C2: crash while inlining MethodHandle invocation w/ null receiver
Reviewed-by: kvn, jrose
2014-10-01 12:34:45 -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
Vladimir Ivanov
55291de970 8058825: EA: ConnectionGraph::split_unique_types does incorrect scalar replacement
Reviewed-by: kvn
2014-09-29 11:46:05 -07: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
Roland Westrelin
2d59d215e2 8057758: Tests run TypeProfileLevel=222 crash with guarantee(0) failed: must find derived/base pair
Use TypeAryPtr::INT type with offset 0 in inline_multiplyToLen().

Reviewed-by: kvn, iveresov
2014-09-09 15:47:18 -07:00
Niclas Adlertz
1b124f9f48 Merge 2014-09-09 16:14:40 +02:00
Vladimir Kozlov
98f413fa1f Merge 2014-09-04 22:59:17 -07:00
Aleksey Shipilev
13329b5040 8050147: StoreLoad barrier interferes with stack usages
Reviewed-by: jrose, kvn, drchase
2014-09-04 13:11:25 +04:00
Serguei Spitsyn
f1aa6a6d0c Merge 2014-08-29 11:35:03 -07:00
Coleen Phillimore
73d759e533 8049105: Move array component mirror to instance of java/lang/Class (hotspot part 2)
This removes component mirrors from arrayKlass metadata and the C2 intrinsic for them.

Reviewed-by: kvn, twisti, mgerdin
2014-08-28 11:29:09 -04:00
Zoltan Majo
6ec9232c46 8051415: TypeTuple::make_domain() and TypeTuple::make_range() allocate too much memory
Change memory allocation in TypeTuple::make_domain() and TypeTuple::make_range() to not allocate memory for TypeFunc::Parms.

Reviewed-by: kvn, roland
2014-08-27 10:02:58 +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
Tobias Hartmann
8b9a829836 8048879: "unexpected yanked node" opto/postaloc.cpp:139
MemBarAcquireNode prevents deletion of dead LoadNNode. Added condition to 'has_special_unique_user' to trigger deletion.

Reviewed-by: kvn, iveresov
2014-08-19 07:36:11 +02:00
Vladimir Kozlov
b86cece468 Merge 2014-08-15 12:27:50 -07:00
Igor Veresov
8ed4cb5a02 8054883: Segmentation error while running program
Fix pattern matching of range check

Reviewed-by: kvn
2014-08-13 17:37:11 -07:00