瀏覽代碼

Merge branch 'master' into v2.1

Mike Pall 10 年之前
父節點
當前提交
8cc89332ff
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      src/lj_asm.c

+ 5 - 0
src/lj_asm.c

@@ -1721,6 +1721,11 @@ static void asm_head_side(ASMState *as)
   int pass3 = 0;
   IRRef i;
 
+  if (as->snapno && as->topslot > as->parent->topslot) {
+    /* Force snap #0 alloc to prevent register overwrite in stack check. */
+    as->snapno = 0;
+    asm_snap_alloc(as);
+  }
   allow = asm_head_side_base(as, irp, allow);
 
   /* Scan all parent SLOADs and collect register dependencies. */