35 Commits

Author SHA1 Message Date
Christian Hagedorn
18cf3d8080 8247743: Segmentation fault in debug builds due to stack overflow in find_recur with deep graphs
Replace the recursive algorithm of Node::find() by an iterative one to avoid a stack overflow crash with deep graphs.

Reviewed-by: kvn, thartmann
2020-07-22 10:31:37 +02:00
Mikael Vidstedt
1f5e21a16e Merge 2020-07-15 21:24:39 -07:00
Roland Westrelin
b67814941f 8229495: SIGILL in C2 generated OSR compilation
Reviewed-by: kvn, chagedorn
2020-07-01 17:28:49 +02:00
Christian Hagedorn
840867efa6 8247218: Add default constructor to VectorSet to use Thread::current()->resource_area() as arena by default
Add a default construction to VectorSet and clean up uses of the old constructor.

Reviewed-by: kvn, thartmann
2020-06-29 17:14:19 +02:00
Christian Hagedorn
08df6a1f15 8246203: Segmentation fault in verification due to stack overflow with -XX:+VerifyIterativeGVN
Replace the recursive verification algorithm with an iterative one to avoid a stack overflow for large graphs.

Reviewed-by: kvn, thartmann
2020-06-15 09:50:11 +02:00
Tobias Hartmann
0c7e01fa32 8242108: Performance regression after fix for JDK-8229496
Backed out the fix for 8229496.

Reviewed-by: kvn, roland
2020-04-22 16:22:53 +02:00
Erik Österlund
76a8557d0c 8241438: Move IntelJccErratum mitigation code to platform-specific code
Reviewed-by: vlivanov, kvn
2020-04-08 15:34:56 +00:00
Christian Hagedorn
307b376a9b 8241595: Fix missing debug_orig information in Ideal Graph Visualizer
Show missing debug_orig information for nodes in Ideal Graph Visualizer.

Reviewed-by: kvn, neliasso
2020-03-26 13:43:51 +01:00
Roland Westrelin
b8f8dea9c2 8241365: Define Unique_Node_List::contains() to prevent usage by mistake
Reviewed-by: kvn, thartmann
2020-03-20 13:58:05 +01:00
Erik Österlund
ccdde49728 8234160: Enable optimized mitigation for Intel jcc erratum in C2
Reviewed-by: thartmann, vlivanov, pliden
2020-02-24 14:37:30 +00:00
Roland Westrelin
52d46c314b 8238691: C2: turn subtype check into macro node
Reviewed-by: vlivanov, thartmann
2020-02-14 10:31:34 +01:00
Claes Redestad
12adeca887 8233708: VectorSet cleanup
Reviewed-by: neliasso, shade, thartmann
2019-11-07 12:12:39 +01: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
Roland Westrelin
a63b541842 8230061: # assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node
Reviewed-by: thartmann, neliasso
2019-08-28 15:51:03 +02:00
Christian Hagedorn
2c3973af9b 8225653: Provide more information when hitting SIGILL from HaltNode
Add information string for each HaltNode which is printed if hit at runtime.

Reviewed-by: vlivanov, thartmann
2019-09-10 08:43:33 +02:00
Tobias Hartmann
a4b46ccc23 8229496: SIGFPE (division by zero) in C2 OSR compiled method
Adding a CastNode to keep the dependency between the div/mod operation and the zero check.

Reviewed-by: roland, mdoerr
2019-09-05 13:56:17 +02:00
Erik Österlund
a8842c9f59 8225642: ZGC: Crash due to bad oops being spilled to stack in load barriers
Co-authored-by: Stuart Monteith <stuart.monteith@linaro.org>
Reviewed-by: neliasso, pliden
2019-07-02 11:33:05 +02:00
Nils Eliasson
75e9d0a290 8224675: Late GC barrier insertion for ZGC
Reviewed-by: roland, eosterlund, pliden
2019-02-14 14:54:05 +01:00
Rahul Raghavan
da85e43f56 8213416: Replace some enums with static const members in hotspot/compiler
Changes to fix enumeral and non-enumeral type in conditional expression warnings with -Wextra for gcc on hotspot

Reviewed-by: kvn, thartmann
2019-05-28 12:01:52 +05:30
Vladimir Ivanov
2e0c5db11d 8219902: C2: MemNode::can_see_stored_value() ignores casts which carry control dependency
Reviewed-by: kvn
2019-05-06 12:15:55 -07:00
Patric Hedlin
f4faee7bae 8223140: Clean-up in 'ok_to_convert()'
Simplify logic in function. Added precond/postcond macros.

Reviewed-by: vlivanov, neliasso
2019-04-17 14:55:11 +02:00
Roman Kennke
03ab1404f0 8221766: Load-reference barriers for Shenandoah
Reviewed-by: kvn, erikj, aph, shade
2019-04-02 23:00:22 +02:00
Derek Thomson
7a4b473edd 8157372: C2: Node::cmp() should return bool
The method Node::cmp() should return a boolean

Reviewed-by: vlivanov, kvn
2019-03-28 11:06:00 -07:00
Coleen Phillimore
154a1a02bf 8216167: Update include guards to reflect correct directories
Use script and some manual fixup to fix directores names in include guards.

Reviewed-by: lfoltan, eosterlund, kbarrett
2019-01-10 15:13:51 -05:00
Roman Kennke
8b62a2ee9d 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
Co-authored-by: Christine Flood <chf@redhat.com>
Co-authored-by: Aleksey Shipilev <shade@redhat.com>
Co-authored-by: Roland Westrelin <rwestrel@redhat.com>
Co-authored-by: Zhenygu Gu <zgu@redhat.com>
Co-authored-by: Andrew Haley <aph@redhat.com>
Co-authored-by: Andrew Dinn <adinn@redhat.com>
Co-authored-by: Mario Torre <mtorre@redhat.com>
Reviewed-by: kvn, roland, shade, coleenp, lmesnik, pliden, jgeorge, ihse, erikj
2018-12-10 15:47:44 +01:00
Roland Westrelin
b2541f90e6 8212673: jtreg/applications/runthese/RunThese30M.java fails in C2 with "assert(!had_error) failed: bad dominance"
Reviewed-by: thartmann, kvn, shade
2018-11-08 10:08:52 +01:00
Roman Kennke
cb17e450b3 8212603: Need to step over GC barriers in Node::eqv_uncast()
Reviewed-by: shade, kvn, eosterlund
2018-10-18 21:14:49 +02:00
Roland Westrelin
7135605c6f 8209691: Allow MemBar on single memory slice
Reviewed-by: kvn, vlivanov
2018-08-22 10:29:17 +02:00
Goetz Lindenmaier
2e682fa3cd 8207049: Minor improvements of compiler code
Reviewed-by: kvn, mdoerr
2018-07-12 16:31:28 +02:00
Roland Westrelin
97dd8bf743 8203197: C2: consider all paths in loop body for loop predication
Reviewed-by: kvn, neliasso
2018-06-19 09:08:39 +02:00
Per Lidén
e7af7a4aef 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Erik Osterlund <erik.osterlund@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Kim Barrett <kim.barrett@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Roland Westrelin <rwestrel@redhat.com>
Co-authored-by: Coleen Phillimore <coleen.phillimore@oracle.com>
Co-authored-by: Robbin Ehn <robbin.ehn@oracle.com>
Co-authored-by: Gerard Ziemski <gerard.ziemski@oracle.com>
Co-authored-by: Hugh Wilkinson <hugh.wilkinson@intel.com>
Co-authored-by: Sandhya Viswanathan <sandhya.viswanathan@intel.com>
Co-authored-by: Bill Wheeler <bill.npo.wheeler@intel.com>
Co-authored-by: Vinay K. Awasthi <vinay.k.awasthi@intel.com>
Co-authored-by: Yasumasa Suenaga <yasuenag@gmail.com>
Reviewed-by: pliden, stefank, eosterlund, ehelin, sjohanss, rbackman, coleenp, ihse, jgeorge, lmesnik, rkennke
2018-06-12 17:40:28 +02:00
Roland Westrelin
93691571bc 8200303: C2 should leverage profiling for lookupswitch/tableswitch
Reviewed-by: kvn, thartmann
2018-04-24 15:07:20 -07:00
Coleen Phillimore
ee9d695757 8199283: Remove ValueObj class for allocation subclassing for compiler code
Reviewed-by: stefank, tschatzl
2018-03-09 20:01:38 -05:00
Roland Westrelin
386e258e20 8186027: C2: loop strip mining
Reviewed-by: kvn, neliasso
2017-11-28 11:59:16 +01:00
Erik Joelsson
3789983e89 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00