summaryrefslogtreecommitdiff
path: root/src/lj_asm_ppc.h
diff options
context:
space:
mode:
authorMike Pall <mike>2011-12-12 22:49:19 +0100
committerMike Pall <mike>2011-12-12 23:10:46 +0100
commit10474987bd58a2183d848cc7ef40aa2d4e9125ba (patch)
treedce63a72e48b85750e06430cc838f6e7ba3d344b /src/lj_asm_ppc.h
parent2d8f3d75dfae1839224cf0c726eef9cb3b77eaa3 (diff)
downloadluajit-10474987bd58a2183d848cc7ef40aa2d4e9125ba.tar.gz
luajit-10474987bd58a2183d848cc7ef40aa2d4e9125ba.tar.bz2
luajit-10474987bd58a2183d848cc7ef40aa2d4e9125ba.zip
Move helper for syncing data/instruction cache to lj_mcode.c.
Sync caches after dynamic code generation for FFI callbacks.
Diffstat (limited to 'src/lj_asm_ppc.h')
-rw-r--r--src/lj_asm_ppc.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_asm_ppc.h b/src/lj_asm_ppc.h
index c03d0102..490ad816 100644
--- a/src/lj_asm_ppc.h
+++ b/src/lj_asm_ppc.h
@@ -2130,13 +2130,13 @@ void lj_asm_patchexit(jit_State *J, GCtrace *T, ExitNo exitno, MCode *target)
2130 *px = PPCI_B | ((uint32_t)delta & 0x03ffffffu); 2130 *px = PPCI_B | ((uint32_t)delta & 0x03ffffffu);
2131 } 2131 }
2132 if (!cstart) cstart = px; 2132 if (!cstart) cstart = px;
2133 asm_cache_flush(cstart, px+1); 2133 lj_mcode_sync(cstart, px+1);
2134 if (clearso) { /* Extend the current trace. Ugly workaround. */ 2134 if (clearso) { /* Extend the current trace. Ugly workaround. */
2135 MCode *pp = J->cur.mcode; 2135 MCode *pp = J->cur.mcode;
2136 J->cur.szmcode += sizeof(MCode); 2136 J->cur.szmcode += sizeof(MCode);
2137 *--pp = PPCI_MCRXR; /* Clear SO flag. */ 2137 *--pp = PPCI_MCRXR; /* Clear SO flag. */
2138 J->cur.mcode = pp; 2138 J->cur.mcode = pp;
2139 asm_cache_flush(pp, pp+1); 2139 lj_mcode_sync(pp, pp+1);
2140 } 2140 }
2141 lj_mcode_patch(J, mcarea, 1); 2141 lj_mcode_patch(J, mcarea, 1);
2142} 2142}