[vmkit-commits] [vmkit] r108058 - in /vmkit/trunk/lib/J3: Classpath/ClasspathMethod.inc Classpath/ClasspathVMStackWalker.inc Compiler/JavaJITCompiler.cpp VMCore/JnjvmClassLoader.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Sat Jul 10 14:34:49 PDT 2010
Author: geoffray
Date: Sat Jul 10 16:34:49 2010
New Revision: 108058
URL: http://llvm.org/viewvc/llvm-project?rev=108058&view=rev
Log:
Replace uses of malloc with a ThreadAllocator.
Modified:
vmkit/trunk/lib/J3/Classpath/ClasspathMethod.inc
vmkit/trunk/lib/J3/Classpath/ClasspathVMStackWalker.inc
vmkit/trunk/lib/J3/Compiler/JavaJITCompiler.cpp
vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp
Modified: vmkit/trunk/lib/J3/Classpath/ClasspathMethod.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Classpath/ClasspathMethod.inc?rev=108058&r1=108057&r2=108058&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Classpath/ClasspathMethod.inc (original)
+++ vmkit/trunk/lib/J3/Classpath/ClasspathMethod.inc Sat Jul 10 16:34:49 2010
@@ -168,7 +168,6 @@
exc = th->getJavaException(); \
} END_CATCH; \
if (exc) { \
- if (size) delete[] buf; \
if (JavaObject::getClass(exc)->isAssignableFrom( \
vm->upcalls->newException)) { \
th->clearException(); \
@@ -231,12 +230,10 @@
RUN_METH(JavaObject, res);
}
} else {
- if (size) delete[] buf;
vm->illegalArgumentException("wrong number of arguments");
return NULL;
}
- if (size) delete[] buf;
return res;
}
Modified: vmkit/trunk/lib/J3/Classpath/ClasspathVMStackWalker.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Classpath/ClasspathVMStackWalker.inc?rev=108058&r1=108057&r2=108058&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Classpath/ClasspathVMStackWalker.inc (original)
+++ vmkit/trunk/lib/J3/Classpath/ClasspathVMStackWalker.inc Sat Jul 10 16:34:49 2010
@@ -55,7 +55,6 @@
delegatee = meth->classDef->getClassDelegatee(vm);;
ArrayObject::setElement(result, delegatee, i);
}
- delete[] buffer;
END_NATIVE_EXCEPTION
Modified: vmkit/trunk/lib/J3/Compiler/JavaJITCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaJITCompiler.cpp?rev=108058&r1=108057&r2=108058&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaJITCompiler.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaJITCompiler.cpp Sat Jul 10 16:34:49 2010
@@ -440,7 +440,6 @@
vm->runApplication(argc + 1, newArgv);
vm->waitForExit();
- delete[] newArgv;
return 0;
}
Modified: vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp?rev=108058&r1=108057&r2=108058&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/J3/VMCore/JnjvmClassLoader.cpp Sat Jul 10 16:34:49 2010
@@ -567,8 +567,8 @@
bool doThrow) {
llvm_gcroot(str, 0);
-
- UTF8* name = (UTF8*)malloc(sizeof(UTF8) + str->count * sizeof(uint16));
+ mvm::ThreadAllocator allocator;
+ UTF8* name = (UTF8*)allocator.Allocate(sizeof(UTF8) + str->count * sizeof(uint16));
name->size = str->count;
if (ArrayUInt16::getElement(JavaString::getValue(str), str->offset) != I_TAB) {
@@ -576,7 +576,6 @@
uint16 cur = ArrayUInt16::getElement(JavaString::getValue(str), str->offset + i);
if (cur == '.') name->elements[i] = '/';
else if (cur == '/') {
- free(name);
return 0;
}
else name->elements[i] = cur;
@@ -587,7 +586,6 @@
if (cur == '.') {
name->elements[i] = '/';
} else if (cur == '/') {
- free(name);
return 0;
} else {
name->elements[i] = cur;
@@ -596,23 +594,25 @@
}
UserCommonClass* cls = loadClassFromUserUTF8(name, doResolve, doThrow, str);
- free(name);
return cls;
}
UserCommonClass* JnjvmClassLoader::lookupClassFromJavaString(JavaString* str) {
+ const ArrayUInt16* value = NULL;
llvm_gcroot(str, 0);
+ llvm_gcroot(value, 0);
+ value = JavaString::getValue(str);
+ mvm::ThreadAllocator allocator;
- UTF8* name = (UTF8*)malloc(sizeof(UTF8) + str->count * sizeof(uint16));
+ UTF8* name = (UTF8*)allocator.Allocate(sizeof(UTF8) + str->count * sizeof(uint16));
name->size = str->count;
for (sint32 i = 0; i < str->count; ++i) {
- uint16 cur = ArrayUInt16::getElement(JavaString::getValue(str), str->offset + i);
+ uint16 cur = ArrayUInt16::getElement(value, str->offset + i);
if (cur == '.') name->elements[i] = '/';
else name->elements[i] = cur;
}
UserCommonClass* cls = lookupClass(name);
- free(name);
return cls;
}
More information about the vmkit-commits
mailing list