16cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov/* 26cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov * Synchronize on an object. 36cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov */ 46cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov /* monitor-enter vAA */ 56cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov EXPORT_PC 66cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov GET_VREG OUT_32_ARG0, rINSTq 76cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov movq rSELF, OUT_ARG1 86cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov call SYMBOL(artLockObjectFromCode) # (object, self) 96cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov testq %rax, %rax 106cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov jnz MterpException 116cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov ADVANCE_PC_FETCH_AND_GOTO_NEXT 1 12