Release all elements in object allocation table.
The build was successful. Details

This commit is contained in:
Rafal Kupiec 2019-06-29 15:54:05 +02:00
parent 204060fa9d
commit 171456beb4
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4
1 changed files with 5 additions and 1 deletions

View File

@ -5056,7 +5056,7 @@ PH7_PRIVATE sxi32 PH7_VmByteCodeExec(ph7_vm *pVm) {
ph7_class *pClass; ph7_class *pClass;
ph7_class_instance *pInstance; ph7_class_instance *pInstance;
ph7_class_method *pMethod; ph7_class_method *pMethod;
ph7_value *pArgs, *sArgv; ph7_value *pArgs, *sArgv, *pObj;
ph7_value pResult; ph7_value pResult;
char *zDup; char *zDup;
const char *zStr, *zParam; const char *zStr, *zParam;
@ -5122,6 +5122,10 @@ PH7_PRIVATE sxi32 PH7_VmByteCodeExec(ph7_vm *pVm) {
pVm->iExitStatus = 0; pVm->iExitStatus = 0;
} }
} }
/* Garbage collector over all elements in object allocation table */
while(SySetGetNextEntry(&pVm->aMemObj, (void **)&pObj) == SXRET_OK) {
PH7_MemObjRelease(pObj);
}
/* Invoke any shutdown callbacks */ /* Invoke any shutdown callbacks */
VmInvokeShutdownCallbacks(&(*pVm)); VmInvokeShutdownCallbacks(&(*pVm));
/* /*