Typehinting merge #50

Merged
belliash merged 298 commits from typehinting into master 2019-04-17 11:27:52 +02:00
Showing only changes of commit 253fe327ef - Show all commits

View File

@ -2431,15 +2431,19 @@ static sxi32 VmByteCodeExec(
PH7_MemObjRelease(pTos); PH7_MemObjRelease(pTos);
} else { } else {
pObj = VmExtractMemObj(&(*pVm), &sName, FALSE, TRUE); pObj = VmExtractMemObj(&(*pVm), &sName, FALSE, TRUE);
if(pInstr->iP2 & MEMOBJ_HASHMAP) { if(pInstr->iP2 & MEMOBJ_MIXED && (pInstr->iP2 & MEMOBJ_HASHMAP) == 0) {
ph7_hashmap *pMap; pObj->iFlags = MEMOBJ_MIXED | MEMOBJ_VOID;
pMap = PH7_NewHashmap(&(*pVm), 0, 0); } else {
if(pMap == 0) { if(pInstr->iP2 & MEMOBJ_HASHMAP) {
PH7_VmMemoryError(&(*pVm)); ph7_hashmap *pMap;
pMap = PH7_NewHashmap(&(*pVm), 0, 0);
if(pMap == 0) {
PH7_VmMemoryError(&(*pVm));
}
pObj->x.pOther = pMap;
} }
pObj->x.pOther = pMap; MemObjSetType(pObj, pInstr->iP2);
} }
MemObjSetType(pObj, pInstr->iP2);
} }
pTos->nIdx = SXU32_HIGH; /* Mark as constant */ pTos->nIdx = SXU32_HIGH; /* Mark as constant */
break; break;