Cleanup after 2c37807370 - get rid of global keyword, #29.
The build was successful. Details

This commit is contained in:
Rafal Kupiec 2018-08-07 12:27:21 +02:00
parent a4e6962a67
commit cdc58f2795
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4
2 changed files with 0 additions and 71 deletions

View File

@ -529,48 +529,6 @@ static sxi32 VmEnterFrame(
} }
return SXRET_OK; return SXRET_OK;
} }
/*
* Link a foreign variable with the TOP most active frame.
* Refer to the PH7_OP_UPLINK instruction implementation for more
* information.
*/
static sxi32 VmFrameLink(ph7_vm *pVm, SyString *pName) {
VmFrame *pTarget, *pFrame;
SyHashEntry *pEntry = 0;
sxi32 rc;
/* Point to the upper frame */
pFrame = pVm->pFrame;
while(pFrame->pParent && (pFrame->iFlags & VM_FRAME_EXCEPTION)) {
/* Safely ignore the exception frame */
pFrame = pFrame->pParent;
}
pTarget = pFrame;
pFrame = pTarget->pParent;
while(pFrame) {
if((pFrame->iFlags & VM_FRAME_EXCEPTION) == 0) {
/* Query the current frame */
pEntry = SyHashGet(&pFrame->hVar, (const void *)pName->zString, pName->nByte);
if(pEntry) {
/* Variable found */
break;
}
}
/* Point to the upper frame */
pFrame = pFrame->pParent;
}
if(pEntry == 0) {
/* Inexistent variable */
return SXERR_NOTFOUND;
}
/* Link to the current frame */
rc = SyHashInsert(&pTarget->hVar, pEntry->pKey, pEntry->nKeyLen, pEntry->pUserData);
if(rc == SXRET_OK) {
sxu32 nIdx;
nIdx = SX_PTR_TO_INT(pEntry->pUserData);
PH7_VmRefObjInstall(&(*pVm), nIdx, SyHashLastEntry(&pTarget->hVar), 0, 0);
}
return rc;
}
/* /*
* Leave the top-most active frame. * Leave the top-most active frame.
*/ */
@ -4349,31 +4307,6 @@ static sxi32 VmByteCodeExec(
} }
break; break;
} }
/*
* OP_UPLINK P1 * *
* Link a variable to the top active VM frame.
* This is used to implement the 'global' PHP construct.
*/
case PH7_OP_UPLINK: {
if(pVm->pFrame->pParent) {
ph7_value *pLink = &pTos[-pInstr->iP1 + 1];
SyString sName;
/* Perform the link */
while(pLink <= pTos) {
if((pLink->iFlags & MEMOBJ_STRING) == 0) {
/* Force a string cast */
PH7_MemObjToString(pLink);
}
SyStringInitFromBuf(&sName, SyBlobData(&pLink->sBlob), SyBlobLength(&pLink->sBlob));
if(sName.nByte > 0) {
VmFrameLink(&(*pVm), &sName);
}
pLink++;
}
}
VmPopOperand(&pTos, pInstr->iP1);
break;
}
/* /*
* OP_LOAD_EXCEPTION * P2 P3 * OP_LOAD_EXCEPTION * P2 P3
* Push an exception in the corresponding container so that * Push an exception in the corresponding container so that
@ -6043,9 +5976,6 @@ static const char *VmInstrToString(sxi32 nOp) {
case PH7_OP_MEMBER: case PH7_OP_MEMBER:
zOp = "MEMBER "; zOp = "MEMBER ";
break; break;
case PH7_OP_UPLINK:
zOp = "UPLINK ";
break;
case PH7_OP_ERR_CTRL: case PH7_OP_ERR_CTRL:
zOp = "ERR_CTRL "; zOp = "ERR_CTRL ";
break; break;

View File

@ -1365,7 +1365,6 @@ enum ph7_vm_op {
PH7_OP_LOAD_REF, /* Load reference */ PH7_OP_LOAD_REF, /* Load reference */
PH7_OP_STORE_REF, /* Store a reference to a variable*/ PH7_OP_STORE_REF, /* Store a reference to a variable*/
PH7_OP_MEMBER, /* Class member run-time access */ PH7_OP_MEMBER, /* Class member run-time access */
PH7_OP_UPLINK, /* Run-Time frame link */
PH7_OP_CVT_NULL, /* NULL cast */ PH7_OP_CVT_NULL, /* NULL cast */
PH7_OP_CVT_ARRAY, /* Array cast */ PH7_OP_CVT_ARRAY, /* Array cast */
PH7_OP_CVT_OBJ, /* Object cast */ PH7_OP_CVT_OBJ, /* Object cast */