blob: f6c40eb22444d04e45aa1c1a8c8728695c4316a8 [file] [log] [blame]
%def field(helper=""):
/*
* General field read / write (iget-* iput-* sget-* sput-*).
*/
.extern $helper
REFRESH_INST ${opnum} # fix rINST to include opcode
movq rPC, OUT_ARG0 # arg0: Instruction* inst
movl rINST, OUT_32_ARG1 # arg1: uint16_t inst_data
leaq OFF_FP_SHADOWFRAME(rFP), OUT_ARG2 # arg2: ShadowFrame* sf
movq rSELF, OUT_ARG3 # arg3: Thread* self
call SYMBOL($helper)
testb %al, %al
jz MterpPossibleException
ADVANCE_PC_FETCH_AND_GOTO_NEXT 2