blob: cc3f31cb5ee6baadeb0f691c4f9f50de3489d580 [file] [log] [blame]
%def op_new_instance():
/*
* Create a new instance of a class.
*/
/* new-instance vAA, class@BBBB */
EXPORT_PC
leaq OFF_FP_SHADOWFRAME(rFP), OUT_ARG0
movq rSELF, OUT_ARG1
REFRESH_INST ${opnum}
movq rINSTq, OUT_ARG2
call SYMBOL(MterpNewInstance)
testb %al, %al # 0 means an exception is thrown
jz MterpPossibleException
ADVANCE_PC_FETCH_AND_GOTO_NEXT 2