void lock_init(void);
-void lock_init_object_lock(java_object_t *);
-
-ptrint lock_pre_compute_thinlock(s4 index);
-
bool lock_monitor_enter(java_handle_t *);
bool lock_monitor_exit(java_handle_t *);
-#define LOCK_monitor_enter (functionptr) lock_monitor_enter
-#define LOCK_monitor_exit (functionptr) lock_monitor_exit
-
bool lock_is_held_by_current_thread(java_handle_t *o);
void lock_wait_for_object(java_handle_t *o, s8 millis, s4 nanos);
void lock_notify_object(java_handle_t *o);
void lock_notify_all_object(java_handle_t *o);
+#if defined(ENABLE_GC_BOEHM)
+void lock_schedule_lockrecord_removal(java_handle_t *o);
+#endif
+
#ifdef __cplusplus
}
#endif
#if defined(ENABLE_THREADS)
-#define LOCK_INIT_OBJECT_LOCK(o) lock_init_object_lock((java_object_t *) (o))
-
#define LOCK_MONITOR_ENTER(o) lock_monitor_enter((java_handle_t *) LLNI_QUICKWRAP(o))
#define LOCK_MONITOR_EXIT(o) lock_monitor_exit((java_handle_t *) LLNI_QUICKWRAP(o))