-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
Milestone
Description
In the .S file (non-Windows) the function is defined outside of JIT_PatchedCodeStart block:
runtime/src/coreclr/vm/arm64/asmhelpers.S
Line 208 in bbe5c66
| WRITE_BARRIER_ENTRY JIT_UpdateWriteBarrierState |
In the .asm file (Windows) the function is defined inside the patchable block:
runtime/src/coreclr/vm/arm64/asmhelpers.asm
Lines 260 to 278 in bbe5c66
| ; ------------------------------------------------------------------ | |
| ; Start of the writeable code region | |
| LEAF_ENTRY JIT_PatchedCodeStart | |
| ret lr | |
| LEAF_END | |
| ;----------------------------------------------------------------------------- | |
| ; void JIT_UpdateWriteBarrierState(bool skipEphemeralCheck, size_t writeableOffset) | |
| ; | |
| ; Update shadow copies of the various state info required for barrier | |
| ; | |
| ; State info is contained in a literal pool at the end of the function | |
| ; Placed in text section so that it is close enough to use ldr literal and still | |
| ; be relocatable. Eliminates need for PREPARE_EXTERNAL_VAR in hot code. | |
| ; | |
| ; Align and group state info together so it fits in a single cache line | |
| ; and each entry can be written atomically | |
| ; | |
| WRITE_BARRIER_ENTRY JIT_UpdateWriteBarrierState |
Which one is correct?
Ref: #92520 (comment)