[kaffe] CVS kaffe (robilad): Various small cleanups and warning
fixes
Kaffe CVS
cvs-commits at kaffe.org
Sat Feb 5 01:27:21 PST 2005
PatchSet 5972
Date: 2005/02/05 09:22:37
Author: robilad
Branch: HEAD
Tag: (none)
Log:
Various small cleanups and warning fixes
2005-02-05 Dalibor Topic <robilad at kaffe.org>
* kaffe/kaffevm/exception.h: Removed explicit
prototypes for the inline functions.
* kaffe/kaffevm/external.h: Added missing include.
* kaffe/kaffevm/intrp/icode.h (UNINITIALIZED_STACK_SLOT):
New contant (available for debug code).
(check_array_index) Added additional asserts in debug
mode.
* kaffe/kaffevm/intrp/machine.c (engine_name): Made const.
(check_null) Use EXPLICIT_CHECK_NULL in debug mode.
(virtualMachine) Use UNINITIALIZED_STACK_SLOT.
* kaffe/kaffevm/systems/unix-pthreads/jsignal.h
(detectStackBoundaries) : Removed redundant prototype.
* libraries/clib/native/gnu_classpath_VMSystemProperties.c
(Java_gnu_classpath_VMSystemProperties_getKaffeLibraryPath):
Simplified.
Members:
ChangeLog:1.3511->1.3512
kaffe/kaffevm/exception.h:1.29->1.30
kaffe/kaffevm/external.h:1.10->1.11
kaffe/kaffevm/intrp/icode.h:1.22->1.23
kaffe/kaffevm/intrp/machine.c:1.46->1.47
kaffe/kaffevm/systems/unix-pthreads/jsignal.h:1.5->1.6
libraries/clib/native/gnu_classpath_VMSystemProperties.c:1.2->1.3
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.3511 kaffe/ChangeLog:1.3512
--- kaffe/ChangeLog:1.3511 Fri Feb 4 15:20:09 2005
+++ kaffe/ChangeLog Sat Feb 5 09:22:37 2005
@@ -1,3 +1,26 @@
+2005-02-05 Dalibor Topic <robilad at kaffe.org>
+
+ * kaffe/kaffevm/exception.h: Removed explicit
+ prototypes for the inline functions.
+
+ * kaffe/kaffevm/external.h: Added missing include.
+
+ * kaffe/kaffevm/intrp/icode.h (UNINITIALIZED_STACK_SLOT):
+ New contant (available for debug code).
+ (check_array_index) Added additional asserts in debug
+ mode.
+
+ * kaffe/kaffevm/intrp/machine.c (engine_name): Made const.
+ (check_null) Use EXPLICIT_CHECK_NULL in debug mode.
+ (virtualMachine) Use UNINITIALIZED_STACK_SLOT.
+
+ * kaffe/kaffevm/systems/unix-pthreads/jsignal.h
+ (detectStackBoundaries) : Removed redundant prototype.
+
+ * libraries/clib/native/gnu_classpath_VMSystemProperties.c
+ (Java_gnu_classpath_VMSystemProperties_getKaffeLibraryPath):
+ Simplified.
+
2005-02-04 Jim Huang <jserv at kaffe.org>
* FAQ/FAQ.awt:
Index: kaffe/kaffe/kaffevm/exception.h
diff -u kaffe/kaffe/kaffevm/exception.h:1.29 kaffe/kaffe/kaffevm/exception.h:1.30
--- kaffe/kaffe/kaffevm/exception.h:1.29 Sun Jan 30 12:42:40 2005
+++ kaffe/kaffe/kaffevm/exception.h Sat Feb 5 09:22:41 2005
@@ -105,17 +105,6 @@
extern void initExceptions(void);
-static inline bool vmExcept_isJNIFrame(VmExceptHandler* eh) __UNUSED__;
-static inline bool vmExcept_JNIContains(VmExceptHandler* eh, uintp fp) __UNUSED__;
-static inline void vmExcept_setJNIFrame(VmExceptHandler* eh, uintp fp) __UNUSED__;
-static inline struct _methods* vmExcept_getMeth(VmExceptHandler* eh) __UNUSED__;
-static inline void vmExcept_setMeth(VmExceptHandler* eh, struct _methods* m) __UNUSED__;
-static inline void vmExcept_setSyncObj(VmExceptHandler* eh, struct Hjava_lang_Object* syncobj) __UNUSED__;
-static inline struct Hjava_lang_Object* vmExcept_getSyncObj(VmExceptHandler* eh) __UNUSED__;
-static inline void vmExcept_setPC(volatile VmExceptHandler* eh, u4 pc) __UNUSED__;
-static inline u4 vmExcept_getPC(const VmExceptHandler* eh) __UNUSED__;
-static inline void vmExcept_jumpToHandler(VmExceptHandler* frame) __UNUSED__ NONRETURNING;
-
static inline bool
vmExcept_isJNIFrame(VmExceptHandler* eh)
{
Index: kaffe/kaffe/kaffevm/external.h
diff -u kaffe/kaffe/kaffevm/external.h:1.10 kaffe/kaffe/kaffevm/external.h:1.11
--- kaffe/kaffe/kaffevm/external.h:1.10 Tue Dec 21 16:51:05 2004
+++ kaffe/kaffe/kaffevm/external.h Sat Feb 5 09:22:41 2005
@@ -12,6 +12,7 @@
#ifndef __external_h
#define __external_h
+#include "java_lang_ClassLoader.h"
#include "gtypes.h"
#define MAXSTUBLEN 1024
Index: kaffe/kaffe/kaffevm/intrp/icode.h
diff -u kaffe/kaffe/kaffevm/intrp/icode.h:1.22 kaffe/kaffe/kaffevm/intrp/icode.h:1.23
--- kaffe/kaffe/kaffevm/intrp/icode.h:1.22 Fri Feb 4 14:43:23 2005
+++ kaffe/kaffe/kaffevm/intrp/icode.h Sat Feb 5 09:22:42 2005
@@ -15,6 +15,10 @@
#include "slots.h"
#include "soft.h"
+#if defined(KAFFE_VMDEBUG)
+static const int32 UNINITIALIZED_STACK_SLOT = 0x00c0ffee;
+#endif
+
#define move_long_const(t, c) (t)[0].v.tlong = (c)
#define add_long(t, f1, f2) (t)[0].v.tlong = (f1)[0].v.tlong + (f2)[0].v.tlong
#define sub_long(t, f1, f2) (t)[0].v.tlong = (f1)[0].v.tlong - (f2)[0].v.tlong
@@ -319,6 +323,23 @@
{
const jint array_index = index_slot->v.tint;
const void* array_reference = array_slot->v.taddr;
+
+#if defined(KAFFE_VMDEBUG)
+ /* Make sure that array reference is valid.
+ * Check for NULL first.
+ *
+ * The check only works in debug mode, as on most
+ * platforms we rely on the MMU to detect NULL.
+ */
+ assert(array_reference != NULL);
+ /* Then check if array_reference
+ * comes from an uninitialized stack slot.
+ *
+ * The check only works in debug mode, as then the
+ * stack is filled with 0xc0ffee.
+ */
+ assert(array_reference != (void *) UNINITIALIZED_STACK_SLOT);
+#endif
if (array_index < 0 ||
array_index >= ARRAY_SIZE(array_reference))
Index: kaffe/kaffe/kaffevm/intrp/machine.c
diff -u kaffe/kaffe/kaffevm/intrp/machine.c:1.46 kaffe/kaffe/kaffevm/intrp/machine.c:1.47
--- kaffe/kaffe/kaffevm/intrp/machine.c:1.46 Sun Jan 30 18:21:40 2005
+++ kaffe/kaffe/kaffevm/intrp/machine.c Sat Feb 5 09:22:42 2005
@@ -52,7 +52,7 @@
/*
* Define information about this engine.
*/
-char* engine_name = "Interpreter";
+const char* engine_name = "Interpreter";
#define define_insn(code) break; \
case code: \
@@ -79,7 +79,12 @@
/* For JIT3 compatibility */
#define check_array_store(a,b) softcall_checkarraystore(a,b)
#define explicit_check_null(x,obj,y) EXPLICIT_CHECK_NULL(x,obj,y)
+
+#if defined(KAFFE_VMDEBUG)
+#define check_null(x,obj,y) EXPLICIT_CHECK_NULL(x,obj,y)
+#else
#define check_null(x,obj,y) CHECK_NULL(x,obj,y)
+#endif
#define check_div(x,obj,y)
#define check_div_long(x,obj,y)
@@ -161,7 +166,7 @@
{
int32 *p = (int32 *) &lcl[meth->localsz + meth->stacksz];
while (p-- > (int32*)lcl)
- *p = 0x00c0ffee;
+ *p = UNINITIALIZED_STACK_SLOT;
}
#endif
Index: kaffe/kaffe/kaffevm/systems/unix-pthreads/jsignal.h
diff -u kaffe/kaffe/kaffevm/systems/unix-pthreads/jsignal.h:1.5 kaffe/kaffe/kaffevm/systems/unix-pthreads/jsignal.h:1.6
--- kaffe/kaffe/kaffevm/systems/unix-pthreads/jsignal.h:1.5 Wed Dec 29 16:27:43 2004
+++ kaffe/kaffe/kaffevm/systems/unix-pthreads/jsignal.h Sat Feb 5 09:22:42 2005
@@ -43,6 +43,4 @@
void blockAsyncSignals(void);
void unblockAndCheckSignal(int sig);
-void detectStackBoundaries(jthread_t jtid, int mainThreadStackSize);
-
#endif /* UNIXJTHREAD_SIGNAL_H */
Index: kaffe/libraries/clib/native/gnu_classpath_VMSystemProperties.c
diff -u kaffe/libraries/clib/native/gnu_classpath_VMSystemProperties.c:1.2 kaffe/libraries/clib/native/gnu_classpath_VMSystemProperties.c:1.3
--- kaffe/libraries/clib/native/gnu_classpath_VMSystemProperties.c:1.2 Tue Dec 21 02:43:11 2004
+++ kaffe/libraries/clib/native/gnu_classpath_VMSystemProperties.c Sat Feb 5 09:22:42 2005
@@ -131,7 +131,10 @@
Java_gnu_classpath_VMSystemProperties_getKaffeLibraryPath (JNIEnv *env,
jclass klass __attribute__((__unused__)))
{
- return (*env)->NewStringUTF(env, getLibraryPath());
+ const char * path;
+
+ path = getLibraryPath();
+ return (*env)->NewStringUTF(env, path);
}
JNIEXPORT jstring JNICALL
More information about the kaffe
mailing list