[aarch64-port-dev ] [15] RFR(XS) 8247350: [aarch64] assert(false) failed: wrong size of mach node

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Jun 11 00:40:19 UTC 2020


https://bugs.openjdk.java.net/browse/JDK-8247350
https://cr.openjdk.java.net/~kvn/8247350/webrev.00/

Code size for decodeHeapOop is different in scratch buffer with -XX:+VerifyOops flag on. The difference comes from 
MacroAssembler::mov_immediate64() which generates different code if distance to message string 'b' in mov(rscratch1, 
(address)b) is different.

Use movptr() instead of mov() in verify_oop() method to generate consistent code for loading C string address.
Added debug dump code in case of mismatching code generation.

Tested with failing test case.

Thanks,
Vladimir


More information about the aarch64-port-dev mailing list