906 Commits

Author SHA1 Message Date
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
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
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
Jon Masamitsu
38aa661273 Merge 2014-06-26 18:55:29 -07: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
Vladimir Kozlov
56cea022c9 8035605: Expand functionality of PredictedIntrinsicGenerator
Allow several predicates and separate intrinsic methods per one intrinsified (virtual) method.

Reviewed-by: roland
2014-06-10 12:28:06 -07: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
Vladimir Ivanov
ea0470002e 8033626: assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place
Reviewed-by: kvn, roland
2014-06-10 10:00:59 +00:00
Vladimir Kozlov
0853423f46 8046275: Fastdebug build failing on jdk9/hs/ control jobs after pulling some hs-comp changes
Add missing check for Opaque nodes from loop predicates in clone_loop().

Reviewed-by: iveresov
2014-06-09 15:42:31 -07:00
Goetz Lindenmaier
8e7c8f1d88 8044775: Improve usage of umbrella header atomic.inline.hpp
Reviewed-by: stefank, kvn
2014-06-04 11:56:44 +02:00
Rickard Bäckman
8bd4b5624c 8030976: Untaken paths should be more vigorously pruned at highest optimization level
Reviewed-by: roland, vlivanov
2014-05-22 13:42:44 +02:00
Igor Veresov
ddffd7c3f1 8044496: 8034812 broke build with clang
Remove superfluous clang-diagnostic-pop

Reviewed-by: kvn, drchase
2014-06-02 07:26:52 -10:00
Roland Westrelin
bdb8050bbf 8043413: REGRESSION: Hotspot causes segmentation fault in jdk8ux, but not in jdk7ux
Long series of lambda form calls trigger stack overflow in c2

Reviewed-by: kvn, vlivanov
2014-06-02 10:01:15 +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
Albert Noll
a3b9ebba8d 8011646: SEGV in compiled code with loop predication
Remove control edge of load node to ensure that castPP removal sets the control edge correctly

Reviewed-by: kvn, roland
2014-05-30 06:50:38 +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
Christian Thalinger
67ad89efd5 Merge 2014-05-22 16:26:05 -07:00
Coleen Phillimore
024bb79ec8 Merge 2014-05-17 19:34:38 -04:00
Yuri Gaevsky
cc3c656cf1 8025580: Temporary flags: UseNewReflection and ReflectionWrapResolutionErrors
The fix removes all UseNewReflection/ReflectionWrapResolutionErrors occurrences/logic and adds them into the list of obsolete_jvm_flags in arguments.cpp.

Reviewed-by: coleenp, hseigel
2014-05-15 17:38:50 -04:00
Christian Thalinger
115d44f61b Merge 2014-05-15 11:35:26 -07:00
Coleen Phillimore
388434f387 Merge 2014-05-12 09:47:57 -04: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
Christian Thalinger
12a085f587 Merge 2014-05-16 14:38:42 -07:00
Vladimir Kozlov
6bfc0288f3 8042786: Proper fix for 8032566
Check for overflow cases in range checks and collapse it if we can.

Reviewed-by: jrose, iveresov
2014-05-16 12:05:14 -07:00
Zhengyu Gu
adcde492fa 8041415: remove port.{cpp,hpp} files
Hotspot should use standard headers and types

Reviewed-by: coleenp, kvn
2014-05-07 06:03:31 -07:00
Tobias Hartmann
85296fec28 8036851: volatile double accesses are not explicitly atomic in C2
The C2 structure is adapted to distinguish between volatile and non-volatile double accesses.

Reviewed-by: twisti, kvn
2014-05-06 09:17:57 +02:00
Tobias Hartmann
ded0d16e25 8042052: assert(t != NULL) failed: must set before get
Added missing call to _gvn.transform to make sure the type of the PhiNode is recorded in the gvn.

Reviewed-by: kvn
2014-05-05 15:10:43 +02: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
Shrinivas Joshi
c0f886ec65 8035936: SIGBUS in StubRoutines::aesencryptBlock, solaris-sparc
Fix the arbitrary alignment issue in SPARC AES crypto stub routines.

Reviewed-by: kvn, iveresov
2014-04-30 14:14:01 -07:00
Niclas Adlertz
922879d58e 8029302: Performance regression in Math.pow intrinsic
Added special case for x^y where y == 2

Reviewed-by: kvn, roland
2014-04-25 12:48:34 +02:00
Vladimir Kozlov
26de6296e0 8041351: Crash in src/share/vm/opto/loopnode.cpp:3215 - assert(!had_error) failed: bad dominance
Add missing is_mem() check when we collect load nodes in SuperWord::co_locate_pack().

Reviewed-by: iveresov
2014-04-22 17:45:56 -07:00
Richard Reingruber
728ea561aa 8038048: assert(null_obj->escape_state() == PointsToNode::NoEscape,etc) runThese -full
Use correct set_escape_state() method.

Reviewed-by: kvn, iignatyev
2014-04-16 14:49:03 -07:00
Vladimir Kozlov
8badeecc2c 8039050: Crash in C2 compiler at Node::rematerialize
Added missing calls to record_for_igvn() in loop opts. Added verification of def-use domination.

Reviewed-by: iveresov
2014-04-15 14:34:48 -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
Albert Noll
bce45e9222 Merge 2014-04-14 09:04:36 +00:00
Albert Noll
e2305182b5 8039425: Code cleanup: PhaseIterGVN::optimize()
This code cleanup aims at improving code readability.

Reviewed-by: kvn, roland
2014-04-14 10:57:07 +02:00
Albert Noll
7e1059b62d 8034216: assert(false) failed: infinite loop in PhaseIterGVN::optimize
Eagerly remove all castPP nodes in PhaseCCP to get type convergence in memnode.

Reviewed-by: kvn, roland
2014-04-11 11:33:00 +02:00
Igor Veresov
e6456ff2a4 8038297: Avoid placing CTI immediately following cbcond instruction on T4
Insert a nop between cbcond and CTI

Reviewed-by: kvn, twisti
2014-04-10 23:15:13 -07: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
Roland Westrelin
fa3b0a8f47 8031755: Type speculation should be used to optimize explicit null checks
Feed profiling data about reference nullness to type speculation.

Reviewed-by: kvn, iveresov
2014-03-31 09:08:53 +02:00
Lutz Schmidt
ac75d4fc2f 8037821: Account for trampoline stubs when estimating code buffer sizes
Take into account space needed for "trampoline code" used by calls on PPC64.

Reviewed-by: kvn
2014-03-25 12:54:21 -07:00