RFR(S): 8219642: ciReplay loads wrong data when MethodData size changes

Tobias Hartmann tobias.hartmann at oracle.com
Fri Mar 8 13:14:17 UTC 2019


Hi Nils,

looks good to me too.

Best regards,
Tobias

On 08.03.19 12:06, Nils Eliasson wrote:
> A second review, please.
> 
> Regards,
> 
> Nils
> 
> 
> On 2019-02-25 14:16, Nils Eliasson wrote:
>>
>> Hi,
>>
>> I stumbled upon this problem when trying to
>> reproduce https://bugs.openjdk.java.net/browse/JDK-8219448 on JDK 13. The crash was recorded on a
>> late 12 build, but the issue doesn't reproduce on 13. A bisection revealed that JDK-8210832
>> <https://bugs.openjdk.java.net/browse/JDK-8210832> "Remove sneaky locking in class Monitor" caused
>> the problem, at it doesn't even touch the compilers. 
>>
>> The problem is that when ciReplay serializes a ciMethodData it will serialize a MethodData as an
>> array preceded by the size. 
>> But a MethodData contains an inlined Mutex, and its size changed with the removal of sneaky locking. 
>>
>> This fix adds code for detecting a size change of MethodData, and tries to recover by adding
>> padding or dropping data. Since all non significant serialization data are in the beginning, the
>> padding or dropping of data is done from the start.
>>
>> https://bugs.openjdk.java.net/browse/JDK-8219642
>>
>> http://cr.openjdk.java.net/~neliasso/8219642/webrev.01/
>>
>> Please review,
>>
>> Nils Eliasson
>>
>>
>>


More information about the hotspot-compiler-dev mailing list