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; |