blob: d1cee32554a75d3f0a9f49d276fd7c02c96cb649 [file] [log] [blame]
HANDLE_OPCODE(OP_GOTO_32 /*+AAAAAAAA*/)
{
s4 offset = FETCH(1); /* low-order 16 bits */
offset |= ((s4) FETCH(2)) << 16; /* high-order 16 bits */
if (offset < 0)
ILOGV("|goto/32 -0x%08x", -offset);
else
ILOGV("|goto/32 +0x%08x", offset);
ILOGV("> branch taken");
if (offset <= 0) /* allowed to branch to self */
PERIODIC_CHECKS(kInterpEntryInstr, offset);
FINISH(offset);
}
OP_END