RFR 8227568 [lworld][c1] oopmap missing for calls to store_value_type_fields_to_buf
Ioi Lam
ioi.lam at oracle.com
Wed Jul 17 03:34:43 UTC 2019
https://bugs.openjdk.java.net/browse/JDK-8227568
http://cr.openjdk.java.net/~iklam/valhalla/8227568-oompap-for-returned-fields.v01/
The main change is here in c1_LIRAssembler.cpp:
if (op->maybe_return_as_fields(&vk)) {
int offset = store_value_type_fields_to_buf(vk);
add_call_info(offset, op->info(), true);
}
With the oopmap, a GC can happen inside
SharedRuntime::store_value_type_fields_to_buf
when called by C1.
I also reverted the changes in JDK-8226284 (which disabled VerifyStack
checks for
store_value_type_fields_to_buf), because now we can walk the stack due
to the addition
of the oopmaps. (codeBlob.cpp/hpp, interfaceSupport.cpp,
stubGenerator_x86_64.cpp).
Thanks
- Ioi
More information about the valhalla-dev
mailing list