[vmkit-commits] [vmkit] r121253 - in /vmkit/branches/multi-vm/lib/J3: Classpath/ClasspathConstructor.inc Classpath/ClasspathField.inc Classpath/ClasspathMethod.inc VMCore/JavaObject.cpp VMCore/JavaObject.h VMCore/Jnjvm.cpp VMCore/JnjvmClassLoader.cpp VMCore/JnjvmClassLoader.h
Gael Thomas
gael.thomas at lip6.fr
Wed Dec 8 05:35:39 PST 2010
Author: gthomas
Date: Wed Dec 8 07:35:39 2010
New Revision: 121253
URL: http://llvm.org/viewvc/llvm-project?rev=121253&view=rev
Log:
remove the field isolate from JnjvmClassLoader
Modified:
vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathConstructor.inc
vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathField.inc
vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathMethod.inc
vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.cpp
vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.h
vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp
vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.cpp
vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.h
Modified: vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathConstructor.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathConstructor.inc?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathConstructor.inc (original)
+++ vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathConstructor.inc Wed Dec 8 07:35:39 2010
@@ -113,7 +113,7 @@
Typedef* const* arguments = sign->getArgumentsType();
// Store the arguments, unboxing primitives if necessary.
for (sint32 i = 0; i < size; ++i) {
- JavaObject::decapsulePrimitive(ptr[i], vm, &buf[i], arguments[i]);
+ JavaObject::decapsulePrimitive(ptr[i], &buf[i], arguments[i]);
if (!arguments[i]->isPrimitive()) {
buf[i].l = reinterpret_cast<jobject>(&ptr[i]);
}
Modified: vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathField.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathField.inc?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathField.inc (original)
+++ vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathField.inc Wed Dec 8 07:35:39 2010
@@ -634,7 +634,6 @@
BEGIN_NATIVE_EXCEPTION(0)
UserClass* cl = JavaObjectField::getClass(Field);
- Jnjvm* vm = cl->classLoader->vm;
JavaField* field = JavaObjectField::getInternalField(Field);
jvalue buf;
bool stat = isStatic(field->access);
@@ -647,7 +646,7 @@
}
const Typedef* type = field->getSignature();
- JavaObject::decapsulePrimitive(val, vm, &buf, type);
+ JavaObject::decapsulePrimitive(val, &buf, type);
if (type->isPrimitive()) {
Modified: vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathMethod.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathMethod.inc?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathMethod.inc (original)
+++ vmkit/branches/multi-vm/lib/J3/Classpath/ClasspathMethod.inc Wed Dec 8 07:35:39 2010
@@ -146,7 +146,7 @@
JavaObject** ptr = ArrayObject::getElements(args);
Typedef* const* arguments = sign->getArgumentsType();
for (sint32 i = 0; i < size; ++i) {
- JavaObject::decapsulePrimitive(ptr[i], vm, &buf[i], arguments[i]);
+ JavaObject::decapsulePrimitive(ptr[i], &buf[i], arguments[i]);
if (!arguments[i]->isPrimitive()) {
buf[i].l = reinterpret_cast<jobject>(&ptr[i]);
}
Modified: vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.cpp?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.cpp (original)
+++ vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.cpp Wed Dec 8 07:35:39 2010
@@ -138,11 +138,13 @@
return mvm::ThinLock::owner(self, self->getJVM()->lockSystem);
}
-void JavaObject::decapsulePrimitive(JavaObject* obj, Jnjvm *vm, jvalue* buf,
+void JavaObject::decapsulePrimitive(JavaObject* obj, jvalue* buf,
const Typedef* signature) {
llvm_gcroot(obj, 0);
+ Jnjvm* vm = obj->getJVM();
+
if (!signature->isPrimitive()) {
if (obj && !(getClass(obj)->isOfTypeName(signature->getName()))) {
vm->illegalArgumentException("wrong type argument");
Modified: vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.h?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.h (original)
+++ vmkit/branches/multi-vm/lib/J3/VMCore/JavaObject.h Wed Dec 8 07:35:39 2010
@@ -293,7 +293,7 @@
/// decapsulePrimitive - Based on the signature argument, decapsule
/// obj as a primitive and put it in the buffer.
///
- static void decapsulePrimitive(JavaObject* self, Jnjvm* vm, jvalue* buf,
+ static void decapsulePrimitive(JavaObject* self, jvalue* buf,
const Typedef* signature);
static uint16_t hashCodeGenerator;
Modified: vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp (original)
+++ vmkit/branches/multi-vm/lib/J3/VMCore/Jnjvm.cpp Wed Dec 8 07:35:39 2010
@@ -1343,7 +1343,6 @@
lockSystem(Alloc) {
bootstrapLoader = new(Alloc, "bootstrap loader") JnjvmBootstrapLoader(Alloc, this, Comp);
- bootstrapLoader->isolate = this;
upcalls = new(allocator, "Classpath") Classpath(bootstrapLoader, dlLoad);
Modified: vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.cpp?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.cpp Wed Dec 8 07:35:39 2010
@@ -73,7 +73,6 @@
JnjvmClassLoader::JnjvmClassLoader(mvm::BumpPtrAllocator& Alloc,
JavaObject* loader,
VMClassLoader* vmdata,
- Jnjvm* I,
Jnjvm* v) : allocator(Alloc) {
llvm_gcroot(loader, 0);
llvm_gcroot(vmdata, 0);
@@ -90,7 +89,6 @@
vmdata->JCL = this;
javaLoader = loader;
- isolate = I;
JavaMethod* meth = vm->upcalls->loadInClassLoader;
loadClassMethod =
@@ -684,7 +682,7 @@
if (!vmdata) {
vmdata = VMClassLoader::allocate(vm);
mvm::BumpPtrAllocator* A = new mvm::BumpPtrAllocator();
- JCL = new(*A, "Class loader") JnjvmClassLoader(*A, jloader, vmdata, vm, vm);
+ JCL = new(*A, "Class loader") JnjvmClassLoader(*A, jloader, vmdata, vm);
upcalls->vmdataClassLoader->setInstanceObjectField(jloader, (JavaObject*)vmdata);
}
JavaObject::release(jloader);
@@ -707,11 +705,7 @@
JnjvmClassLoader::~JnjvmClassLoader() {
- if (isolate) {
- isolate->vmkit->removeMethodInfos(TheCompiler);
- } else {
- mvm::Thread::get()->vmkit->removeMethodInfos(TheCompiler);
- }
+ mvm::Thread::get()->vmkit->removeMethodInfos(TheCompiler);
if (classes) {
classes->~ClassMap();
Modified: vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.h?rev=121253&r1=121252&r2=121253&view=diff
==============================================================================
--- vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.h (original)
+++ vmkit/branches/multi-vm/lib/J3/VMCore/JnjvmClassLoader.h Wed Dec 8 07:35:39 2010
@@ -52,12 +52,6 @@
/// table for non-isolate environments.
///
class JnjvmClassLoader : public mvm::PermanentObject {
-private:
-
- /// isolate - Which isolate defined me? Null for the bootstrap class loader.
- ///
- Jnjvm* isolate;
-
public:
/// vm - my vm
///
@@ -82,7 +76,7 @@
/// JnjvmClassLoader - Allocate a user-defined class loader. Called on
/// first use of a Java class loader.
///
- JnjvmClassLoader(mvm::BumpPtrAllocator& Alloc, JavaObject* loader, VMClassLoader* vmdata, Jnjvm* isolate, Jnjvm* vm);
+ JnjvmClassLoader(mvm::BumpPtrAllocator& Alloc, JavaObject* loader, VMClassLoader* vmdata, Jnjvm* vm);
/// lookupComponentName - Try to find the component name of the given array
/// name. If the component name is not in the table of UTF8s and holder
@@ -283,21 +277,21 @@
/// insertAllMethodsInVM - Insert all methods defined by this class loader
/// in the VM.
///
- void insertAllMethodsInVM(Jnjvm* vm);
+ void insertAllMethodsInVM();
/// loadLibFromJar - Try to load the shared library compiled by vmjc with
/// this jar file.
///
- void loadLibFromJar(Jnjvm* vm, const char* name, const char* file);
+ void loadLibFromJar(const char* name, const char* file);
/// loadLibFromFile - Try to load the shared library compiled by vmjc with
/// this class file.
///
- void loadLibFromFile(Jnjvm* vm, const char* name);
+ void loadLibFromFile(const char* name);
/// loadClassFromSelf - Load the main class if we are an executable.
///
- Class* loadClassFromSelf(Jnjvm* vm, const char* name);
+ Class* loadClassFromSelf(const char* name);
friend class Class;
};
More information about the vmkit-commits
mailing list