[YANGTOOLS-1025] DataTreeModification does not require volatile seals Created: 06/Sep/19 Updated: 04/Sep/23 Resolved: 09/Oct/19 |
|
| Status: | Resolved |
| Project: | yangtools |
| Component/s: | data-impl |
| Affects Version/s: | None |
| Fix Version/s: | 4.0.2 |
| Type: | Improvement | Priority: | Medium |
| Reporter: | Robert Varga | Assignee: | Robert Varga |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
InMemoryDataTreeModification.isSealed() is invoked on every access, and it being volatile kind of hurts JIT's ability to optimize by reordering. We should be able to optimize isSealed() to be only an acquire load, without it being ordered against all other accesses. Note that seal() operation needs to be a volatile store, to ensure that happens-before is maintained across that boundary. |