Associate a filename with VM instructions.
The build was successful.
Details
The build was successful.
Details
This commit is contained in:
parent
f552c54992
commit
3f7bac2d85
|
@ -306,11 +306,18 @@ PH7_PRIVATE sxi32 PH7_VmEmitInstr(
|
||||||
) {
|
) {
|
||||||
VmInstr sInstr;
|
VmInstr sInstr;
|
||||||
sxi32 rc;
|
sxi32 rc;
|
||||||
|
/* Extract the processed script */
|
||||||
|
SyString *pFile = (SyString *)SySetPeek(&pVm->aFiles);
|
||||||
|
static const SyString sFileName = { "[MEMORY]", sizeof("[MEMORY]") - 1};
|
||||||
|
if(pFile == 0) {
|
||||||
|
pFile = (SyString *)&sFileName;
|
||||||
|
}
|
||||||
/* Fill the VM instruction */
|
/* Fill the VM instruction */
|
||||||
sInstr.iOp = (sxu8)iOp;
|
sInstr.iOp = (sxu8)iOp;
|
||||||
sInstr.iP1 = iP1;
|
sInstr.iP1 = iP1;
|
||||||
sInstr.iP2 = iP2;
|
sInstr.iP2 = iP2;
|
||||||
sInstr.p3 = p3;
|
sInstr.p3 = p3;
|
||||||
|
sInstr.pFile = pFile;
|
||||||
sInstr.iLine = 1;
|
sInstr.iLine = 1;
|
||||||
if(pVm->sCodeGen.pEnd && pVm->sCodeGen.pEnd->nLine > 0) {
|
if(pVm->sCodeGen.pEnd && pVm->sCodeGen.pEnd->nLine > 0) {
|
||||||
sInstr.iLine = pVm->sCodeGen.pEnd->nLine;
|
sInstr.iLine = pVm->sCodeGen.pEnd->nLine;
|
||||||
|
|
|
@ -1119,11 +1119,12 @@ struct ph7_class_instance {
|
||||||
*/
|
*/
|
||||||
typedef struct VmInstr VmInstr;
|
typedef struct VmInstr VmInstr;
|
||||||
struct VmInstr {
|
struct VmInstr {
|
||||||
sxu8 iOp; /* Operation to preform */
|
sxu8 iOp; /* Operation to preform */
|
||||||
sxi32 iP1; /* First operand */
|
sxi32 iP1; /* First operand */
|
||||||
sxu32 iP2; /* Second operand (Often the jump destination) */
|
sxu32 iP2; /* Second operand (Often the jump destination) */
|
||||||
sxu32 iLine; /* Line number */
|
void *p3; /* Third operand (Often Upper layer private data) */
|
||||||
void *p3; /* Third operand (Often Upper layer private data) */
|
SyString *pFile; /* File name */
|
||||||
|
sxu32 iLine; /* Line number */
|
||||||
};
|
};
|
||||||
/* Each active class instance attribute is represented by an instance
|
/* Each active class instance attribute is represented by an instance
|
||||||
* of the following structure.
|
* of the following structure.
|
||||||
|
|
Loading…
Reference in New Issue