Try to optimize the code a bit.
所有检测均成功
The build was successful.

这个提交包含在:
Rafal Kupiec 2019-04-03 13:43:31 +02:00
父节点 9acd6fbcb2
当前提交 5eeceb6927
签署人:: belliash
GPG 密钥 ID: 4E829243E0CFE6B4

查看文件

@ -4836,14 +4836,14 @@ static sxi32 VmByteCodeExec(
if(pObj == 0 || pVal == 0) { if(pObj == 0 || pVal == 0) {
PH7_VmMemoryError(&(*pVm)); PH7_VmMemoryError(&(*pVm));
} }
MemObjSetType(pObj, pStatic->iFlags);
if(SySetUsed(&pStatic->aByteCode) > 0) { if(SySetUsed(&pStatic->aByteCode) > 0) {
/* Evaluate initialization expression (Any complex expression) */ /* Evaluate initialization expression (Any complex expression) */
VmLocalExec(&(*pVm), &pStatic->aByteCode, pVal); VmLocalExec(&(*pVm), &pStatic->aByteCode, pVal);
} rc = PH7_MemObjSafeStore(pVal, pObj);
MemObjSetType(pObj, pStatic->iFlags); if(rc != SXRET_OK) {
rc = PH7_MemObjSafeStore(pVal, pObj); PH7_VmThrowError(&(*pVm), PH7_CTX_ERR, "Cannot assign a value of incompatible type to variable '$%z'", &pStatic->sName);
if(rc != SXRET_OK) { }
PH7_VmThrowError(&(*pVm), PH7_CTX_ERR, "Cannot assign a value of incompatible type to variable '$%z'", &pStatic->sName);
} }
pObj->nIdx = pStatic->nIdx; pObj->nIdx = pStatic->nIdx;
} }