Currently, we have a whole lot of code that deals with null-checking in our LRB expansion:
- We generate a null-check before the cset-check. This used to be necessary when cset-check could not handle null, and because we did read the mark-word from the object. Both is no longer the case.
- We shuffle around preceding or subsequent null-checks, and clone a null-check into the LRB midpath, all of which was necessary to make the null-check in mid-path be transformed into an implicit null-check. It's not needed anymore either.
- We generate a null-check before the cset-check. This used to be necessary when cset-check could not handle null, and because we did read the mark-word from the object. Both is no longer the case.
- We shuffle around preceding or subsequent null-checks, and clone a null-check into the LRB midpath, all of which was necessary to make the null-check in mid-path be transformed into an implicit null-check. It's not needed anymore either.
- is cloned by
-
JDK-8245083 [REDO] Shenandoah: Remove null-handling in LRB expansion
-
- Resolved
-
- relates to
-
JDK-8244594 [BACKOUT] 8244523: Shenandoah: Remove null-handling in LRB expansion
-
- Resolved
-
-
JDK-8244595 [REDO] 8244523: Shenandoah: Remove null-handling in LRB expansion
-
- Resolved
-
-
JDK-8244813 [BACKOUT] 8244523: Shenandoah: Remove null-handling in LRB expansion
-
- Resolved
-