Differences From Artifact [b18753cc8b]:
- File exec.c — part of check-in [966114bc2f] at 2018-08-24 15:12:54 on branch trunk — Add OF_BIZARRO flag, change OF_TRACEIN/OF_TRACEOUT to CF_TRACEIN/CF_TRACEOUT, fix a bug in update logic for CLASSES vtab (user: user, size: 4200) [annotate] [blame] [check-ins using]
To Artifact [c5ee33d3db]:
- File exec.c — part of check-in [3f12058d2d] at 2018-10-07 04:25:13 on branch trunk — Make some improvements to compile script, and start edit.c (just a stub so far) (user: user, size: 4284) [annotate] [blame] [check-ins using]
| ︙ | |||
107 108 109 110 111 112 113 114 115 116 117 118 119 120 | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | + |
objects[n]=o;
return n;
bad:
free(o);
return VOIDLINK;
}
// Here is where the execution of a Free Hero Mesh bytecode subroutine is executed.
static void execute_program(Uint16*code,int ptr,Uint32 obj) {
Object*o=objects[obj];
if(StackProtection()) Throw("Call stack overflow");
for(;;) switch(code[ptr++]) {
case OP_GOTO: ptr=code[ptr]; break;
case OP_CALLSUB: execute_program(code,code[ptr++],obj); break;
case OP_RET: return;
|
| ︙ |