object for locking. Renamed from linker_classrenumber_lock.
* src/vm/linker.c: Adapted to above change.
* src/vm/builtin.c: Likewise.
* src/vm/class.c: Likewise.
#include "native/llni.h"
#include "threads/lock-common.h"
+#include "threads/mutex.hpp"
#include "threads/thread.hpp"
#include "toolbox/logging.h"
if (valuevftbl == componentvftbl)
return 1;
- LOCK_MONITOR_ENTER(linker_classrenumber_lock);
+ Mutex_lock(linker_classrenumber_mutex);
baseval = componentvftbl->baseval;
result = diffval <= (uint32_t) componentvftbl->diffval;
}
- LOCK_MONITOR_EXIT(linker_classrenumber_lock);
+ Mutex_unlock(linker_classrenumber_mutex);
}
else if (valuedesc == NULL) {
/* {oa has dimension > 1} */
if (valuevftbl == elementvftbl)
return 1;
- LOCK_MONITOR_ENTER(linker_classrenumber_lock);
+ Mutex_lock(linker_classrenumber_mutex);
baseval = elementvftbl->baseval;
result = diffval <= (uint32_t) elementvftbl->diffval;
}
- LOCK_MONITOR_EXIT(linker_classrenumber_lock);
+ Mutex_unlock(linker_classrenumber_mutex);
return result;
}
if (valuevftbl == elementvftbl)
return 1;
- LOCK_MONITOR_ENTER(linker_classrenumber_lock);
+ Mutex_lock(linker_classrenumber_mutex);
diffval = valuevftbl->baseval - elementvftbl->baseval;
result = diffval <= (uint32_t) elementvftbl->diffval;
- LOCK_MONITOR_EXIT(linker_classrenumber_lock);
+ Mutex_unlock(linker_classrenumber_mutex);
return result;
}
#include "native/llni.h"
#include "threads/lock-common.h"
+#include "threads/mutex.hpp"
#include "toolbox/logging.h"
if (sub->flags & ACC_INTERFACE)
return (super == class_java_lang_Object);
- LOCK_MONITOR_ENTER(linker_classrenumber_lock);
+ Mutex_lock(linker_classrenumber_mutex);
diffval = sub->vftbl->baseval - super->vftbl->baseval;
result = diffval <= (uint32_t) super->vftbl->diffval;
- LOCK_MONITOR_EXIT(linker_classrenumber_lock);
+ Mutex_unlock(linker_classrenumber_mutex);
}
return result;
#include "native/native.h"
#include "threads/lock-common.h"
+#include "threads/mutex.hpp"
#include "toolbox/logging.h"
static s4 interfaceindex; /* sequential numbering of interfaces */
static s4 classvalue;
-java_object_t *linker_classrenumber_lock;
+Mutex *linker_classrenumber_mutex;
/* private functions **********************************************************/
interfaceindex = 0;
#if defined(ENABLE_THREADS)
- /* create the global lock object */
+ /* create the global mutex */
- linker_classrenumber_lock = NEW(java_object_t);
-
- LOCK_INIT_OBJECT_LOCK(linker_classrenumber_lock);
+ linker_classrenumber_mutex = Mutex_new();
#endif
/* Link the most basic classes. */
static void linker_compute_subclasses(classinfo *c)
{
- LOCK_MONITOR_ENTER(linker_classrenumber_lock);
+ Mutex_lock(linker_classrenumber_mutex);
if (!(c->flags & ACC_INTERFACE)) {
c->nextsub = NULL;
linker_compute_class_values(class_java_lang_Object);
- LOCK_MONITOR_EXIT(linker_classrenumber_lock);
+ Mutex_unlock(linker_classrenumber_mutex);
}
#include "config.h"
#include "vm/types.h"
+#include "threads/mutex.hpp"
+
#include "vm/class.h"
#include "vm/references.h"
/* This lock must be taken while renumbering classes or while atomically */
/* accessing classes. */
-extern java_object_t *linker_classrenumber_lock;
+extern Mutex *linker_classrenumber_mutex;
/* function prototypes ********************************************************/