RFR: 8267846: [lworld] JIT support for the L/Q model (step 1)
Frederic Parain
fparain at openjdk.java.net
Fri May 28 15:56:14 UTC 2021
On Fri, 28 May 2021 12:18:11 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:
> After https://github.com/openjdk/valhalla/pull/409 and https://github.com/openjdk/valhalla/pull/414 have been integrated, we need to fix the JIT code as well. This mostly means re-applying the old changes from https://github.com/openjdk/valhalla/commit/22dd0da1 and https://github.com/openjdk/valhalla/commit/e895128f and adjust them to the current implementation.
>
> All compiler tests now pass except for `TestNullableInlineTypes`, `TestNullableArrays` and `TestIntrinsics` which need reflection support. The corresponding C2 intrinsics are still broken. I'll fix them with [JDK-8267932](https://bugs.openjdk.java.net/browse/JDK-8267932) once reflection support is available.
>
> Thanks,
> Tobias
src/hotspot/share/c1/c1_Instruction.cpp line 142:
> 140: if (type != NULL) {
> 141: if (type->is_obj_array_klass() && !type->as_obj_array_klass()->is_elem_null_free()) {
> 142: // The runtime type of [LMyValue might be [QMyValue due to [QMyValue <: [LMyValue.
if type->is_obj_array_klass() is true and type->as_obj_array_klass()->is_elem_null_free() is also true, the method returns false, is it the expected behavior?
-------------
PR: https://git.openjdk.java.net/valhalla/pull/431
More information about the valhalla-dev
mailing list