#include "vm/access.h"
#include "vm/array.h"
#include "vm/exceptions.h"
-#include "vm/primitive.h"
+#include "vm/primitive.hpp"
#include "vm/stringlocal.h"
#include "vm/vm.h"
if (!link_class(class_java_lang_Throwable))
vm_abort("linker_init: linking failed");
-#if defined(WITH_CLASSPATH_GNU)
+#if defined(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH)
if (!link_class(class_java_lang_VMSystem))
vm_abort("linker_init: linking failed");
if (!link_class(class_java_lang_reflect_Method))
vm_abort("linker_init: linking failed");
-# if defined(WITH_CLASSPATH_GNU)
+# if defined(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH)
if (!link_class(class_java_lang_reflect_VMConstructor))
vm_abort("linker_init: linking failed");
if (!link_class(class_java_util_HashMap))
vm_abort("linker_init: linking failed");
-# if defined(WITH_CLASSPATH_SUN)
+# if defined(WITH_JAVA_RUNTIME_LIBRARY_OPENJDK)
if (!link_class(class_sun_reflect_MagicAccessorImpl))
vm_abort("linker_init: linking failed");
# endif
if ((ms->flags & ACC_METHOD_IMPLEMENTED) && ms->name != utf_init) {
do {
+
+#if defined(ENABLE_TLH)
+ if (mg->flags & ACC_METHOD_MONOMORPHY_USED) {
+ printf("%s/%s is evil! the siner is %s/%s\n", mg->clazz->name->text, mg->name->text,
+ ms->clazz->name->text, ms->name->text);
+ ms->flags |= ACC_METHOD_PARENT_MONOMORPHY_USED;
+ }
+#endif
+
if (mg->flags & ACC_METHOD_IMPLEMENTED) {
/* this adds another implementation */
(interfacetablelength - 1) * (interfacetablelength > 1));
c->vftbl = v;
- v->class = c;
+ v->clazz = c;
v->vftbllength = vftbllength;
v->interfacetablelength = interfacetablelength;
v->arraydesc = arraydesc;
{
LOCK_MONITOR_ENTER(linker_classrenumber_lock);
-#if 0 && defined(ENABLE_THREADS) && !defined(DISABLE_GC)
- threads_stopworld();
-#endif
-
if (!(c->flags & ACC_INTERFACE)) {
c->nextsub = NULL;
c->sub = NULL;
linker_compute_class_values(class_java_lang_Object);
LOCK_MONITOR_EXIT(linker_classrenumber_lock);
-
-#if 0 && defined(ENABLE_THREADS) && !defined(DISABLE_GC)
- threads_startworld();
-#endif
}