[kaffe] CVS kaffe (stack): Revert change that can cause a memory
leak and add some tweaks to
Kaffe CVS
cvs-commits at kaffe.org
Tue Dec 21 16:26:41 PST 2004
PatchSet 5705
Date: 2004/12/22 00:22:01
Author: stack
Branch: HEAD
Tag: (none)
Log:
Revert change that can cause a memory leak and add some tweaks to
eliminate some warnings.
Members:
ChangeLog:1.3250->1.3251
kaffe/kaffeh/support.c:1.46->1.47
kaffe/kaffevm/external.c:1.75->1.76
kaffe/kaffevm/file.c:1.1->1.2
kaffe/kaffevm/file.h:1.8->1.9
kaffe/kaffevm/findInJar.c:1.63->1.64
kaffe/kaffevm/jit3/machine.c:1.66->1.67
kaffe/kaffevm/jni/jni.c:1.14->1.15
libraries/clib/native/ClassLoader.c:1.40->1.41
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.3250 kaffe/ChangeLog:1.3251
--- kaffe/ChangeLog:1.3250 Tue Dec 21 22:21:35 2004
+++ kaffe/ChangeLog Wed Dec 22 00:22:01 2004
@@ -1,5 +1,22 @@
2004-12-21 Timothy S. Stack <stack at cs.utah.edu>
+ * kaffe/kaffeh/support.c, kaffe/kaffevm/file.h,
+ kaffe/kaffevm/file.c, kaffe/kaffevm/jni/jni.c,
+ libraries/clib/native/ClassLoader.c:
+ Be really pedantic about handling const variables and slots in the
+ classFile struct.
+
+ * kaffe/kaffevm/findInJar.c:
+ Revert a couple changes from 1.63.
+
+ * kaffe/kaffevm/external.c:
+ Remove const from libraryPath variable.
+
+ * kaffe/kaffevm/jit3/machine.c:
+ Add const to engine_name variable.
+
+2004-12-21 Timothy S. Stack <stack at cs.utah.edu>
+
* kaffe/kaffevm/jit/machine.h, kaffe/kaffevm/jit/machine.c:
Add jitCodeHeader support.
Index: kaffe/kaffe/kaffeh/support.c
diff -u kaffe/kaffe/kaffeh/support.c:1.46 kaffe/kaffe/kaffeh/support.c:1.47
--- kaffe/kaffe/kaffeh/support.c:1.46 Wed Dec 1 02:41:50 2004
+++ kaffe/kaffe/kaffeh/support.c Wed Dec 22 00:22:02 2004
@@ -866,7 +866,11 @@
continue;
}
- classFileInit(&hand, buf, (size_t)sbuf.st_size, CP_DIR);
+ classFileInit(&hand,
+ buf,
+ buf,
+ (size_t)sbuf.st_size,
+ CP_DIR);
objectDepth++;
/* savepool = constant_pool; */
@@ -909,7 +913,11 @@
continue;
}
- classFileInit(&hand, buf, jentry->uncompressedSize, CP_ZIPFILE);
+ classFileInit(&hand,
+ buf,
+ buf,
+ jentry->uncompressedSize,
+ CP_ZIPFILE);
objectDepth++;
/* savepool = constant_pool; */
Index: kaffe/kaffe/kaffevm/external.c
diff -u kaffe/kaffe/kaffevm/external.c:1.75 kaffe/kaffe/kaffevm/external.c:1.76
--- kaffe/kaffe/kaffevm/external.c:1.75 Tue Dec 21 17:56:42 2004
+++ kaffe/kaffe/kaffevm/external.c Wed Dec 22 00:22:03 2004
@@ -73,7 +73,7 @@
} libHandle[MAXLIBS];
static iStaticLock libraryLock = KAFFE_STATIC_LOCK_INITIALIZER; /* mutex on all intern operations */
-static const char *libraryPath = NULL;
+static char *libraryPath = NULL;
extern JavaVM Kaffe_JavaVM;
Index: kaffe/kaffe/kaffevm/file.c
diff -u kaffe/kaffe/kaffevm/file.c:1.1 kaffe/kaffe/kaffevm/file.c:1.2
--- kaffe/kaffe/kaffevm/file.c:1.1 Tue Apr 27 16:14:24 2004
+++ kaffe/kaffe/kaffevm/file.c Wed Dec 22 00:22:03 2004
@@ -27,11 +27,16 @@
* Init a a classFile struct to point to the given buffer.
*/
void
-classFileInit(classFile* cf, const unsigned char* buf, size_t len, ClassFileType cft)
+classFileInit(classFile* cf,
+ unsigned char* mem,
+ const unsigned char* buf,
+ size_t len,
+ ClassFileType cft)
{
assert (((buf == NULL) && (len == 0))
|| ((buf != NULL) && (len != 0)));
+ cf->mem = mem;
cf->base = cf->cur = buf;
cf->size = len;
cf->type = cft;
Index: kaffe/kaffe/kaffevm/file.h
diff -u kaffe/kaffe/kaffevm/file.h:1.8 kaffe/kaffe/kaffevm/file.h:1.9
--- kaffe/kaffe/kaffevm/file.h:1.8 Tue Apr 27 16:14:24 2004
+++ kaffe/kaffe/kaffevm/file.h Wed Dec 22 00:22:03 2004
@@ -31,6 +31,7 @@
} ClassFileType;
typedef struct classFile {
+ unsigned char* mem;
const unsigned char* base;
const unsigned char* cur;
size_t size;
@@ -41,6 +42,7 @@
* Init a a classFile struct to point to the given buffer.
*/
extern void classFileInit(classFile* cf,
+ unsigned char* mem,
const unsigned char* buf,
size_t len,
ClassFileType cft);
Index: kaffe/kaffe/kaffevm/findInJar.c
diff -u kaffe/kaffe/kaffevm/findInJar.c:1.63 kaffe/kaffe/kaffevm/findInJar.c:1.64
--- kaffe/kaffe/kaffevm/findInJar.c:1.63 Tue Dec 21 08:06:36 2004
+++ kaffe/kaffe/kaffevm/findInJar.c Wed Dec 22 00:22:04 2004
@@ -136,6 +136,7 @@
class = newClass();
if (class == NULL) {
postOutOfMemory(einfo);
+ KFREE(hand.mem);
return (NULL);
}
@@ -150,6 +151,7 @@
-(jlong)GCSIZEOF(hand.base));
}
#endif
+ KFREE(hand.mem);
}
return (class);
@@ -202,7 +204,7 @@
case CP_ZIPFILE:
{
jarEntry* entry;
- const char* data;
+ char* data;
DBG(CLASSLOOKUP, dprintf("Opening JAR file %s for %s\n", ptr->path, cname); );
if (ptr->u.jar == 0) {
@@ -229,7 +231,11 @@
goto done;
}
- classFileInit(hand, data, entry->uncompressedSize, CP_ZIPFILE);
+ classFileInit(hand,
+ data,
+ data,
+ entry->uncompressedSize,
+ CP_ZIPFILE);
if (Kaffe_JavaVMArgs.enableVerboseClassloading) {
dprintf("Loading %s(%s)", cname, ptr->path);
@@ -304,7 +310,11 @@
}
}
- classFileInit(hand, data, (unsigned)sbuf.st_size, CP_DIR);
+ classFileInit(hand,
+ data,
+ data,
+ (unsigned)sbuf.st_size,
+ CP_DIR);
KCLOSE(fp);
if (Kaffe_JavaVMArgs.enableVerboseClassloading) {
Index: kaffe/kaffe/kaffevm/jit3/machine.c
diff -u kaffe/kaffe/kaffevm/jit3/machine.c:1.66 kaffe/kaffe/kaffevm/jit3/machine.c:1.67
--- kaffe/kaffe/kaffevm/jit3/machine.c:1.66 Tue Dec 21 22:21:37 2004
+++ kaffe/kaffe/kaffevm/jit3/machine.c Wed Dec 22 00:22:05 2004
@@ -61,7 +61,7 @@
#include "kaffe_jni.h"
#include "native-wrapper.h"
-char* engine_name = "Just-in-time v3";
+const char* engine_name = "Just-in-time v3";
/**
* top of the operand stack. localsz <= stackno < localsz+stacksz
Index: kaffe/kaffe/kaffevm/jni/jni.c
diff -u kaffe/kaffe/kaffevm/jni/jni.c:1.14 kaffe/kaffe/kaffevm/jni/jni.c:1.15
--- kaffe/kaffe/kaffevm/jni/jni.c:1.14 Tue Dec 21 08:06:38 2004
+++ kaffe/kaffe/kaffevm/jni/jni.c Wed Dec 22 00:22:05 2004
@@ -193,7 +193,7 @@
BEGIN_EXCEPTION_HANDLING(NULL);
- classFileInit(&hand, buf, len, CP_BYTEARRAY);
+ classFileInit(&hand, NULL, buf, (size_t)len, CP_BYTEARRAY);
cls = newClass();
if (cls == 0) {
Index: kaffe/libraries/clib/native/ClassLoader.c
diff -u kaffe/libraries/clib/native/ClassLoader.c:1.40 kaffe/libraries/clib/native/ClassLoader.c:1.41
--- kaffe/libraries/clib/native/ClassLoader.c:1.40 Tue Dec 21 16:51:13 2004
+++ kaffe/libraries/clib/native/ClassLoader.c Wed Dec 22 00:22:05 2004
@@ -44,7 +44,11 @@
{
SignalError("java.lang.ClassFormatError", "truncated class");
}
- classFileInit(&hand, &unhand_array(data)->body[offset], (unsigned) length, CP_BYTEARRAY);
+ classFileInit(&hand,
+ NULL,
+ &unhand_array(data)->body[offset],
+ (unsigned) length,
+ CP_BYTEARRAY);
clazz = newClass();
if (clazz == 0) {
More information about the kaffe
mailing list