Investigate, and simplify if possible, C2's modeling of fast locking/unlocking by embedding the effect of BoxLock into the FastLock/FastUnlock nodes.
Suggestion from [~dlong]:
"I know the front end uses the BoxLock for things like lock elimination (...). For the backend, all we need is the slot #. For FastLock/FastUnlock nodes, we could use a constant as the input instead of a BoxLockNode, or even remove the input and embedded the slot # in the FastLockNode at construction time. However the OSR entry point does use the BoxLock node as a memory address."
Suggestion from [~dlong]:
"I know the front end uses the BoxLock for things like lock elimination (...). For the backend, all we need is the slot #. For FastLock/FastUnlock nodes, we could use a constant as the input instead of a BoxLockNode, or even remove the input and embedded the slot # in the FastLockNode at construction time. However the OSR entry point does use the BoxLock node as a memory address."
- relates to
-
JDK-8337660 C2: basic blocks with only BoxLock nodes are wrongly treated as empty
-
- Closed
-