diff options
Diffstat (limited to 'vm/mterp/c/OP_GOTO.cpp')
-rw-r--r-- | vm/mterp/c/OP_GOTO.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/vm/mterp/c/OP_GOTO.cpp b/vm/mterp/c/OP_GOTO.cpp new file mode 100644 index 0000000..0e10384 --- /dev/null +++ b/vm/mterp/c/OP_GOTO.cpp @@ -0,0 +1,11 @@ +HANDLE_OPCODE(OP_GOTO /*+AA*/) + vdst = INST_AA(inst); + if ((s1)vdst < 0) + ILOGV("|goto -0x%02x", -((s1)vdst)); + else + ILOGV("|goto +0x%02x", ((s1)vdst)); + ILOGV("> branch taken"); + if ((s1)vdst < 0) + PERIODIC_CHECKS((s1)vdst); + FINISH((s1)vdst); +OP_END |