RFR 8227568 [lworld][c1] oopmap missing for calls to store_value_type_fields_to_buf

Tobias Hartmann tobias.hartmann at oracle.com
Thu Jul 18 05:10:48 UTC 2019


Hi Ioi,

looks good to me. Just wondering, why do you need the changes in c1_LIR.cpp:1088?

Thanks,
Tobias

On 17.07.19 05:34, Ioi Lam wrote:
> 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