Remove conditionally compiled code for monitor-only locks.
diff --git a/vm/Sync.c b/vm/Sync.c
index 054a915..5f9c2fa 100644
--- a/vm/Sync.c
+++ b/vm/Sync.c
@@ -731,11 +731,6 @@
}
}
-#if THIN_LOCKING
-/*
- * Thin locking support
- */
-
/*
* Implements monitorenter for "synchronized" stuff.
*
@@ -1063,74 +1058,6 @@
}
}
-#else // not THIN_LOCKING
-
-/*
- * Implements monitorenter for "synchronized" stuff.
- *
- * This does not fail or throw an exception.
- */
-void dvmLockObject(Thread* self, Object* obj)
-{
- Monitor* mon = obj->lock.mon;
-
- if (mon == NULL) {
- mon = dvmCreateMonitor(obj);
- if (!ATOMIC_CMP_SWAP((int32_t *)&obj->lock.mon,
- (int32_t)NULL, (int32_t)mon)) {
- /* somebody else beat us to it */
- releaseMonitor(mon);
- mon = obj->lock.mon;
- }
- }
-
- lockMonitor(self, mon);
-}
-
-/*
- * Implements monitorexit for "synchronized" stuff.
- */
-bool dvmUnlockObject(Thread* self, Object* obj)
-{
- Monitor* mon = obj->lock.mon;
-
- return unlockMonitor(self, mon);
-}
-
-
-/*
- * Object.wait().
- */
-void dvmObjectWait(Thread* self, Object* obj, u8 msec, u4 nsec)
-{
- Monitor* mon = obj->lock.mon;
-
- waitMonitor(self, mon, msec, nsec);
-}
-
-/*
- * Object.notify().
- */
-void dvmObjectNotify(Thread* self, Object* obj)
-{
- Monitor* mon = obj->lock.mon;
-
- notifyMonitor(self, mon);
-}
-
-/*
- * Object.notifyAll().
- */
-void dvmObjectNotifyAll(Thread* self, Object* obj)
-{
- Monitor* mon = obj->lock.mon;
-
- notifyAllMonitor(self, mon);
-}
-
-#endif // not THIN_LOCKING
-
-
/*
* This implements java.lang.Thread.sleep(long msec, int nsec).
*
diff --git a/vm/Sync.h b/vm/Sync.h
index 7ee3271..c3785b3 100644
--- a/vm/Sync.h
+++ b/vm/Sync.h
@@ -65,7 +65,6 @@
* Initialize a Lock to the proper starting value.
* This is necessary for thin locking.
*/
-#define THIN_LOCKING 1
#define DVM_LOCK_INITIAL_THIN_VALUE (0)
#define DVM_LOCK_INIT(lock) \
@@ -74,7 +73,7 @@
/*
* Returns true if the lock has been fattened.
*/
-#define IS_LOCK_FAT(lock) (((lock)->thin & 1) == 1 && (lock)->mon != NULL)
+#define IS_LOCK_FAT(lock) (LW_SHAPE((lock)->thin) == LW_SHAPE_FAT)
/*
* Acquire the object's monitor.
diff --git a/vm/compiler/codegen/arm/Thumb2/Gen.c b/vm/compiler/codegen/arm/Thumb2/Gen.c
index 579b0ea..9251364 100644
--- a/vm/compiler/codegen/arm/Thumb2/Gen.c
+++ b/vm/compiler/codegen/arm/Thumb2/Gen.c
@@ -180,7 +180,6 @@
*/
static void genMonitor(CompilationUnit *cUnit, MIR *mir)
{
-#if defined (THIN_LOCKING)
RegLocation rlSrc = getSrcLoc(cUnit, mir, 0);
bool enter = (mir->dalvikInsn.opCode == OP_MONITOR_ENTER);
ArmLIR *target;
@@ -229,9 +228,6 @@
target = newLIR0(cUnit, kArmPseudoTargetLabel);
target->defMask = ENCODE_ALL;
branch->generic.target = (LIR *)target;
-#else
- genMonitorPortable(cUnit, mir);
-#endif
}
/*