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