[vmkit-commits] [vmkit] r145090 - in /vmkit/trunk/lib/j3/ClassLib: ArrayCopy.inc OpenJDK/OpenJDK.inc
Will Dietz
wdietz2 at illinois.edu
Tue Nov 22 15:55:00 PST 2011
Author: wdietz2
Date: Tue Nov 22 17:55:00 2011
New Revision: 145090
URL: http://llvm.org/viewvc/llvm-project?rev=145090&view=rev
Log:
Small robustness improvements when passed NULL JavaObjects.
Now passes mauve's j.l.System tests, other than j.l.System.security
Modified:
vmkit/trunk/lib/j3/ClassLib/ArrayCopy.inc
vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc
Modified: vmkit/trunk/lib/j3/ClassLib/ArrayCopy.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/ArrayCopy.inc?rev=145090&r1=145089&r2=145090&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/ArrayCopy.inc (original)
+++ vmkit/trunk/lib/j3/ClassLib/ArrayCopy.inc Tue Nov 22 17:55:00 2011
@@ -14,8 +14,6 @@
llvm_gcroot(src, 0);
llvm_gcroot(dst, 0);
llvm_gcroot(cur, 0);
- assert(src->getVirtualTable());
- assert(dst->getVirtualTable());
JavaThread* th = JavaThread::get();
Jnjvm *vm = th->getJVM();
@@ -32,6 +30,9 @@
UNREACHABLE();
}
+ assert(src->getVirtualTable());
+ assert(dst->getVirtualTable());
+
UserClassArray* ts = (UserClassArray*)JavaObject::getClass(src);
UserClassArray* td = (UserClassArray*)JavaObject::getClass(dst);
UserCommonClass* dstType = td->baseClass();
Modified: vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc?rev=145090&r1=145089&r2=145090&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc (original)
+++ vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc Tue Nov 22 17:55:00 2011
@@ -110,7 +110,7 @@
JNIEXPORT jint JNICALL
JVM_IHashCode(JNIEnv *env, jobject _obj) {
- JavaObject * obj = *(JavaObject**)_obj;
+ JavaObject * obj = _obj ? *(JavaObject**)_obj : 0;
llvm_gcroot(obj, 0);
jint hash = (obj == NULL) ? 0 : JavaObject::hashCode(obj);
@@ -226,8 +226,8 @@
BEGIN_JNI_EXCEPTION
- src = *(JavaObject**)jsrc;
- dst = *(JavaObject**)jdst;
+ src = jsrc ? *(JavaObject**)jsrc : 0;
+ dst = jdst ? *(JavaObject**)jdst : 0;
ArrayCopy(src, sstart, dst, dstart, len);
More information about the vmkit-commits
mailing list