[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