Cleanup after goto removal

This commit is contained in:
Rafal Kupiec 2018-07-23 16:40:32 +02:00
parent 90e2bc676f
commit f8beab654d
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4

View File

@ -42,9 +42,6 @@ typedef struct JumpFixup JumpFixup;
struct JumpFixup { struct JumpFixup {
sxi32 nJumpType; /* Jump type. Either TRUE jump, FALSE jump or Unconditional jump */ sxi32 nJumpType; /* Jump type. Either TRUE jump, FALSE jump or Unconditional jump */
sxu32 nInstrIdx; /* Instruction index to fix later when the jump destination is resolved. */ sxu32 nInstrIdx; /* Instruction index to fix later when the jump destination is resolved. */
/* The following fields are only used by the goto statement */
ph7_vm_func *pFunc; /* Compiled function inside which the goto was emitted. NULL otherwise */
sxu32 nLine; /* Track line number */
}; };
/* /*
* Each language construct is represented by an instance * Each language construct is represented by an instance
@ -5827,7 +5824,6 @@ static sxi32 PH7_CompilePHP(
rc = GenStateCompileChunk(pGen, 0); rc = GenStateCompileChunk(pGen, 0);
/* Fix exceptions jumps */ /* Fix exceptions jumps */
GenStateFixJumps(pGen->pCurrent, PH7_OP_THROW, PH7_VmInstrLength(pGen->pVm)); GenStateFixJumps(pGen->pCurrent, PH7_OP_THROW, PH7_VmInstrLength(pGen->pVm));
/* Fix gotos now, the jump destination is resolved */
/* Compilation result */ /* Compilation result */
return rc; return rc;
} }