RFR 8227568 [lworld][c1] oopmap missing for calls to store_value_type_fields_to_buf
Ioi Lam
ioi.lam at oracle.com
Thu Jul 18 06:35:01 UTC 2019
Hi Tobias,
Thanks foe the review.
On 7/17/19 10:10 PM, Tobias Hartmann wrote:
> Hi Ioi,
>
> looks good to me. Just wondering, why do you need the changes in c1_LIR.cpp:1088?
The reason is there was almost identical code in the old version of
c1_LIRAssembler.cpp around line 488, so I just consolidated the code
into a single place.
Thanks
- Ioi
> 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