[kaffe] CVS kaffe (stack): Add missing illegalaccess stuff to intrp/jit.

Kaffe CVS Kaffe Mailing List <kaffe@kaffe.org>
Tue Sep 2 09:44:02 2003


PatchSet 4012 
Date: 2003/09/02 16:40:56
Author: stack
Branch: HEAD
Tag: (none) 
Log:
Add missing illegalaccess stuff to intrp/jit.

Members: 
	ChangeLog:1.1608->1.1609 
	kaffe/kaffevm/intrp/icode.h:1.17->1.18 
	kaffe/kaffevm/jit/icode.c:1.24->1.25 
	kaffe/kaffevm/jit/icode_internal.h:1.3->1.4 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1608 kaffe/ChangeLog:1.1609
--- kaffe/ChangeLog:1.1608	Tue Sep  2 16:30:44 2003
+++ kaffe/ChangeLog	Tue Sep  2 16:40:56 2003
@@ -1,3 +1,11 @@
+2003-09-02  Timothy S. Stack <stack@cs.utah.edu>
+
+	* kaffe/kaffevm/intrp/icode.h,
+	kaffe/kaffevm/jit/icode_internal.h,
+	kaffe/kaffevm/jit/icode.c:
+	Add softcall_linkage and softcall_illegalaccess to make calls to
+	the corresponding soft_ functions.
+
 2003-09-02  Ito Kazumitsu <kaz@maczuka.gcd.org>
 
 	* libraries/javalib/gnu/xml/aelfred2/XmlParser.java:
Index: kaffe/kaffe/kaffevm/intrp/icode.h
diff -u kaffe/kaffe/kaffevm/intrp/icode.h:1.17 kaffe/kaffe/kaffevm/intrp/icode.h:1.18
--- kaffe/kaffe/kaffevm/intrp/icode.h:1.17	Sun Jul 27 16:53:47 2003
+++ kaffe/kaffe/kaffevm/intrp/icode.h	Tue Sep  2 16:40:58 2003
@@ -293,6 +293,8 @@
 #define	softcall_nullpointer()			soft_nullpointer()
 #define	softcall_nosuchmethod(c,n,s)		soft_nosuchmethod(c,n,s)
 #define	softcall_nosuchfield(c,n)		soft_nosuchfield(c,n)
+#define	softcall_linkage(c,n)			soft_linkage(c,n)
+#define	softcall_illegalaccess(c,n)		soft_illegalaccess(c,n)
 #define	softcall_nosuchclass(c)			soft_nosuchclass(c)
 
 #define	softcall_checkarraystore(a, o)		soft_checkarraystore((a)[0].v.taddr, (o)[0].v.taddr)
Index: kaffe/kaffe/kaffevm/jit/icode.c
diff -u kaffe/kaffe/kaffevm/jit/icode.c:1.24 kaffe/kaffe/kaffevm/jit/icode.c:1.25
--- kaffe/kaffe/kaffevm/jit/icode.c:1.24	Sun Jul 27 16:53:48 2003
+++ kaffe/kaffe/kaffevm/jit/icode.c	Tue Sep  2 16:40:58 2003
@@ -3418,6 +3418,30 @@
 }
 
 void
+softcall_linkage(Utf8Const* cls, Utf8Const* name)
+{
+	sync_registers();
+	prepare_function_call();
+	pusharg_utf8_const(name, 1);
+	pusharg_utf8_const(cls, 0);
+	call_soft(soft_linkage);
+	popargs();
+	fixup_function_call();
+}
+
+void
+softcall_illegalaccess(Utf8Const* cls, Utf8Const* name)
+{
+	sync_registers();
+	prepare_function_call();
+	pusharg_utf8_const(name, 1);
+	pusharg_utf8_const(cls, 0);
+	call_soft(soft_illegalaccess);
+	popargs();
+	fixup_function_call();
+}
+
+void
 softcall_incompatibleclasschange(Utf8Const* cls, Utf8Const* name)
 {
         sync_registers();
Index: kaffe/kaffe/kaffevm/jit/icode_internal.h
diff -u kaffe/kaffe/kaffevm/jit/icode_internal.h:1.3 kaffe/kaffe/kaffevm/jit/icode_internal.h:1.4
--- kaffe/kaffe/kaffevm/jit/icode_internal.h:1.3	Sun Jul 27 16:53:48 2003
+++ kaffe/kaffe/kaffevm/jit/icode_internal.h	Tue Sep  2 16:40:58 2003
@@ -45,5 +45,7 @@
 extern void softcall_nosuchclass(Utf8Const*);
 extern void softcall_nosuchmethod(Hjava_lang_Class*, Utf8Const*, Utf8Const*);
 extern void softcall_nosuchfield(Utf8Const*, Utf8Const*);
+extern void softcall_linkage(Utf8Const*, Utf8Const*);
+extern void softcall_illegalaccess(Utf8Const*, Utf8Const*);
 extern void softcall_incompatibleclasschange(Utf8Const*,Utf8Const*);