Skip to content

Commit ed9afed

Browse files
committed
Remove redundant sq_resetobject() for SquirrelVM::lastError_
lastError_ is only changed by SquirrelVM::RaiseException(), which already resets the object.
1 parent 7986bfe commit ed9afed

1 file changed

Lines changed: 16 additions & 21 deletions

File tree

sp/src/vscript/vscript_squirrel.cpp

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1460,8 +1460,6 @@ SQInteger function_stub(HSQUIRRELVM vm)
14601460
SquirrelVM* pSquirrelVM = (SquirrelVM*)sq_getsharedforeignptr(vm);
14611461
Assert(pSquirrelVM);
14621462

1463-
sq_resetobject(&pSquirrelVM->lastError_);
1464-
14651463
bool call_success = (*pFunc->m_pfnBinding)(pFunc->m_pFunction, instance, params.Base(), nargs,
14661464
pFunc->m_desc.m_ReturnType == FIELD_VOID ? nullptr : &script_retval, script_retval_storage);
14671465
Assert(call_success);
@@ -1471,7 +1469,6 @@ SQInteger function_stub(HSQUIRRELVM vm)
14711469
if (!sq_isnull(pSquirrelVM->lastError_))
14721470
{
14731471
sq_pushobject(vm, pSquirrelVM->lastError_);
1474-
sq_resetobject(&pSquirrelVM->lastError_);
14751472
sq_retval = sq_throwobject(vm);
14761473
}
14771474
else
@@ -1555,29 +1552,27 @@ SQInteger constructor_stub(HSQUIRRELVM vm)
15551552
return sqstd_throwerrorf(vm, "Unable to construct instances of %s", pClassDesc->m_pszScriptName);
15561553
}
15571554

1558-
SquirrelVM* pSquirrelVM = (SquirrelVM*)sq_getsharedforeignptr(vm);
1559-
Assert(pSquirrelVM);
1560-
1561-
sq_resetobject(&pSquirrelVM->lastError_);
1555+
SQUserPointer p;
1556+
if (SQ_FAILED(sq_getinstanceup(vm, 1, &p, 0)))
15621557
{
1563-
SQUserPointer p;
1564-
if (SQ_FAILED(sq_getinstanceup(vm, 1, &p, 0)))
1565-
{
1566-
return SQ_ERROR;
1567-
}
1558+
return SQ_ERROR;
1559+
}
15681560

1569-
if (!p)
1570-
{
1571-
return sq_throwerror(vm, "Accessed null instance");
1572-
}
1561+
if (!p)
1562+
{
1563+
return sq_throwerror(vm, "Accessed null instance");
1564+
}
15731565

1574-
void* instance = pClassDesc->m_pfnConstruct();
1566+
void* instance = pClassDesc->m_pfnConstruct();
15751567

1576-
// expect construction to always succeed
1577-
Assert(sq_isnull(pSquirrelVM->lastError_));
1568+
#ifdef DBGFLAG_ASSERT
1569+
SquirrelVM* pSquirrelVM = (SquirrelVM*)sq_getsharedforeignptr(vm);
1570+
Assert(pSquirrelVM);
1571+
// expect construction to always succeed
1572+
Assert(sq_isnull(pSquirrelVM->lastError_));
1573+
#endif
15781574

1579-
new(p) ClassInstanceData(instance, pClassDesc, nullptr, true);
1580-
}
1575+
new(p) ClassInstanceData(instance, pClassDesc, nullptr, true);
15811576

15821577
sq_setreleasehook(vm, 1, &destructor_stub);
15831578

0 commit comments

Comments
 (0)