FFI: Don't load PC from non-function object in FFI continuation.
Reported by Yichun Zhang. #743
This commit is contained in:
@@ -562,12 +562,12 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
| cmp CARG1, #1
|
||||
|.endif
|
||||
| ldr PC, [CARG4, #-24] // Restore PC from [cont|PC].
|
||||
| ldr CARG3, LFUNC:CARG3->pc
|
||||
| add TMP0, RA, RC
|
||||
| str TISNIL, [TMP0, #-8] // Ensure one valid arg.
|
||||
|.if FFI
|
||||
| bls >1
|
||||
|.endif
|
||||
| ldr CARG3, LFUNC:CARG3->pc
|
||||
| ldr KBASE, [CARG3, #PC2PROTO(k)]
|
||||
| // BASE = base, RA = resultptr, CARG4 = meta base
|
||||
| br CARG1
|
||||
|
||||
Reference in New Issue
Block a user