[vmkit-commits] [vmkit] r108768 - in /vmkit/trunk: Makefile.rules lib/J3/Classpath/JavaUpcalls.cpp lib/J3/Classpath/JavaUpcalls.h lib/J3/Compiler/JavaAOTCompiler.cpp lib/J3/VMCore/JavaClass.cpp lib/J3/VMCore/JavaConstantPool.cpp lib/J3/VMCore/JavaTypes.cpp lib/J3/VMCore/Jnjvm.cpp lib/J3/VMCore/JnjvmClassLoader.cpp lib/J3/VMCore/JnjvmClassLoader.h
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Mon Jul 19 16:28:01 PDT 2010
Author: geoffray
Date: Mon Jul 19 18:28:01 2010
New Revision: 108768
URL: http://llvm.org/viewvc/llvm-project?rev=108768&view=rev
Log:
J3 is crashing, revert to r108703.
Modified:
vmkit/trunk/Makefile.rules
vmkit/trunk/lib/J3/Classpath/JavaUpcalls.cpp
vmkit/trunk/lib/J3/Classpath/JavaUpcalls.h
vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp
vmkit/trunk/lib/J3/VMCore/JavaClass.cpp
vmkit/trunk/lib/J3/VMCore/JavaConstantPool.cpp
vmkit/trunk/lib/J3/VMCore/JavaTypes.cpp
vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp
vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp
vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h
Modified: vmkit/trunk/Makefile.rules
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.rules?rev=108768&r1=108767&r2=108768&view=diff
==============================================================================
--- vmkit/trunk/Makefile.rules (original)
+++ vmkit/trunk/Makefile.rules Mon Jul 19 18:28:01 2010
@@ -127,7 +127,6 @@
ifdef RUN_ANT
ifdef ANT
-ifndef DISABLE_MMTK_COMPILE
ADDITIONAL_ARGS := -load-bc=$(LibDir)/MMTKRuntime.bc
all::
@@ -139,7 +138,7 @@
$(Verb) $(LLVMLD) -r -o $(LibDir)/FinalMMTk.bc $(LibDir)/MMTKAlloc.bc $(JARNAME)-optimized.bc $(LibDir)/MMTKRuntime.bc
$(Verb) $(LOPT) -std-compile-opts $(LibDir)/FinalMMTk.bc -o $(LibDir)/FinalMMTk.bc
#$(Verb) $(LLC) -march=cpp -cppgen=function -cppfor=gcmalloc $(LibDir)/FinalMMTk.bc -o $(PROJ_SRC_ROOT)/lib/Mvm/Compiler/MMTkInline.inc
-endif
+
endif
clean-local::
Modified: vmkit/trunk/lib/J3/Classpath/JavaUpcalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Classpath/JavaUpcalls.cpp?rev=108768&r1=108767&r2=108768&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Classpath/JavaUpcalls.cpp (original)
+++ vmkit/trunk/lib/J3/Classpath/JavaUpcalls.cpp Mon Jul 19 18:28:01 2010
@@ -939,10 +939,10 @@
"Ljava/lang/Class;", ACC_VIRTUAL);
loader->loadName(loader->asciizConstructUTF8("java/lang/String"),
- true, false, NULL);
+ true, false);
loader->loadName(loader->asciizConstructUTF8("java/lang/Object"),
- true, false, NULL);
+ true, false);
// Don't compile methods here, we still don't know where to allocate Java
// strings.
Modified: vmkit/trunk/lib/J3/Classpath/JavaUpcalls.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Classpath/JavaUpcalls.h?rev=108768&r1=108767&r2=108768&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Classpath/JavaUpcalls.h (original)
+++ vmkit/trunk/lib/J3/Classpath/JavaUpcalls.h Mon Jul 19 18:28:01 2010
@@ -15,7 +15,7 @@
#include "JnjvmConfig.h"
#define UPCALL_CLASS(vm, name) \
- vm->loadName(vm->asciizConstructUTF8(name), true, false, NULL)
+ vm->loadName(vm->asciizConstructUTF8(name), true, false)
#define UPCALL_PRIMITIVE_CLASS(loader, name, nb) \
new(loader->allocator, "Primitive class") \
Modified: vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp?rev=108768&r1=108767&r2=108768&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp Mon Jul 19 18:28:01 2010
@@ -2044,7 +2044,7 @@
}
const UTF8* utf8 = bootstrapLoader->asciizConstructUTF8(realName);
- UserClass* cl = bootstrapLoader->loadName(utf8, true, true, NULL);
+ UserClass* cl = bootstrapLoader->loadName(utf8, true, true);
if (!M->clinits->empty()) {
vm->loadBootstrap();
Modified: vmkit/trunk/lib/J3/VMCore/JavaClass.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JavaClass.cpp?rev=108768&r1=108767&r2=108768&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JavaClass.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JavaClass.cpp Mon Jul 19 18:28:01 2010
@@ -41,6 +41,7 @@
Class** ClassArray::InterfacesArray;
extern "C" void JavaArrayTracer(JavaObject*);
+extern "C" void JavaObjectTracer(JavaObject*);
extern "C" void ArrayObjectTracer(JavaObject*);
extern "C" void RegularObjectTracer(JavaObject*);
@@ -685,7 +686,7 @@
uint16 superEntry = reader.readU2();
if (superEntry) {
const UTF8* superUTF8 = ctpInfo->resolveClassName(superEntry);
- super = classLoader->loadName(superUTF8, false, true, NULL);
+ super = classLoader->loadName(superUTF8, false, true);
}
uint16 nbI = reader.readU2();
@@ -697,7 +698,7 @@
// in anon-cooperative environment.
for (int i = 0; i < nbI; i++) {
const UTF8* name = ctpInfo->resolveClassName(reader.readU2());
- interfaces[i] = classLoader->loadName(name, false, true, NULL);
+ interfaces[i] = classLoader->loadName(name, false, true);
}
nbInterfaces = nbI;
@@ -1430,11 +1431,11 @@
// so that the secondary type list of array VTs can reference them.
ClassArray::InterfacesArray[0] =
JCL->loadName(JCL->asciizConstructUTF8("java/lang/Cloneable"),
- true, false, NULL);
+ true, false);
ClassArray::InterfacesArray[1] =
JCL->loadName(JCL->asciizConstructUTF8("java/io/Serializable"),
- true, false, NULL);
+ true, false);
// Load base array classes that JnJVM internally uses. Now that the interfaces
// have been loaded, the secondary type can be safely created.
@@ -1474,10 +1475,9 @@
if (C->super) {
assert(C->super->virtualVT && "Super has no VT");
-
- // Will be RegularObjectTracer for regular Java objects, and
- // ObjectReference tracer for java.lang.ref.Reference objects.
- tracer = C->super->virtualVT->tracer;
+
+ // Set the regular object tracer, destructor and delete.
+ tracer = (uintptr_t)RegularObjectTracer;
destructor = 0;
operatorDelete = 0;
@@ -1544,7 +1544,7 @@
} else {
// Set the tracer, destructor and delete.
- tracer = (uintptr_t)RegularObjectTracer;
+ tracer = (uintptr_t)JavaObjectTracer;
destructor = 0;
operatorDelete = 0;
Modified: vmkit/trunk/lib/J3/VMCore/JavaConstantPool.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JavaConstantPool.cpp?rev=108768&r1=108767&r2=108768&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JavaConstantPool.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JavaConstantPool.cpp Mon Jul 19 18:28:01 2010
@@ -289,7 +289,7 @@
if (name->elements[0] == I_TAB) {
temp = loader->constructArray(name);
} else {
- temp = loader->loadName(name, resolve, false, NULL);
+ temp = loader->loadName(name, resolve, false);
}
ctpRes[index] = temp;
}
Modified: vmkit/trunk/lib/J3/VMCore/JavaTypes.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JavaTypes.cpp?rev=108768&r1=108767&r2=108768&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JavaTypes.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JavaTypes.cpp Mon Jul 19 18:28:01 2010
@@ -21,7 +21,7 @@
}
UserCommonClass* ObjectTypedef::assocClass(JnjvmClassLoader* loader) const {
- return loader->loadName(pseudoAssocClassName, false, true, NULL);
+ return loader->loadName(pseudoAssocClassName, false, true);
}
UserCommonClass* ObjectTypedef::findAssocClass(JnjvmClassLoader* loader) const {
Modified: vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp?rev=108768&r1=108767&r2=108768&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/Jnjvm.cpp Mon Jul 19 18:28:01 2010
@@ -1196,7 +1196,7 @@
// load and initialise math since it is responsible for dlopen'ing
// libjavalang.so and we are optimizing some math operations
UserCommonClass* math =
- loader->loadName(loader->asciizConstructUTF8("java/lang/Math"), true, true, NULL);
+ loader->loadName(loader->asciizConstructUTF8("java/lang/Math"), true, true);
math->asClass()->initialiseClass(this);
}
@@ -1217,7 +1217,7 @@
// If not, load the class.
if (cl == NULL) {
const UTF8* name = appClassLoader->asciizConstructUTF8(className);
- cl = (UserClass*)appClassLoader->loadName(name, true, true, NULL);
+ cl = (UserClass*)appClassLoader->loadName(name, true, true);
}
cl->initialiseClass(this);
@@ -1256,7 +1256,7 @@
llvm_gcroot(instrumenter, 0);
TRY {
const UTF8* name = appClassLoader->asciizConstructUTF8(className);
- UserClass* cl = (UserClass*)appClassLoader->loadName(name, true, true, NULL);
+ UserClass* cl = (UserClass*)appClassLoader->loadName(name, true, true);
cl->initialiseClass(this);
const UTF8* funcSign = appClassLoader->asciizConstructUTF8(
Modified: vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp?rev=108768&r1=108767&r2=108768&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp Mon Jul 19 18:28:01 2010
@@ -521,7 +521,7 @@
const UTF8* componentName = lookupComponentName(name, holder, prim);
if (prim) return constructArray(name);
if (componentName) {
- UserCommonClass* temp = loadName(componentName, doResolve, doThrow, NULL);
+ UserCommonClass* temp = loadName(componentName, doResolve, doThrow);
if (temp) return constructArray(name);
}
} else {
@@ -558,7 +558,7 @@
if (temp) return temp;
}
- return loadClassFromUserUTF8(name, doResolve, doThrow, NULL);
+ return loadClassFromUserUTF8(name, doResolve, doThrow);
}
@@ -631,7 +631,7 @@
} else if (name->elements[start] == I_REF) {
const UTF8* componentName = name->extract(hashUTF8,
start + 1, start + len - 1);
- UserCommonClass* cl = loadName(componentName, false, true, NULL);
+ UserCommonClass* cl = loadName(componentName, false, true);
return cl;
} else {
Classpath* upcalls = bootstrapLoader->upcalls;
Modified: vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h?rev=108768&r1=108767&r2=108768&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h (original)
+++ vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.h Mon Jul 19 18:28:01 2010
@@ -157,13 +157,13 @@
/// loadName - Loads the class of the given name.
///
UserClass* loadName(const UTF8* name, bool doResolve, bool doThrow,
- JavaString* strName);
+ JavaString* strName = 0);
/// loadClassFromUTF8 - Lookup a class from an UTF8 name and load it.
///
UserCommonClass* loadClassFromUserUTF8(const UTF8* utf8,
bool doResolve, bool doThrow,
- JavaString* strName);
+ JavaString* strName = 0);
/// loadClassFromAsciiz - Lookup a class from an asciiz name and load it.
///
@@ -483,6 +483,7 @@
JnjvmClassLoader* getClassLoader() {
return JCL;
}
+
};
#define MAXIMUM_STRINGS 100
More information about the vmkit-commits
mailing list