Another fix in debug trace.
The build was successful.
Details
The build was successful.
Details
This commit is contained in:
parent
94ae7d187b
commit
faca9b7fb2
30
engine/vm.c
30
engine/vm.c
|
@ -1733,22 +1733,24 @@ PH7_PRIVATE sxi32 VmExtractDebugTrace(ph7_vm *pVm, SySet *pDebugTrace) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
aTrace.pClassName = NULL;
|
||||
aTrace.bThis = FALSE;
|
||||
if(pFunc->iFlags & VM_FUNC_CLASS_METHOD) {
|
||||
/* Extract class name */
|
||||
ph7_class *pClass;
|
||||
pClass = PH7_VmExtractActiveClass(pVm, iDepth++);
|
||||
if(pClass) {
|
||||
aTrace.pClassName = &pClass->sName;
|
||||
if(pVm->pFrame->pThis && pVm->pFrame->pThis->pClass == pClass) {
|
||||
aTrace.bThis = TRUE;
|
||||
if(aTrace.pFile) {
|
||||
aTrace.pClassName = NULL;
|
||||
aTrace.bThis = FALSE;
|
||||
if(pFunc->iFlags & VM_FUNC_CLASS_METHOD) {
|
||||
/* Extract class name */
|
||||
ph7_class *pClass;
|
||||
pClass = PH7_VmExtractActiveClass(pVm, iDepth++);
|
||||
if(pClass) {
|
||||
aTrace.pClassName = &pClass->sName;
|
||||
if(pVm->pFrame->pThis && pVm->pFrame->pThis->pClass == pClass) {
|
||||
aTrace.bThis = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
rc = SySetPut(pDebugTrace, (const void *)&aTrace);
|
||||
if(rc != SXRET_OK) {
|
||||
break;
|
||||
rc = SySetPut(pDebugTrace, (const void *)&aTrace);
|
||||
if(rc != SXRET_OK) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* Roll frame */
|
||||
|
|
|
@ -1231,7 +1231,7 @@ struct ph7_vm {
|
|||
int nMaxDepth; /* Maximum allowed recursion depth */
|
||||
int nExceptDepth; /* Exception depth */
|
||||
int closure_cnt; /* Loaded closures counter */
|
||||
int json_rc; /* JSON return status [refer to json_encode()/json_decode()]*/
|
||||
int json_rc; /* JSON return status [refer to json_encode()/json_decode()] */
|
||||
ph7_output_consumer sVmConsumer; /* Registered output consumer callback */
|
||||
int iAssertFlags; /* Assertion flags */
|
||||
ph7_value sAssertCallback; /* Callback to call on failed assertions */
|
||||
|
@ -1258,7 +1258,7 @@ struct VmFrame {
|
|||
SyHash hVar; /* Variable hashtable for fast lookup */
|
||||
SySet sArg; /* Function arguments container */
|
||||
SySet sRef; /* Local reference table (VmSlot instance) */
|
||||
sxi32 iFlags; /* Frame configuration flags (See below)*/
|
||||
sxi32 iFlags; /* Frame configuration flags (See below) */
|
||||
sxu32 iExceptionJump; /* Exception jump destination */
|
||||
};
|
||||
#define VM_FRAME_EXCEPTION 0x01 /* Special Exception frame */
|
||||
|
|
Loading…
Reference in New Issue