995 Commits

Author SHA1 Message Date
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
Filipp Zhinkin
e8d1955b5e 8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on
Call rtm_deopt() only if there were no compilation bailouts before.

Reviewed-by: kvn
2014-07-28 15:06:38 -07:00
Rickard Bäckman
84271f1c96 Merge 2014-07-24 14:38:26 +02:00
Serguei Spitsyn
b0367c3bea Merge 2014-07-18 23:53:59 -07:00
Albert Noll
0f4091ddaf Merge 2014-07-25 10:57:57 +00:00
Albert Noll
e4e0c214ff Merge 2014-07-25 10:04:36 +00:00
Albert Noll
cf7a398eea Merge 2014-07-25 09:44:53 +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
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
Zoltan Majo
33058abb3f 8051303: 'optimized' build broken by JDK-8039425
Changed preprocessor directive in PhaseIterGVN::optimize()

Reviewed-by: kvn, anoll
2014-07-21 10:25:58 +02:00
Coleen Phillimore
c9b2bc62c9 Merge 2014-07-14 10:15:21 -04:00
Vladimir Ivanov
db4aa1aa54 8048703: ReplacedNodes dumps it's content to tty
Reviewed-by: roland, iveresov, drchase
2014-07-14 03:29:42 -07:00
Vladimir Ivanov
34bf429064 8049528: Method marked w/ @ForceInline isn't inlined with "executed < MinInliningThreshold times" message
Reviewed-by: roland, jrose
2014-07-14 03:24:35 -07:00
David Chase
1379a7f2f0 8036588: VerifyFieldClosure fails instanceKlass:3133
Changed deopt live-pointer test to use returns-object instead of live-and-returns-object

Reviewed-by: iveresov, kvn, jrose
2014-07-11 19:51:36 -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
Jon Masamitsu
38aa661273 Merge 2014-06-26 18:55:29 -07:00
Rickard Bäckman
99ff96473e 8046289: compiler/6340864/TestLongVect.java timeout with
Reviewed-by: iveresov, vlivanov
2014-06-23 13:33:23 +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
Roland Westrelin
b5e96ad985 8046542: [I.finalize() calls from methods compiled by C1 do not cause IllegalAccessError on Sparc
Call to Object.finalize() sometimes allowed by compilers on array type

Reviewed-by: iveresov, vlivanov
2014-07-02 22:54:18 +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
Vladimir Kozlov
b571b4214a 8046516: Segmentation fault in JVM (easily reproducible)
Place new nodes on the previous loop exit in reorg_offsets().

Reviewed-by: roland
2014-06-12 10:15:43 -07:00
James Cheng
395560c428 8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
Add C2 SHA intrinsics on SPARC

Reviewed-by: kvn, roland
2014-06-11 11:05:10 -07:00