20 lines
527 B
ArmAsm
20 lines
527 B
ArmAsm
%default { "helper":"UndefinedInvokeHandler" }
|
|
/*
|
|
* Generic invoke handler wrapper.
|
|
*/
|
|
/* op vB, {vD, vE, vF, vG, vA}, class@CCCC */
|
|
/* op {vCCCC..v(CCCC+AA-1)}, meth@BBBB */
|
|
.extern $helper
|
|
EXPORT_PC
|
|
mov x0, xSELF
|
|
add x1, xFP, #OFF_FP_SHADOWFRAME
|
|
mov x2, xPC
|
|
mov x3, xINST
|
|
bl $helper
|
|
cbz w0, MterpException
|
|
FETCH_ADVANCE_INST 3
|
|
bl MterpShouldSwitchInterpreters
|
|
cbnz w0, MterpFallback
|
|
GET_INST_OPCODE ip
|
|
GOTO_OPCODE ip
|
|
|