mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 07:04:08 +00:00
Merge branch 'master' into v2.1
This commit is contained in:
commit
fddc9650d8
@ -456,7 +456,7 @@ static void asm_retf(ASMState *as, IRIns *ir)
|
||||
emit_addptr(as, base, -8*delta);
|
||||
asm_guard(as, MIPSI_BNE, RID_TMP,
|
||||
ra_allock(as, igcptr(pc), rset_exclude(RSET_GPR, base)));
|
||||
emit_tsi(as, MIPSI_AL, RID_TMP, base, -8);
|
||||
emit_tsi(as, MIPSI_AL, RID_TMP, base, (LJ_BE || LJ_FR2) ? -8 : -4);
|
||||
}
|
||||
|
||||
/* -- Buffer operations --------------------------------------------------- */
|
||||
|
@ -604,12 +604,11 @@ void lj_gc_finalize_cdata(lua_State *L)
|
||||
/* Free all remaining GC objects. */
|
||||
void lj_gc_freeall(global_State *g)
|
||||
{
|
||||
MSize i, strmask;
|
||||
MSize i;
|
||||
/* Free everything, except super-fixed objects (the main thread). */
|
||||
g->gc.currentwhite = LJ_GC_WHITES | LJ_GC_SFIXED;
|
||||
gc_fullsweep(g, &g->gc.root);
|
||||
strmask = g->str.mask;
|
||||
for (i = 0; i <= strmask; i++) /* Free all string hash chains. */
|
||||
for (i = g->str.mask; i != ~(MSize)0; i--) /* Free all string hash chains. */
|
||||
gc_sweepstr(g, &g->str.tab[i]);
|
||||
}
|
||||
|
||||
|
@ -102,12 +102,13 @@ LUALIB_API int luaL_loadfilex(lua_State *L, const char *filename,
|
||||
int status;
|
||||
const char *chunkname;
|
||||
if (filename) {
|
||||
chunkname = lua_pushfstring(L, "@%s", filename);
|
||||
ctx.fp = fopen(filename, "rb");
|
||||
if (ctx.fp == NULL) {
|
||||
L->top--;
|
||||
lua_pushfstring(L, "cannot open %s: %s", filename, strerror(errno));
|
||||
return LUA_ERRFILE;
|
||||
}
|
||||
chunkname = lua_pushfstring(L, "@%s", filename);
|
||||
} else {
|
||||
ctx.fp = stdin;
|
||||
chunkname = "=stdin";
|
||||
|
Loading…
Reference in New Issue
Block a user