Integrated: 8261837: SIGSEGV in ciVirtualCallTypeData::translate_from

Dean Long dlong at openjdk.org
Mon Nov 27 22:04:15 UTC 2023


On Mon, 20 Nov 2023 22:42:41 GMT, Dean Long <dlong at openjdk.org> wrote:

> Type profiling code based on the x86 implementation uses XOR to check if the MDO value matches the klass, then later stores that XORed value into the MDO if the MDO value was 0.  However, there is a race here if we reload the MDO value to check for 0, resulting in storing OBJ_KLASS XOR MDO_KLASS back to the MDO.
> 
> I took a stab at riscv, but I don't have a way to test it.

This pull request has now been integrated.

Changeset: 1bb250c9
Author:    Dean Long <dlong at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/1bb250c9e6b65d1a7a2b90eeb7d6e3a936fb8e8e
Stats:     124 lines in 7 files changed: 85 ins; 9 del; 30 mod

8261837: SIGSEGV in ciVirtualCallTypeData::translate_from

Co-authored-by: Fei Yang <fyang at openjdk.org>
Reviewed-by: iveresov, vlivanov, kvn

-------------

PR: https://git.openjdk.org/jdk/pull/16750


More information about the hotspot-compiler-dev mailing list