summaryrefslogtreecommitdiff
path: root/src/lj_vm.h
diff options
context:
space:
mode:
authorMike Pall <mike>2010-08-29 20:04:40 +0200
committerMike Pall <mike>2010-08-29 20:04:40 +0200
commite1efd0d871e816bb6d2851b5941ba3b4b3d1d01b (patch)
tree24525d41b885e981c2471a42e8f97021cd3c4127 /src/lj_vm.h
parent7313a0821dc0c5b82ef3b6a3ad259660ff4d6d47 (diff)
downloadluajit-e1efd0d871e816bb6d2851b5941ba3b4b3d1d01b.tar.gz
luajit-e1efd0d871e816bb6d2851b5941ba3b4b3d1d01b.tar.bz2
luajit-e1efd0d871e816bb6d2851b5941ba3b4b3d1d01b.zip
Minor tweaks to integration of assembler part.
Remove unneeded PC restore in vm_growstack_*. Don't declare symbols that are unused in interpreter-only builds. Don't embed lj_vm_foldfpm in interpreter-only builds. Add 2nd temporary TValue in lua_State.
Diffstat (limited to 'src/lj_vm.h')
-rw-r--r--src/lj_vm.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lj_vm.h b/src/lj_vm.h
index 01667711..2f9b10ec 100644
--- a/src/lj_vm.h
+++ b/src/lj_vm.h
@@ -25,7 +25,9 @@ LJ_ASMF void lj_vm_unwind_ff_eh(void);
25LJ_ASMF int lj_vm_cpuid(uint32_t f, uint32_t res[4]); 25LJ_ASMF int lj_vm_cpuid(uint32_t f, uint32_t res[4]);
26#endif 26#endif
27LJ_ASMF double lj_vm_foldarith(double x, double y, int op); 27LJ_ASMF double lj_vm_foldarith(double x, double y, int op);
28#if LJ_HASJIT
28LJ_ASMF double lj_vm_foldfpm(double x, int op); 29LJ_ASMF double lj_vm_foldfpm(double x, int op);
30#endif
29 31
30/* Dispatch targets for recording and hooks. */ 32/* Dispatch targets for recording and hooks. */
31LJ_ASMF void lj_vm_record(void); 33LJ_ASMF void lj_vm_record(void);
@@ -38,6 +40,8 @@ LJ_ASMF void lj_vm_exit_handler(void);
38LJ_ASMF void lj_vm_exit_interp(void); 40LJ_ASMF void lj_vm_exit_interp(void);
39 41
40/* Handlers callable from compiled code. */ 42/* Handlers callable from compiled code. */
43#if LJ_HASJIT
44#if LJ_TARGET_X86ORX64
41LJ_ASMF void lj_vm_floor_sse(void); 45LJ_ASMF void lj_vm_floor_sse(void);
42LJ_ASMF void lj_vm_ceil_sse(void); 46LJ_ASMF void lj_vm_ceil_sse(void);
43LJ_ASMF void lj_vm_trunc_sse(void); 47LJ_ASMF void lj_vm_trunc_sse(void);
@@ -45,6 +49,13 @@ LJ_ASMF void lj_vm_exp(void);
45LJ_ASMF void lj_vm_exp2(void); 49LJ_ASMF void lj_vm_exp2(void);
46LJ_ASMF void lj_vm_pow_sse(void); 50LJ_ASMF void lj_vm_pow_sse(void);
47LJ_ASMF void lj_vm_powi_sse(void); 51LJ_ASMF void lj_vm_powi_sse(void);
52#else
53LJ_ASMF void lj_vm_floor(void);
54LJ_ASMF void lj_vm_ceil(void);
55LJ_ASMF void lj_vm_trunc(void);
56LJ_ASMF void lj_vm_powi(void);
57#endif
58#endif
48 59
49/* Continuations for metamethods. */ 60/* Continuations for metamethods. */
50LJ_ASMF void lj_cont_cat(void); /* Continue with concatenation. */ 61LJ_ASMF void lj_cont_cat(void); /* Continue with concatenation. */