summaryrefslogtreecommitdiff
path: root/vm/mterp/x86/OP_GOTO_16.S
blob: de0903ce4292e61200266a466ccb81f9f008ebe9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
%verify "executed"
%verify "forward and backward"
    /*
     * Unconditional branch, 16-bit offset.
     *
     * The branch distance is a signed code-unit offset
     */
    /* goto/16 +AAAA */
    movl    rSELF,%ecx
    movswl  2(rPC),%eax            # eax<- ssssAAAA
    movl    offThread_curHandlerTable(%ecx),rIBASE
    FETCH_INST_INDEXED %eax
    ADVANCE_PC_INDEXED %eax
    GOTO_NEXT