• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download

HANDLE_OPCODE(OP_MONITOR_ENTER)1 HANDLE_OPCODE(OP_MONITOR_ENTER /*vAA*/)
2     {
3         Object* obj;
4 
5         vsrc1 = INST_AA(inst);
6         ILOGV("|monitor-enter v%d %s(0x%08x)",
7             vsrc1, kSpacing+6, GET_REGISTER(vsrc1));
8         obj = (Object*)GET_REGISTER(vsrc1);
9         if (!checkForNullExportPC(obj, fp, pc))
10             GOTO_exceptionThrown();
11         ILOGV("+ locking %p %s", obj, obj->clazz->descriptor);
12         EXPORT_PC();    /* need for precise GC */
13         dvmLockObject(self, obj);
14     }
15     FINISH(1);
16 OP_END
17