541 Commits

Author SHA1 Message Date
Tobias Hartmann
642d2ddcbc 8235452: Strip mined loop verification fails with assert(is_OuterStripMinedLoop()) failed: invalid node class
Do not try to verify strip mining if the strip mined loop is malformed.

Reviewed-by: roland, vlivanov
2019-12-11 10:42:44 +01:00
Fei Yang
a86e196559 8235762: JVM crash in SWPointer during C2 compilation
Reviewed-by: thartmann, chagedorn, neliasso
2020-01-09 19:12:16 +08:00
Jesper Wilhelmsson
d34f561de0 Merge 2020-01-15 20:41:46 +01:00
Roland Westrelin
8d2e11397a 8237007: Shenandoah: assert(_base == Tuple) failure during C2 compilation
Reviewed-by: thartmann, rkennke
2020-01-09 17:26:26 +01:00
Tobias Hartmann
f243173a18 8236721: C2 should better optimize not-equal integer comparisons
Narrow the type if an integer value is found to be unequal to it's lower/upper boundary.

Reviewed-by: roland, neliasso
2020-01-15 08:44:53 +01:00
Jatin Bhateja
2b9fef7d7b 8236443: Issues with specializing vector register type for phi operand with generic operands
Fix special handling for operand resolution of vectorshift and shiftcount nodes. Fix for crash in the resolution algorithm due to non-machine type nodes.

Reviewed-by: vlivanov
2020-01-14 09:51:10 +05:30
Jesper Wilhelmsson
913b8702d1 Merge 2020-01-13 15:40:09 +01:00
Jesper Wilhelmsson
943b87ddde Merge 2020-01-09 20:21:53 +01:00
Jesper Wilhelmsson
257a1bb854 Merge 2020-01-08 16:03:32 +01:00
Ioi Lam
584db9818a 8236625: Remove writeable macro from JVM flags declaration
Reviewed-by: coleenp, hseigel, gziemski
2020-01-07 18:56:18 -08:00
Roman Kennke
ffe68bcb24 8236161: C2: Remove useless step_over_gc_barrier() in int->bool conversion
Reviewed-by: thartmann, roland
2020-01-07 13:45:10 +01:00
Smita Kamath
995da6eb2a 8167065: Add intrinsic support for double precision shifting on x86_64
Reviewed-by: kvn
2019-12-23 14:42:21 -08:00
Roland Westrelin
9d40ab91db 8234350: assert(mode == ControlAroundStripMined && (use == sfpt || !use->is_reachable_from_root())) failed: missed a node
Reviewed-by: thartmann, mdoerr
2019-12-09 15:37:04 +01:00
Christian Hagedorn
2ee7b9d3a0 8233032: assert(in_bb(n)) failed: must be
Find first and last memory state of a load pack without relying on bb indices.

Co-authored-by: Roland Westrelin <rwestrel@redhat.com>
Reviewed-by: roland, kvn, thartmann
2019-12-10 09:28:38 +01:00
Vladimir Ivanov
e8496cea83 8235143: C2: No memory state needed in Thread::currentThread() intrinsic
Reviewed-by: mdoerr, jrose
2019-12-09 19:29:39 +03:00
Vladimir Ivanov
eabb5cc21f 8226411: C2: Avoid memory barriers around off-heap unsafe accesses
Reviewed-by: kvn, thartmann, eosterlund, jrose, rkennke
2019-12-09 19:29:35 +03:00
Claes Redestad
06cb195865 8234331: Add robust and optimized utility for rounding up to next power of two
Reviewed-by: eosterlund, stuefe, jrose
2019-12-06 18:05:36 +01:00
Christian Hagedorn
fd8832f726 8229994: assert(false) failed: Bad graph detected in get_early_ctrl_for_expensive
Fixes wrong idom information set in loop peeling when a loop strip mined loop is involved.

Reviewed-by: vlivanov, thartmann
2019-12-06 10:00:16 +01:00
Jatin Bhateja
979cd452ab 8234391: C2: Generic vector operands
Reviewed-by: vlivanov, sviswanathan, thartmann, jrose
2019-12-05 12:56:46 +03:00
Tobias Hartmann
b0812b2802 8234616: assert(0 <= i && i < _len) failed: illegal index in PhaseMacroExpand::expand_macro_nodes()
Make sure the index into the macro node array is decremented on removal.

Reviewed-by: vlivanov, kvn
2019-12-04 07:07:21 +01:00
Vladimir Ivanov
a6daef527e 8234923: Missed call_site_target nmethod dependency for non-fully initialized ConstantCallSite instance
Reviewed-by: jrose
2019-12-03 20:13:21 +03:00
Vladimir Ivanov
c7bc0f7a12 8231430: C2: Memory stomp in max_array_length() for T_ILLEGAL type
Reviewed-by: kvn, thartmann
2019-12-03 20:13:16 +03:00
Nils Eliasson
6230791e9e 8234520: ZGC: C2: Oop instance cloning causing skipped compiles
Reviewed-by: pliden, vlivanov
2019-11-29 11:26:25 +01:00
Patric Hedlin
f054a79881 8220376: C2: Int >0 not recognized as !=0 for div by 0 check
Reviewed-by: neliasso, vlivanov, mdoerr
2019-11-15 16:39:08 +01:00
Vladimir Ivanov
b89d2fd169 8234403: C2: Enable CallSite.target updates in constructors
Reviewed-by: psandoz, kvn
2019-11-26 16:09:21 +03:00
Stefan Karlsson
0ad50c2b5c 8234740: Harmonize parameter order in Atomic - cmpxchg
Reviewed-by: rehn, dholmes
2019-11-25 12:33:15 +01:00
Thomas Schatzl
9915f88688 8233702: Introduce helper function to clamp value to range
Reviewed-by: sjohanss, kbarrett
2019-11-22 10:03:38 +01:00
Claes Redestad
6f1f675324 8234003: Improve IndexSet iteration
Reviewed-by: neliasso, thartmann
2019-11-14 15:24:35 +01:00
Leo Korinth
1fc67ab002 8232365: Implementation for JEP 363: Remove the Concurrent Mark Sweep (CMS) Garbage Collector
Reviewed-by: kbarrett, tschatzl, erikj, coleenp, dholmes
2019-11-13 11:37:29 +01:00
Tobias Hartmann
7ba4fc4722 8233656: assert(d->is_CFG() && n->is_CFG()) failed: must have CFG nodes
Explicitly handle ProjNodes with TOP input.

Reviewed-by: kvn, vlivanov
2019-11-13 08:43:35 +01:00
Erik Österlund
8a8b35154b 8233506: ZGC: the load for Reference.get() can be converted to a load for strong refs
Reviewed-by: thartmann, neliasso, pliden
2019-11-12 09:25:39 +00:00
Tobias Hartmann
1833584f92 8233529: loopTransform.cpp:2984: Error: assert(p_f->Opcode() == Op_IfFalse) failed
Strengthened asserts in locate_pre_from_main() and added a check for is_main_no_pre_loop().

Reviewed-by: kvn, vlivanov
2019-11-12 10:16:04 +01:00
Christian Hagedorn
173dae8bc6 8229694: JVM crash in SWPointer during C2 OSR compilation
Handle the case where there is only 1 pack and no operations left when calling SuperWord::find_align_to_ref() to find the best alignment again.

Reviewed-by: kvn, vlivanov, thartmann
2019-11-11 10:41:03 +01:00
Jorn Vernee
d405f6abb6 8233389: Add PrintIdeal to compiler directives
Add PrintIdeal as a compiler directive in order to enable PrintIdeal for only a single method.

Reviewed-by: roland, neliasso, vlivanov, thartmann
2019-11-08 10:55:14 +01:00
Tobias Hartmann
f225f7cd0b 8233788: Remove useless asserts in PhaseCFG::insert_anti_dependences
Removed useless asserts.

Reviewed-by: kvn
2019-11-08 09:16:48 +01:00
Claes Redestad
12adeca887 8233708: VectorSet cleanup
Reviewed-by: neliasso, shade, thartmann
2019-11-07 12:12:39 +01:00
Erik Österlund
f07d377d6f 8233073: Make BitMap accessors more memory ordering friendly
Reviewed-by: kbarrett, pliden
2019-11-07 10:28:29 +00:00
Roland Westrelin
afd91fd320 8232539: SIGSEGV in C2 Node::unique_ctrl_out
Reviewed-by: thartmann, kvn
2019-10-22 11:55:58 +02:00
Nils Eliasson
3ca7e3f6ff 8232896: ZGC: Enable C2 clone intrinsic
Reviewed-by: pliden, kvn
2019-10-31 17:16:36 +01:00
David Holmes
1d50b2761c 8229516: Thread.isInterrupted() always returns false after thread termination
Reviewed-by: dnsimon, sspitsyn, dcubed, alanb
2019-11-03 18:02:29 -05:00
Patric Hedlin
902858e3ce 8231565: More node budget asserts in fuzzed tests
Reviewed-by: neliasso, thartmann
2019-10-23 12:51:53 +02:00
Aleksey Shipilev
bbc4e0d999 8232882: GCC 4.8.5 build failure after JDK-8211073
Reviewed-by: thartmann
2019-10-23 17:35:32 +02:00
Christian Hagedorn
465f4c1200 8231412: C2: InitializeNode::detect_init_independence() bails out on simple IR shapes
Avoids early bailout of capturing a field store to remove unnecessary zeroing in simple methods containing only non-escaping objects.

Reviewed-by: roland, thartmann
2019-10-23 12:21:32 +02:00
Michihiro Horie
f004d45d3d 8231649: PPC64: Intrinsics for Math.ceil, floor, rint on Power
Reviewed-by: mdoerr, vlivanov
2019-10-22 21:26:45 -05:00
Huang Wang
4fb2bb554d 8231988: Unexpected test result caused by C2 IdealLoopTree::do_remove_empty_loop
Duplicate cmp node in empty loop if it has other users

Co-authored-by: Tuo Xie <xietuo@huawei.com>
Reviewed-by: neliasso, thartmann
2019-10-11 16:52:18 +08:00
Jie Fu
179aab2fe2 8232151: Minimal VM build broken after JDK-8232050
Reviewed-by: dholmes, clanger
2019-10-11 17:49:25 +08:00
Tom Rodriguez
4a41f86a39 8231586: enlarge encoding space for OopMapValue offsets
Reviewed-by: dlong
2019-10-09 16:35:44 -07:00
Erik Österlund
42885307f6 8230565: ZGC: Redesign C2 load barrier to expand on the MachNode level
Co-authored-by: Per Liden <per.liden@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Reviewed-by: pliden, stefank, neliasso
2019-10-09 12:30:06 +00:00
Richard Reingruber
a683592254 8230677: Should disable Escape Analysis if JVMTI capability can_get_owned_monitor_info was taken
Reviewed-by: sspitsyn, dholmes, kvn
2019-10-08 15:30:39 +02:00
Roland Westrelin
703760bbec 8231550: C2: ShouldNotReachHere() in verify_strip_mined_scheduling
Reviewed-by: vlivanov, thartmann
2019-10-02 17:32:08 +02:00