1050 Commits

Author SHA1 Message Date
Zoltan Majo
eb5be4c2fe 8066312: Add new Node* Node::find_out(int opc) method
Added methods find_user_with() and has_user_with() for searching for a particular out type.

Reviewed-by: kvn, jrose
2015-01-19 09:32:40 +01:00
Axel Siebenborn
0520df8a92 8068909: SIGSEGV in c2 compiled code with OptimizeStringConcat
Reviewed-by: kvn
2015-01-16 13:58:22 +01:00
Zoltan Majo
9d6b3c1d71 8067374: Use %f instead of %g for LogCompilation output
Changed format string from %g to %f.

Reviewed-by: kvn
2015-01-15 11:30:13 +01:00
Vladimir Kozlov
834ff91cc5 8068864: C2 failed: modified node is not on IGVN._worklist
Use igvn.replace_input_of() instead of set_req().

Reviewed-by: iveresov, vlivanov
2015-01-14 17:27:00 -08:00
Dean Long
7002708d14 Merge 2015-01-09 13:28:02 -05:00
Dean Long
f5750b67fd Merge 2015-01-08 17:45:10 -05:00
Roland Westrelin
d2891a37e7 8027626: assert(Opcode() != Op_If || outcnt() == 2) failed: bad if #1
IGVN encounters IfNode with single projection when optimizing dying subgraph

Reviewed-by: kvn
2015-01-08 11:00:38 +01:00
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
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
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
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
Vladimir Kozlov
48b6c6007f Merge 2014-12-11 15:06:12 -08:00
Andrew Haley
0b30e012ee 8064611: AARCH64: Changes to HotSpot shared code
Everything except cpu/ and os_cpu/

Reviewed-by: dholmes, goetz, dlong, coleenp, kvn
2014-12-11 13:11:53 -08: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
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
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
David Chase
f454e5e02c Merge 2014-11-13 11:35:15 -05:00
Jesper Wilhelmsson
c72d5c48e2 Merge 2014-11-13 12:29:09 +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
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