16cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov/* 26cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov * Create a new instance of a class. 36cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov */ 46cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov /* new-instance vAA, class@BBBB */ 56cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov EXPORT_PC 66cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov leaq OFF_FP_SHADOWFRAME(rFP), OUT_ARG0 76cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov movq rSELF, OUT_ARG1 86cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov REFRESH_INST ${opnum} 96cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov movq rINSTq, OUT_ARG2 106cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov call SYMBOL(MterpNewInstance) 116cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov testb %al, %al # 0 means an exception is thrown 126cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov jz MterpPossibleException 136cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov ADVANCE_PC_FETCH_AND_GOTO_NEXT 2 14