Typehinting merge #50
|
@ -1406,7 +1406,7 @@ static sxi32 PH7_CompileConstant(ph7_gen_state *pGen) {
|
|||
/* Compile constant value */
|
||||
rc = PH7_CompileExpr(&(*pGen), 0, 0);
|
||||
/* Emit the done instruction */
|
||||
PH7_VmEmitInstr(pGen->pVm, nLine, PH7_OP_DONE, (rc != SXERR_EMPTY ? 1 : 0), 0, 0, 0);
|
||||
PH7_VmEmitInstr(pGen->pVm, nLine, PH7_OP_DONE, (rc != SXERR_EMPTY ? 1 : 0), 1, 0, 0);
|
||||
PH7_VmSetByteCodeContainer(pGen->pVm, pInstrContainer);
|
||||
if(rc == SXERR_ABORT) {
|
||||
/* Don't worry about freeing memory, everything will be released shortly */
|
||||
|
|
|
@ -2010,7 +2010,7 @@ static sxi32 VmByteCodeExec(
|
|||
*/
|
||||
switch(pInstr->iOp) {
|
||||
/*
|
||||
* DONE: P1 * *
|
||||
* DONE: P1 P2 *
|
||||
*
|
||||
* Program execution completed: Clean up the mess left behind
|
||||
* and return immediately.
|
||||
|
@ -2028,7 +2028,7 @@ static sxi32 VmByteCodeExec(
|
|||
if(pResult) {
|
||||
/* Execution result */
|
||||
PH7_MemObjStore(pTos, pResult);
|
||||
if(pVm->pFrame->iFlags & VM_FRAME_ACTIVE) {
|
||||
if(!pInstr->iP2 && pVm->pFrame->iFlags & VM_FRAME_ACTIVE) {
|
||||
ph7_vm_func *pFunc = (ph7_vm_func *)pVm->pFrame->pUserData;
|
||||
if(pFunc->nType) {
|
||||
if((pFunc->nType & MEMOBJ_MIXED) == 0) {
|
||||
|
|
Loading…
Reference in New Issue