aboutsummaryrefslogtreecommitdiff
path: root/src/lj_asm.c
diff options
context:
space:
mode:
authorMike Pall <mike>2023-07-12 22:34:46 +0200
committerMike Pall <mike>2023-07-12 22:34:46 +0200
commit8635cbabf3094c4d8bd00578c7d812bea87bb2d3 (patch)
tree79b0a06dba15ef8871baec091d0e51b162bc3f94 /src/lj_asm.c
parent8fbd576fb9414a5fa70dfa6069733d3416a78269 (diff)
parentaa2db7ebd1267836af5221336ccb4e9b4aa8372d (diff)
downloadluajit-8635cbabf3094c4d8bd00578c7d812bea87bb2d3.tar.gz
luajit-8635cbabf3094c4d8bd00578c7d812bea87bb2d3.tar.bz2
luajit-8635cbabf3094c4d8bd00578c7d812bea87bb2d3.zip
Merge branch 'master' into v2.1
Diffstat (limited to 'src/lj_asm.c')
-rw-r--r--src/lj_asm.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c
index 0fcd8485..7ce2e5d2 100644
--- a/src/lj_asm.c
+++ b/src/lj_asm.c
@@ -1889,6 +1889,7 @@ static void asm_head_side(ASMState *as)
1889 RegSet allow = RSET_ALL; /* Inverse of all coalesced registers. */ 1889 RegSet allow = RSET_ALL; /* Inverse of all coalesced registers. */
1890 RegSet live = RSET_EMPTY; /* Live parent registers. */ 1890 RegSet live = RSET_EMPTY; /* Live parent registers. */
1891 RegSet pallow = RSET_GPR; /* Registers needed by the parent stack check. */ 1891 RegSet pallow = RSET_GPR; /* Registers needed by the parent stack check. */
1892 Reg pbase;
1892 IRIns *irp = &as->parent->ir[REF_BASE]; /* Parent base. */ 1893 IRIns *irp = &as->parent->ir[REF_BASE]; /* Parent base. */
1893 int32_t spadj, spdelta; 1894 int32_t spadj, spdelta;
1894 int pass2 = 0; 1895 int pass2 = 0;
@@ -1899,7 +1900,11 @@ static void asm_head_side(ASMState *as)
1899 /* Force snap #0 alloc to prevent register overwrite in stack check. */ 1900 /* Force snap #0 alloc to prevent register overwrite in stack check. */
1900 asm_snap_alloc(as, 0); 1901 asm_snap_alloc(as, 0);
1901 } 1902 }
1902 allow = asm_head_side_base(as, irp, allow); 1903 pbase = asm_head_side_base(as, irp);
1904 if (pbase != RID_NONE) {
1905 rset_clear(allow, pbase);
1906 rset_clear(pallow, pbase);
1907 }
1903 1908
1904 /* Scan all parent SLOADs and collect register dependencies. */ 1909 /* Scan all parent SLOADs and collect register dependencies. */
1905 for (i = as->stopins; i > REF_BASE; i--) { 1910 for (i = as->stopins; i > REF_BASE; i--) {