37 Commits

Author SHA1 Message Date
Roland Westrelin
3bb62dc0d8 8236759: ShouldNotReachHere in PhaseIdealLoop::verify_strip_mined_scheduling
Reviewed-by: thartmann, neliasso
2020-01-13 10:00:30 +01:00
Christian Hagedorn
863f741611 8236140: assert(!VerifyHashTableKeys || _hash_lock == 0) failed: remove node from hash table before modifying it
Add missing rehashing for modified node in InitializeNode::complete_stores().

Reviewed-by: neliasso, thartmann
2020-01-09 16:14:14 +01:00
Tobias Hartmann
34b08ed2a5 8233164: C2 fails with assert(phase->C->get_alias_index(t) == phase->C->get_alias_index(t_adr)) failed: correct memory chain
Use _src_type/_dest_type as address types for the loads and stores.

Reviewed-by: vlivanov, roland
2019-12-23 09:44:35 +01:00
Nils Eliasson
e1b94b1635 8235653: Clean-up BarrierSetC2
Reviewed-by: redestad, rkennke, thartmann
2019-12-11 14:08:20 +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
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
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
2f2ec624a2 8227384: C2 compilation fails with "graph should be schedulable" when running with -XX:-EliminateLocks
Reviewed-by: thartmann, kvn
2019-07-16 08:56:08 +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
da43cb5e46 8224957: C2 compilation fails with assert: Bad graph detected in build_loop_late
Disable walking up the dominator chain for regions with more than 2 input paths.

Reviewed-by: roland, kvn
2019-08-13 09:56:13 +02:00
Erik Österlund
a42636d34b 8227407: ZGC: C2 loads and load barriers can get separated by safepoints
Reviewed-by: neliasso, smonteith, roland
2019-07-29 13:57:54 +02:00
Tobias Hartmann
31d261dda2 8224658: Unsafe access C2 compile fails with assert(flat != TypePtr::BOTTOM) failed: cannot alias-analyze an untyped ptr: adr_type = NULL
Handle unsafe off-heap access with constant zero address.

Reviewed-by: vlivanov, roland
2019-06-12 14:06:16 +02:00
Rahul Raghavan
2f25526470 8225567: Wrong file headers with 8202414 fix changeset
Corrected source file headers

Reviewed-by: thartmann
2019-06-11 14:33:34 +05:30
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
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
Rahul Raghavan
fee481d5a2 8202414: Unsafe write after primitive array creation may result in array length change
Avoided collecting unaligned stores in Initialize node by making can_capture_store return false for same

Reviewed-by: dlong, kvn, vlivanov
2019-05-01 22:02:48 +05:30
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
Nils Eliasson
1057f7e2a7 8219517: assert(false) failed: infinite loop in PhaseIterGVN::optimize
Reviewed-by: kvn, thartmann
2019-03-13 15:22:28 +01:00
Vladimir Ivanov
d41611ebeb 8161334: C2: Cast nodes hinder memory alias analysis
Reviewed-by: kvn, thartmann
2019-02-14 15:27:46 -08:00
Vladimir Ivanov
521039cc35 8218879: Keep track of memory accesses originated from Unsafe
Reviewed-by: thartmann
2019-02-14 15:27:12 -08:00
Jamsheed Mohammed C M
25bd20f5d9 8213825: assert(false) failed: Non-balanced monitor enter/exit! Likely JNI locking
Skip sfpt optimization for Load is removed for Java Object's Markword Load.

Reviewed-by: kvn, dlong
2019-01-23 23:24:10 -08:00
Roland Westrelin
136295d845 8214857: "bad trailing membar" assert failure at memnode.cpp:3220
Reviewed-by: adinn, thartmann
2018-12-03 10:51:03 +01:00
Roman Kennke
bb792b0337 8213371: GC/C2 abstraction and cleanup to handle custom offset for GC memory accesses
Reviewed-by: kvn, roland
2018-11-07 20:21:35 +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
Roland Westrelin
2ab522db78 8211233: MemBarNode::trailing_membar() and MemBarNode::leading_membar() need to handle dying subgraphs better
Reviewed-by: kvn, thartmann
2018-09-27 17:46:01 +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
Roland Westrelin
f3e518394b 8209420: Track membars for volatile accesses so they can be properly optimized
Reviewed-by: adinn, aph, thartmann
2018-08-14 16:54:47 +02:00
Thomas Schatzl
e98c176026 8208670: Compiler changes to allow enabling -Wreorder
Reviewed-by: kvn
2018-08-08 15:31:06 +02:00
Goetz Lindenmaier
2e682fa3cd 8207049: Minor improvements of compiler code
Reviewed-by: kvn, mdoerr
2018-07-12 16:31:28 +02:00
Tobias Hartmann
69438af9ec 8205940: LoadNode::find_previous_arraycopy fails with "broken allocation" assert
Removed assert which is too strong.

Reviewed-by: roland
2018-06-29 11:10:47 +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
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
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
73a801bc43 8186777: Make Klass::_java_mirror an OopHandle
Add indirection for fetching mirror so that GC doesn't have to follow CLD::_klasses

Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Reviewed-by: hseigel, thartmann, eosterlund, stefank
2017-10-03 16:42:04 -04:00
Erik Joelsson
3789983e89 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00