[kaffe] [PATCH] use InternalError for memory errors

Casey Marshall usenet@metastatic.org
Fri Mar 5 17:03:11 PST 2004


--=-=-=

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I'd like to suggest that instead of throwing a NullPointerException
for bad memory accesses (SIGBUS and SIGSEGV) an InternalError is
thrown instead. It's more descriptive, and less confusing.

Cheers,

- -- 
Casey Marshall || rsdio@metastatic.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.7 <http://mailcrypt.sourceforge.net/>

iD8DBQFASO3YgAuWMgRGsWsRAgZbAKCBMuhoeFjfM9ZuQBL2ynsBYxH9PQCdG9dV
xFA68vc7QTkg05Rn/1BOzLs=
=AlY2
-----END PGP SIGNATURE-----

--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=internalerr.patch

Index: kaffe/kaffevm/baseClasses.c
===================================================================
RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/baseClasses.c,v
retrieving revision 1.45
diff -u -r1.45 baseClasses.c
--- kaffe/kaffevm/baseClasses.c	7 Aug 2003 21:05:27 -0000	1.45
+++ kaffe/kaffevm/baseClasses.c	5 Mar 2004 21:10:07 -0000
@@ -83,6 +83,7 @@
 Hjava_lang_Class* javaLangStackOverflowError;
 /* Let's not load this if we can't open Klasses.jar */
 Hjava_lang_Class* javaIoIOException;
+Hjava_lang_Class* javaLangInternalError;
 
 #define SYSTEMCLASS "java/lang/System"
 #define	SERIALCLASS "java/io/Serializable"
@@ -291,6 +292,7 @@
 	loadStaticClass(&javaLangNoClassDefFoundError, "java/lang/NoClassDefFoundError");
 	loadStaticClass(&javaLangStackOverflowError, "java/lang/StackOverflowError");
 	loadStaticClass(&javaIoIOException, "java/io/IOException");
+	loadStaticClass(&javaLangInternalError, "java/lang/InternalError");
 
 	DBG(INIT, dprintf("initBaseClasses() done\n"); )
 
Index: kaffe/kaffevm/baseClasses.h
===================================================================
RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/baseClasses.h,v
retrieving revision 1.16
diff -u -r1.16 baseClasses.h
--- kaffe/kaffevm/baseClasses.h	5 Aug 2003 15:06:37 -0000	1.16
+++ kaffe/kaffevm/baseClasses.h	5 Mar 2004 21:10:07 -0000
@@ -56,5 +56,6 @@
 extern struct Hjava_lang_Class* javaLangClassNotFoundException;
 extern struct Hjava_lang_Class* javaLangNoClassDefFoundError;
 extern struct Hjava_lang_Class* javaLangStackOverflowError;
+extern struct Hjava_lang_Class* javaLangInternalError;
 
 #endif
Index: kaffe/kaffevm/exception.c
===================================================================
RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/exception.c,v
retrieving revision 1.77
diff -u -r1.77 exception.c
--- kaffe/kaffevm/exception.c	1 Feb 2004 22:14:52 -0000	1.77
+++ kaffe/kaffevm/exception.c	5 Mar 2004 21:10:07 -0000
@@ -471,7 +471,7 @@
 	Hjava_lang_VMThrowable* vmstate;
 	Hjava_lang_Object* backtrace;
 
-	npe = (Hjava_lang_Throwable*)newObject(javaLangNullPointerException);
+	npe = (Hjava_lang_Throwable*)newObject(javaLangInternalError);
 	vmstate = (Hjava_lang_VMThrowable*)newObject(javaLangVMThrowable);
 	backtrace = buildStackTrace(frame);
 	unhand(vmstate)->backtrace = backtrace;

--=-=-=--




More information about the kaffe mailing list