28 Commits

Author SHA1 Message Date
Nhat Nguyen
5fedfa707e 8251271: C2: Compile::_for_igvn list is corrupted after RenumberLiveNodes
Reviewed-by: vlivanov, thartmann
2020-10-20 06:18:49 +00:00
Roberto Castaneda Lozano
fed3636f12 8252219: C2: Randomize IGVN worklist for stress testing
Add 'StressIGVN' option to let C2 randomize IGVN worklist order. When enabled,
the worklist is shuffled before each main run of the IGVN loop. Also add
'StressSeed=N' option to specify the seed. If the seed is not specified, a
random one is generated. In either case, the seed is logged if 'LogCompilation'
is enabled. The new options are declared as production+diagnostic for
consistency with the existing 'StressLCM' and 'StressGCM' options.

Reviewed-by: kvn, chagedorn, thartmann
2020-09-28 06:44:58 +00:00
Roberto Castaneda Lozano
dcde95ba0d 8253586: C2: Clean up unused PhaseIterGVN::init_worklist()
Remove unused method PhaseIterGVN::init_worklist(Node *).

Reviewed-by: thartmann, chagedorn, neliasso
2020-09-25 06:53:48 +00: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
Roland Westrelin
f2b7509d5a 8237951: CTW: C2 compilation fails with "malformed control flow"
Reviewed-by: vlivanov, kvn
2020-01-28 13:36:30 +01:00
Nils Eliasson
e1b94b1635 8235653: Clean-up BarrierSetC2
Reviewed-by: redestad, rkennke, thartmann
2019-12-11 14:08:20 +01: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
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
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
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
Christian Hagedorn
a3c85f810c 6394013: C2: Remove VerifyOpto
Removed the VerifyOpto flag.

Reviewed-by: kvn, thartmann
2019-08-05 08:03:25 +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
Vladimir Ivanov
0a5a0b1a29 8217918: C2: -XX:+AggressiveUnboxing is broken
Reviewed-by: kvn
2019-02-01 18:50:22 -08:00
Roland Westrelin
b68257174d 8214862: assert(proj != __null) at compile.cpp:3251
Reviewed-by: kvn, thartmann
2018-12-07 17:56:51 +01:00
Roman Kennke
4b528df402 8214055: GC/C2 abstraction for phaseX
Reviewed-by: kvn, roland
2018-11-22 09:22:54 +01:00
Roman Kennke
9ba72c0c2c 8213381: Hook to allow GC to inject Node::Ideal() calls
Reviewed-by: kvn, eosterlund, roland
2018-11-06 23:03:05 +01:00
Roland Westrelin
b4c401fa37 8212611: Small collection of simple changes from shenandoah
Reviewed-by: thartmann, kvn, eosterlund
2018-10-17 10:19:13 +02:00
Tobias Hartmann
8e0e188abd 8210387: C2 compilation fails with "assert(node->_last_del == _last) failed: must have deleted the edge just produced"
Refresh iterator and start from the beginning while there is progress when removing dead regions.

Reviewed-by: kvn
2018-09-12 09:23:36 +02:00
Erik Österlund
ce61e39060 8208601: Introduce native oop barriers in C2 for OopHandle
Reviewed-by: neliasso, kvn
2018-08-22 13:06:33 +02:00
Thomas Schatzl
e98c176026 8208670: Compiler changes to allow enabling -Wreorder
Reviewed-by: kvn
2018-08-08 15:31:06 +02:00
Erik Österlund
53ec88908c 8202377: Modularize C2 GC barriers
Reviewed-by: neliasso, roland
2018-05-18 14:51:06 +02:00
Coleen Phillimore
1ee531afe9 8200555: OopHandle should use Access API
Add RootAccess<> to OopHandle.resolve() in runtime and interpreter code.  Add comments for compiler code for later.

Reviewed-by: eosterlund, stefank
2018-04-18 10:39:40 -04:00
Roland Westrelin
98db6d11f3 8193130: Bad graph when unrolled loop bounds conflicts with range checks
Reviewed-by: kvn, thartmann
2018-03-22 20:21:19 -07:00
Dean Long
4714dab4cb 8194988: 8 Null pointer dereference defect groups related to MultiNode::proj_out()
Reviewed-by: kvn
2018-01-17 14:25:47 -08:00
Coleen Phillimore
e908052a71 8189610: Reconcile jvm.h and all jvm_md.h between java.base and hotspot
Removed hotspot version of jvm*h and jni*h files.

Reviewed-by: ihse, mchung, dholmes
2017-10-31 11:55:09 -04:00
Tobias Hartmann
f8843b83da 8188785: CCP sets invalid type for java mirror load
Added special case for java mirror load to propagate correct type information.

Reviewed-by: kvn
2017-10-25 08:37:41 +02:00
Erik Joelsson
3789983e89 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00