x64: Add LJ_GC64 mode interpreter.

Enable this mode with: make XCFLAGS=-DLUAJIT_ENABLE_GC64
This commit is contained in:
Mike Pall
2015-05-04 06:30:57 +02:00
parent 5caf53d502
commit a92e730233
8 changed files with 4906 additions and 5 deletions

View File

@@ -121,7 +121,12 @@ collect_attrib:
idx = (ptrdiff_t)intV(key);
goto integer_key;
} else if (tvisnum(key)) { /* Numeric key. */
idx = LJ_64 ? (ptrdiff_t)numV(key) : (ptrdiff_t)lj_num2int(numV(key));
#ifdef _MSC_VER
/* Workaround for MSVC bug. */
volatile
#endif
lua_Number n = numV(key);
idx = LJ_64 ? (ptrdiff_t)n : (ptrdiff_t)lj_num2int(n);
integer_key:
if (ctype_ispointer(ct->info)) {
CTSize sz = lj_ctype_size(cts, ctype_cid(ct->info)); /* Element size. */