[vmkit-commits] [vmkit] r198512 - By default, push a local reference in javaClass, stringAt, javaClassLoader and *ToString
Gael Thomas
gael.thomas at lip6.fr
Sat Jan 4 13:57:58 PST 2014
Author: gthomas
Date: Sat Jan 4 15:57:58 2014
New Revision: 198512
URL: http://llvm.org/viewvc/llvm-project?rev=198512&view=rev
Log:
By default, push a local reference in javaClass, stringAt, javaClassLoader and *ToString
Modified:
vmkit/branches/mcjit/include/j3/j3.h
vmkit/branches/mcjit/include/j3/j3class.h
vmkit/branches/mcjit/include/j3/j3classloader.h
vmkit/branches/mcjit/lib/j3/openjdk/j3openjdk.cc
vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc
vmkit/branches/mcjit/lib/j3/vm/j3jni.cc
Modified: vmkit/branches/mcjit/include/j3/j3.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/j3/j3.h?rev=198512&r1=198511&r2=198512&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/j3/j3.h (original)
+++ vmkit/branches/mcjit/include/j3/j3.h Sat Jan 4 15:57:58 2014
@@ -123,9 +123,9 @@ namespace j3 {
J3Options* options() { return &_options; }
vmkit::Names* names() { return &_names; }
- J3ObjectHandle* utfToString(const char* name, bool doPush);
- J3ObjectHandle* nameToString(const vmkit::Name* name, bool doPush);
- J3ObjectHandle* arrayToString(J3ObjectHandle* array, bool doPush);
+ J3ObjectHandle* utfToString(const char* name, bool doPush=1);
+ J3ObjectHandle* nameToString(const vmkit::Name* name, bool doPush=1);
+ J3ObjectHandle* arrayToString(J3ObjectHandle* array, bool doPush=1);
void run();
void start(int argc, char** argv);
Modified: vmkit/branches/mcjit/include/j3/j3class.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/j3/j3class.h?rev=198512&r1=198511&r2=198512&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/j3/j3class.h (original)
+++ vmkit/branches/mcjit/include/j3/j3class.h Sat Jan 4 15:57:58 2014
@@ -63,7 +63,7 @@ namespace j3 {
public:
J3Type(J3ClassLoader* loader, const vmkit::Name* name);
- J3ObjectHandle* javaClass(bool doPush);
+ J3ObjectHandle* javaClass(bool doPush=1);
virtual uint32_t logSize() = 0;
uint64_t getSizeInBits();
Modified: vmkit/branches/mcjit/include/j3/j3classloader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/j3/j3classloader.h?rev=198512&r1=198511&r2=198512&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/j3/j3classloader.h (original)
+++ vmkit/branches/mcjit/include/j3/j3classloader.h Sat Jan 4 15:57:58 2014
@@ -64,7 +64,7 @@ namespace j3 {
J3GlobalReferences* globalReferences() { return &_globalReferences; }
- J3ObjectHandle* javaClassLoader() { return _javaClassLoader; }
+ J3ObjectHandle* javaClassLoader(bool doPush=1);
J3* vm() const { return (J3*)vmkit::CompilationUnit::vm(); };
Modified: vmkit/branches/mcjit/lib/j3/openjdk/j3openjdk.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/openjdk/j3openjdk.cc?rev=198512&r1=198511&r2=198512&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/openjdk/j3openjdk.cc (original)
+++ vmkit/branches/mcjit/lib/j3/openjdk/j3openjdk.cc Sat Jan 4 15:57:58 2014
@@ -66,7 +66,7 @@ jstring JNICALL JVM_InternString(JNIEnv*
J3Utf16Decoder::decode(value, copy);
- res = vm->utfToString(copy, 1);
+ res = vm->utfToString(copy);
leaveJVM();
return res;
@@ -400,7 +400,7 @@ jclass JNICALL JVM_GetCallerClass(JNIEnv
if(!caller)
J3::internalError("unable to find caller class, what should I do?");
- res = caller->cl()->javaClass(1);
+ res = caller->cl()->javaClass();
leaveJVM();
@@ -443,7 +443,7 @@ jclass JNICALL JVM_FindPrimitiveClass(JN
else
J3::internalError("unsupported primitive: %s", utf);
- res = cl->javaClass(1);
+ res = cl->javaClass();
leaveJVM();
return res;
}
@@ -484,7 +484,7 @@ jclass JNICALL JVM_FindClassFromClassLoa
else
cl->resolve();
- res = cl->javaClass(1);
+ res = cl->javaClass();
leaveJVM();
return res;
Modified: vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc?rev=198512&r1=198511&r2=198512&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc Sat Jan 4 15:57:58 2014
@@ -15,6 +15,7 @@
#include "j3/j3method.h"
#include "j3/j3lib.h"
#include "j3/j3mangler.h"
+#include "j3/j3thread.h"
using namespace j3;
@@ -36,6 +37,10 @@ J3ClassLoader::J3ClassLoader(J3* v, J3Ob
_javaClassLoader = globalReferences()->add(javaClassLoader);
}
+J3ObjectHandle* J3ClassLoader::javaClassLoader(bool doPush) {
+ return (_javaClassLoader && doPush) ? J3Thread::get()->push(_javaClassLoader) : _javaClassLoader;
+}
+
uint32_t J3ClassLoader::interfaceIndex(J3Method* method) {
pthread_mutex_lock(&_mutexInterfaces);
InterfaceMethodRefMap::iterator it = interfaces.find(method);
Modified: vmkit/branches/mcjit/lib/j3/vm/j3jni.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3jni.cc?rev=198512&r1=198511&r2=198512&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3jni.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3jni.cc Sat Jan 4 15:57:58 2014
@@ -26,7 +26,7 @@ jclass JNICALL FindClass(JNIEnv* env, co
J3ClassLoader* loader = m ? m->cl()->loader() : J3Thread::get()->vm()->initialClassLoader;
J3Class* cl = loader->loadClass(loader->vm()->names()->get(name));
cl->initialise();
- res = cl->javaClass(1);
+ res = cl->javaClass();
leaveJVM();
return res;
@@ -41,7 +41,7 @@ jclass JNICALL GetSuperclass(JNIEnv* env
jclass res;
enterJVM();
J3ObjectType* cl = J3ObjectType::nativeClass(sub);
- res = J3Thread::get()->vm()->objectClass ? 0 : cl->javaClass(1);
+ res = J3Thread::get()->vm()->objectClass ? 0 : cl->javaClass();
leaveJVM();
return res;
}
@@ -131,7 +131,7 @@ jclass JNICALL GetObjectClass(JNIEnv* en
jclass res;
enterJVM();
- res = obj->vt()->type()->asObjectType()->javaClass(1);
+ res = obj->vt()->type()->asObjectType()->javaClass();
leaveJVM();
return res;
@@ -423,7 +423,7 @@ jstring JNICALL NewStringUTF(JNIEnv* env
jstring res;
enterJVM();
- res = J3Thread::get()->vm()->utfToString(utf, 1);
+ res = J3Thread::get()->vm()->utfToString(utf);
leaveJVM();
return res;
More information about the vmkit-commits
mailing list