Details
-
Bug
-
Resolution: Fixed
-
P4
-
8-shenandoah, 11.0.9, 13, 14, 15
-
b24
-
generic
-
generic
Description
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.
Attachments
Issue Links
- clones
-
JDK-8244523 Shenandoah: Remove null-handling in LRB expansion
-
- Resolved
-