RFR(S): 8219642: ciReplay loads wrong data when MethodData size changes
tobias.hartmann at oracle.com
Fri Mar 8 13:14:17 UTC 2019
looks good to me too.
On 08.03.19 12:06, Nils Eliasson wrote:
> A second review, please.
> On 2019-02-25 14:16, Nils Eliasson wrote:
>> 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.
>> Please review,
>> Nils Eliasson
More information about the hotspot-compiler-dev