diff options
Diffstat (limited to 'src/ldo.js')
-rw-r--r-- | src/ldo.js | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -24,11 +24,11 @@ const TS = defs.thread_status; const seterrorobj = function(L, errcode, oldtop) { switch (errcode) { case TS.LUA_ERRMEM: { - L.stack[oldtop] = new lobject.TValue(CT.LUA_TLNGSTR, lstring.luaS_newliteral(L, "not enough memory")); + lobject.setsvalue2s(L, oldtop, lstring.luaS_newliteral(L, "not enough memory")); break; } case TS.LUA_ERRERR: { - L.stack[oldtop] = new lobject.TValue(CT.LUA_TLNGSTR, lstring.luaS_newliteral(L, "error in error handling")); + lobject.setsvalue2s(L, oldtop, lstring.luaS_newliteral(L, "error in error handling")); break; } default: { @@ -465,7 +465,8 @@ const recover = function(L, status) { */ const resume_error = function(L, msg, narg) { L.top -= narg; /* remove args from the stack */ - L.stack[L.top++] = new lobject.TValue(CT.LUA_TLNGSTR, lstring.luaS_newliteral(L, msg)); /* push error message */ + lobject.setsvalue2s(L, L.top, lstring.luaS_newliteral(L, msg)); /* push error message */ + L.top++; assert(L.top <= L.ci.top, "stack overflow"); return TS.LUA_ERRRUN; }; |