Replace on-trace GC frame syncing with interpreter exit.
Need to sync GC objects to stack only during atomic GC phase. Need to setup a proper frame structure only for calling finalizers. Force an exit to the interpreter and let it handle the uncommon cases. Finally solves the "NYI: gcstep sync with frames" issue.
This commit is contained in:
@@ -2613,6 +2613,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
|
||||
| mov L:RB, [DISPATCH+DISPATCH_GL(jit_L)]
|
||||
| mov BASE, [DISPATCH+DISPATCH_GL(jit_base)]
|
||||
| mov aword [DISPATCH+DISPATCH_J(L)], L:RBa
|
||||
| mov dword [DISPATCH+DISPATCH_GL(jit_L)], 0
|
||||
| mov L:RB->base, BASE
|
||||
|.if X64WIN
|
||||
| lea CARG2, [rsp+4*8]
|
||||
|
||||
Reference in New Issue
Block a user