[Vm-dev] Currently executing bytecodes?
Mathieu Suen
mathk.sue at gmail.com
Fri Nov 9 13:10:27 UTC 2007
On Nov 9, 2007, at 1:13 PM, Michael Haupt wrote:
>
> Hi,
>
> On 11/9/07, André Wendt <andre.wendt at hpi.uni-potsdam.de> wrote:
>> However, modifying the interpreter loop to:
>>
>> while (1) {
>> printNumtoFile(currentBytecode, foo->vmLogFile);
>> switch (currentBytecode) {
>> ..
>> }
>> }
>>
>> didn't work: printNumtoFile() gets executed exactly once. I've
>> debugged
>> this with GDB: currentBytecode gets modified from within the CASE
>> statements and the program never gets past the switch() statement.
>
> that's most certainly because you are using a GNUified version of the
> interpreter (right?). That one applies threading to the interpreter
> implementation, so the loop body is not actually executed like a loop
> body usually is. Instead, interpreter logic jumps directly to and fro
> in the bytecode routines.
Intresting could you explain how?
Also how to solve the problem?
>
> Best,
>
> Michael
Mth
More information about the Vm-dev
mailing list