1016 Commits

Author SHA1 Message Date
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
Vladimir Kozlov
ed5be50e9e 8054927: Missing MemNode::acquire ordering in some volatile Load nodes
Fixed memory ordering parameter and added missing barriers for volatile loads.

Reviewed-by: roland, iveresov
2014-08-13 13:05:04 -07:00
Zhengyu Gu
8a690a1250 6424123: JVM crashes on failed 'strdup' call
Calling os::malloc()/os::strdup() and new os::strdup_check_oom() instead of ::malloc()/::strdup() for native memory tracking purpose

Reviewed-by: coleenp, ctornqvi, kvn
2014-08-11 10:18:09 -07:00
Zhengyu Gu
d595244c27 Merge 2014-08-11 07:20:39 -07:00
Roland Westrelin
dc1afd4abe Merge 2014-08-11 13:02:44 +00: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
Tobias Hartmann
a67aa1e3df 8043284: Optimize signed integer comparison
Folding of BoolNode if input add/sub of CmpI overflows and we can prove that compared value is not in the two resulting ranges. Added test for CmpI and CmpU optimizations.

Reviewed-by: kvn, rbackman, roland
2014-08-11 13:01:37 +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
Vladimir Kozlov
c620214d18 8041984: CompilerThread seems to occupy all CPU in a very rare situation
Add new timeout checks to EA.

Reviewed-by: iveresov, drchase
2014-10-24 10:28:19 -07: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
Vladimir Ivanov
83181efbeb 8058847: C2: EliminateAutoBox regression after 8042786
Reviewed-by: kvn, roland
2014-10-24 09:13:12 -07: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
Igor Veresov
7b42cc8306 8047383: SIGBUS in C2 compiled method weblogic.wsee.jaxws.framework.jaxrpc.EnvironmentFactory$SimulatedWsdlDefinitions.<init>
Do not rematerialize constant table loads in PhaseAggressiveCoalesce::insert_copies()

Reviewed-by: kvn
2014-10-23 09:41:59 -10: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
Vladimir Kozlov
7764490363 8052081: Optimize generated by C2 code for Intel's Atom processor
Allow to execute vectorization and crc32 optimization on Atom. Enable UseFPUForSpilling by default on x86.

Reviewed-by: roland
2014-08-05 15:02:10 -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
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
Vladimir Kozlov
b9e949183d 8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method
Add new C2 intrinsic for BigInteger::multiplyToLen() on x86 in 64-bit VM.

Reviewed-by: roland
2014-09-02 12:48:45 -07:00
Vladimir Kozlov
8b93fb04cd 8056964: JDK-8055286 changes are incomplete
Added ccstr and ccstrlist types to compilerOracle 'option' command

Reviewed-by: roland
2014-09-02 10:26:48 -07:00
Tobias Hartmann
79be04020a 8056067: NodeHash debug variables are available in product build
Make NodeHash debug variables only available in debug/optimized build.

Reviewed-by: kvn, roland
2014-08-29 14:46:35 +02:00
Tobias Hartmann
e3073f2e53 8053915: bigapps assert failure in C2: modified node is not on IGVN._worklist
Add modified node to the IGVN worklist in 'PhaseIdealLoop::do_range_check'.

Reviewed-by: kvn, roland
2014-07-31 08:39:47 +02:00
Tobias Hartmann
efc7daaf82 8054081: Crashes with assert "modified node is not on IGVN._worklist"
Modified safepoint nodes are not added to the IGVN worklist by 'PhaseMacroExpand::scalar_replacement()'

Reviewed-by: kvn, roland
2014-08-05 08:25:10 +02:00
Roland Westrelin
e546e2a060 8054054: 8040121 is broken
C++ code pattern from 8040121 is incorrect

Reviewed-by: kvn
2014-07-31 19:59:36 +02:00
Tobias Hartmann
d2a5b70cdf 8040121: Load variable through a pointer of an incompatible type in src/hotspot/src/share/vm: opto/output.cpp, runtime/sharedRuntimeTrans.cpp, utilities/globalDefinitions_visCPP.hpp
Fixed parfait warnings in globalDefinitions files by using a union for casts.

Reviewed-by: kvn
2014-07-29 13:54:16 +02:00