Details
-
Enhancement
-
Resolution: Fixed
-
P4
-
8-shenandoah, 11-shenandoah, 13, 14, 15
-
b18
-
generic
-
generic
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8245881 | 14u-cpu | Roman Kennke | P4 | Resolved | Fixed | master |
JDK-8245322 | 14.0.2 | Roman Kennke | P4 | Resolved | Fixed | b08 |
Description
Currently, the LRB slow-path call does 2-3 calls in a row:
compiled code -> runtime entry
runtime entry -> ShBS::load_reference_barrier_mutator()
ShBS::lrb_mutator() -> ShBS::lrb_mutator_work()
The first in unavoidable, but none of the other two are marked inlined and are in a separate compilation-unit. Further, the middle-call is not needed. We can call straight from ShRuntime into the templated-inlined lrb_mutator() method.
compiled code -> runtime entry
runtime entry -> ShBS::load_reference_barrier_mutator()
ShBS::lrb_mutator() -> ShBS::lrb_mutator_work()
The first in unavoidable, but none of the other two are marked inlined and are in a separate compilation-unit. Further, the middle-call is not needed. We can call straight from ShRuntime into the templated-inlined lrb_mutator() method.
Attachments
Issue Links
- backported by
-
JDK-8245322 Shenandoah: Inline LRB runtime call
-
- Resolved
-
-
JDK-8245881 Shenandoah: Inline LRB runtime call
-
- Resolved
-