summaryrefslogtreecommitdiff
path: root/java/sablevm
diff options
context:
space:
mode:
authorArchie Cobbs <archie@FreeBSD.org>2003-02-20 22:08:13 +0000
committerArchie Cobbs <archie@FreeBSD.org>2003-02-20 22:08:13 +0000
commiteaa57df65acaf085214ec635260317566ba8b19d (patch)
tree973c8cb5821c1b704f0d5463bd2c180a11406aa1 /java/sablevm
parentList my FreeBSD.org address. (diff)
Update to version 1.0.6.
Notes
Notes: svn path=/head/; revision=75993
Diffstat (limited to 'java/sablevm')
-rw-r--r--java/sablevm/Makefile2
-rw-r--r--java/sablevm/distinfo6
-rw-r--r--java/sablevm/files/extra-patch-aa6
-rw-r--r--java/sablevm/files/extra-patch-ab6
-rw-r--r--java/sablevm/files/patch-aa16
-rw-r--r--java/sablevm/files/patch-ab6
-rw-r--r--java/sablevm/files/patch-ac6
-rw-r--r--java/sablevm/files/patch-ad6
-rw-r--r--java/sablevm/files/patch-ae20
-rw-r--r--java/sablevm/files/patch-af12
-rw-r--r--java/sablevm/files/patch-ag6
-rw-r--r--java/sablevm/files/patch-ah27
-rw-r--r--java/sablevm/files/patch-ai4
-rw-r--r--java/sablevm/files/patch-aj4
-rw-r--r--java/sablevm/files/patch-ak4
-rw-r--r--java/sablevm/files/patch-al140
-rw-r--r--java/sablevm/files/patch-am18
-rw-r--r--java/sablevm/files/patch-an12
-rw-r--r--java/sablevm/files/patch-ao20
-rw-r--r--java/sablevm/files/patch-ap12
20 files changed, 282 insertions, 51 deletions
diff --git a/java/sablevm/Makefile b/java/sablevm/Makefile
index 1c4096f77434..a23c0ce89d6d 100644
--- a/java/sablevm/Makefile
+++ b/java/sablevm/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= sablevm
-PORTVERSION= 1.0.5
+PORTVERSION= 1.0.6
CATEGORIES= java
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR=sablevm
diff --git a/java/sablevm/distinfo b/java/sablevm/distinfo
index f47fcd03cf15..584099124de7 100644
--- a/java/sablevm/distinfo
+++ b/java/sablevm/distinfo
@@ -1,3 +1,3 @@
-MD5 (sablevm-1.0.5.tar.gz) = deb1be071b0d837412ca3c5da60799ee
-MD5 (sablevm-class-library-1.0.5.tar.gz) = 4eeff18283665e44464ab0674c0d5792
-MD5 (sablevm-native-library-1.0.5.tar.gz) = 954d9d057d4394bf6f442d03b9c2cd72
+MD5 (sablevm-1.0.6.tar.gz) = ba057c47cf52d6ff2dc612067b1b831d
+MD5 (sablevm-class-library-1.0.6.tar.gz) = 654c66f4a82b37b5eeead31e291d1d6c
+MD5 (sablevm-native-library-1.0.6.tar.gz) = fbb2fc1bb19c427db1ae1db4c9a2c431
diff --git a/java/sablevm/files/extra-patch-aa b/java/sablevm/files/extra-patch-aa
index 008a55e155ec..248a07e030ed 100644
--- a/java/sablevm/files/extra-patch-aa
+++ b/java/sablevm/files/extra-patch-aa
@@ -1,6 +1,6 @@
-diff -ur work.orig/sablevm-native-library-1.0.5/src/Makefile.in work/sablevm-native-library-1.0.5/src/Makefile.in
---- work.orig/sablevm-native-library-1.0.5/src/Makefile.in Wed Aug 14 22:32:02 2002
-+++ work/sablevm-native-library-1.0.5/src/Makefile.in Sun Aug 18 10:24:12 2002
+diff -ur work.orig/sablevm-native-library-1.0.6/src/Makefile.in work/sablevm-native-library-1.0.6/src/Makefile.in
+--- work.orig/sablevm-native-library-1.0.6/src/Makefile.in Wed Aug 14 22:32:02 2002
++++ work/sablevm-native-library-1.0.6/src/Makefile.in Sun Aug 18 10:24:12 2002
@@ -94,8 +94,7 @@
java-io \
java-lang \
diff --git a/java/sablevm/files/extra-patch-ab b/java/sablevm/files/extra-patch-ab
index 480db583ca76..e5df24f34cb1 100644
--- a/java/sablevm/files/extra-patch-ab
+++ b/java/sablevm/files/extra-patch-ab
@@ -1,6 +1,6 @@
-diff -ur work.orig/sablevm-native-library-1.0.5/src/Makefile.am work/sablevm-native-library-1.0.5/src/Makefile.am
---- work.orig/sablevm-native-library-1.0.5/src/Makefile.am Sun Jul 28 17:14:15 2002
-+++ work/sablevm-native-library-1.0.5/src/Makefile.am Sun Aug 18 17:26:09 2002
+diff -ur work.orig/sablevm-native-library-1.0.6/src/Makefile.am work/sablevm-native-library-1.0.6/src/Makefile.am
+--- work.orig/sablevm-native-library-1.0.6/src/Makefile.am Sun Jul 28 17:14:15 2002
++++ work/sablevm-native-library-1.0.6/src/Makefile.am Sun Aug 18 17:26:09 2002
@@ -44,5 +44,4 @@
java-io \
java-lang \
diff --git a/java/sablevm/files/patch-aa b/java/sablevm/files/patch-aa
index c6665a6c5560..68c95dff84ab 100644
--- a/java/sablevm/files/patch-aa
+++ b/java/sablevm/files/patch-aa
@@ -1,7 +1,6 @@
-diff -ur work.orig/sablevm-1.0.5/configure work/sablevm-1.0.5/configure
---- work.orig/sablevm-1.0.5/configure Wed Aug 14 22:34:00 2002
-+++ work/sablevm-1.0.5/configure Sat Aug 17 21:14:52 2002
-@@ -8025,62 +8025,6 @@
+--- work/sablevm-1.0.6/configure.orig Wed Feb 19 22:28:32 2003
++++ work/sablevm-1.0.6/configure Thu Feb 20 13:35:35 2003
+@@ -8088,67 +8088,6 @@
echo ***ERROR: libpopt is missing; exit 1
fi
@@ -14,7 +13,11 @@ diff -ur work.orig/sablevm-1.0.5/configure work/sablevm-1.0.5/configure
-LIBS="-lpthread $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
--#include "confdefs.h"
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
@@ -46,7 +49,8 @@ diff -ur work.orig/sablevm-1.0.5/configure work/sablevm-1.0.5/configure
- ac_cv_lib_pthread_pthread_self=yes
-else
- echo "$as_me: failed program was:" >&5
--cat conftest.$ac_ext >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
-ac_cv_lib_pthread_pthread_self=no
-fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
diff --git a/java/sablevm/files/patch-ab b/java/sablevm/files/patch-ab
index adb5f59ef956..87511ee245f3 100644
--- a/java/sablevm/files/patch-ab
+++ b/java/sablevm/files/patch-ab
@@ -1,6 +1,6 @@
-diff -ur work.orig/sablevm-1.0.5/configure.ac work/sablevm-1.0.5/configure.ac
---- work.orig/sablevm-1.0.5/configure.ac Wed Aug 14 22:29:54 2002
-+++ work/sablevm-1.0.5/configure.ac Sat Aug 17 21:14:51 2002
+diff -ur work.orig/sablevm-1.0.6/configure.ac work/sablevm-1.0.6/configure.ac
+--- work.orig/sablevm-1.0.6/configure.ac Wed Aug 14 22:29:54 2002
++++ work/sablevm-1.0.6/configure.ac Sat Aug 17 21:14:51 2002
@@ -119,7 +119,6 @@
AC_CHECK_LIB(ltdl,lt_dlinit,echo -n,echo ***ERROR: libltdl is missing; exit 1)
AC_CHECK_LIB(m,fmod,echo -n,echo ***ERROR: libm is missing; exit 1)
diff --git a/java/sablevm/files/patch-ac b/java/sablevm/files/patch-ac
index 72befc8abe1f..f3a5fb701815 100644
--- a/java/sablevm/files/patch-ac
+++ b/java/sablevm/files/patch-ac
@@ -1,6 +1,6 @@
-diff -ur work.orig/sablevm-1.0.5/src/libsablevm/Makefile.am work/sablevm-1.0.5/src/libsablevm/Makefile.am
---- work.orig/sablevm-1.0.5/src/libsablevm/Makefile.am Sun Aug 11 14:33:05 2002
-+++ work/sablevm-1.0.5/src/libsablevm/Makefile.am Sat Aug 17 21:14:51 2002
+diff -ur work.orig/sablevm-1.0.6/src/libsablevm/Makefile.am work/sablevm-1.0.6/src/libsablevm/Makefile.am
+--- work.orig/sablevm-1.0.6/src/libsablevm/Makefile.am Sun Aug 11 14:33:05 2002
++++ work/sablevm-1.0.6/src/libsablevm/Makefile.am Sat Aug 17 21:14:51 2002
@@ -306,7 +306,7 @@
rm -f util.c
rm -f vm_args.c
diff --git a/java/sablevm/files/patch-ad b/java/sablevm/files/patch-ad
index f42e8f13e891..4b3383f1b369 100644
--- a/java/sablevm/files/patch-ad
+++ b/java/sablevm/files/patch-ad
@@ -1,6 +1,6 @@
-diff -ur work.orig/sablevm-1.0.5/src/libsablevm/Makefile.in work/sablevm-1.0.5/src/libsablevm/Makefile.in
---- work.orig/sablevm-1.0.5/src/libsablevm/Makefile.in Wed Aug 14 22:34:07 2002
-+++ work/sablevm-1.0.5/src/libsablevm/Makefile.in Sat Aug 17 21:14:51 2002
+diff -ur work.orig/sablevm-1.0.6/src/libsablevm/Makefile.in work/sablevm-1.0.6/src/libsablevm/Makefile.in
+--- work.orig/sablevm-1.0.6/src/libsablevm/Makefile.in Wed Aug 14 22:34:07 2002
++++ work/sablevm-1.0.6/src/libsablevm/Makefile.in Sat Aug 17 21:14:51 2002
@@ -245,7 +245,7 @@
vm_args.m4.c
diff --git a/java/sablevm/files/patch-ae b/java/sablevm/files/patch-ae
new file mode 100644
index 000000000000..74b26da9d4b0
--- /dev/null
+++ b/java/sablevm/files/patch-ae
@@ -0,0 +1,20 @@
+--- work/sablevm-class-library-1.0.6/src/java/io/LineNumberReader.java.orig Mon Dec 9 19:12:35 2002
++++ work/sablevm-class-library-1.0.6/src/java/io/LineNumberReader.java Mon Dec 9 19:12:02 2002
+@@ -115,7 +115,7 @@
+ public
+ LineNumberReader(Reader in, int size)
+ {
+- super(new PushbackReader(in), size);
++ super(in, size);
+ }
+
+ /*************************************************************************/
+@@ -243,7 +243,7 @@
+ int extra_char_read = super.read();
+
+ if ((extra_char_read != '\n') && (extra_char_read != -1))
+- ((PushbackReader)in).unread(extra_char_read);
++ pos--;
+
+ char_read = '\n';
+ ++line_number;
diff --git a/java/sablevm/files/patch-af b/java/sablevm/files/patch-af
new file mode 100644
index 000000000000..8d76863351c6
--- /dev/null
+++ b/java/sablevm/files/patch-af
@@ -0,0 +1,12 @@
+--- work/sablevm-1.0.6/src/libsablevm/thread.c.orig Fri Dec 13 11:29:17 2002
++++ work/sablevm-1.0.6/src/libsablevm/thread.c Fri Dec 13 11:29:19 2002
+@@ -229,7 +229,8 @@
+ void *new_stack;
+
+ /* detect overflows */
+- if (new_size <= current_size)
++ if ((vm->stack_max_size != 0 && new_size > vm->stack_max_size) ||
++ new_size <= current_size)
+ {
+ _svmf_error_OutOfMemoryError (env);
+ return JNI_ERR;
diff --git a/java/sablevm/files/patch-ag b/java/sablevm/files/patch-ag
index 04c604f45dd2..81afb5dbc71a 100644
--- a/java/sablevm/files/patch-ag
+++ b/java/sablevm/files/patch-ag
@@ -1,6 +1,6 @@
-diff -ur work.orig/sablevm-native-library-1.0.5/src/gnu-java-awt-peer-gtk/Makefile.am work/sablevm-native-library-1.0.5/src/gnu-java-awt-peer-gtk/Makefile.am
---- work.orig/sablevm-native-library-1.0.5/src/gnu-java-awt-peer-gtk/Makefile.am Sun Jul 28 17:14:15 2002
-+++ work/sablevm-native-library-1.0.5/src/gnu-java-awt-peer-gtk/Makefile.am Mon Aug 19 09:02:01 2002
+diff -ur work.orig/sablevm-native-library-1.0.6/src/gnu-java-awt-peer-gtk/Makefile.am work/sablevm-native-library-1.0.6/src/gnu-java-awt-peer-gtk/Makefile.am
+--- work.orig/sablevm-native-library-1.0.6/src/gnu-java-awt-peer-gtk/Makefile.am Sun Jul 28 17:14:15 2002
++++ work/sablevm-native-library-1.0.6/src/gnu-java-awt-peer-gtk/Makefile.am Mon Aug 19 09:02:01 2002
@@ -75,9 +75,9 @@
INCLUDES = \
-I@top_srcdir@/src/include \
diff --git a/java/sablevm/files/patch-ah b/java/sablevm/files/patch-ah
index 4cdb55cbf5de..31a36c64cd84 100644
--- a/java/sablevm/files/patch-ah
+++ b/java/sablevm/files/patch-ah
@@ -1,18 +1,11 @@
-diff -ur work.orig/sablevm-native-library-1.0.5/src/gnu-java-awt-peer-gtk/Makefile.in work/sablevm-native-library-1.0.5/src/gnu-java-awt-peer-gtk/Makefile.in
---- work.orig/sablevm-native-library-1.0.5/src/gnu-java-awt-peer-gtk/Makefile.in Sun Aug 18 01:09:29 2002
-+++ work/sablevm-native-library-1.0.5/src/gnu-java-awt-peer-gtk/Makefile.in Mon Aug 19 09:02:43 2002
-@@ -126,11 +126,11 @@
- INCLUDES = \
- -I@top_srcdir@/src/include \
- -I@top_srcdir@/src/jni-include \
-- -I/usr/include/gtk-1.2 \
-- -I/usr/include/glib-1.2 \
-+ -I/usr/X11R6/include/gtk12 \
-+ -I/usr/local/include/glib12 \
- -I/usr/lib/glib/include \
- -I/usr/X11R6/include \
-- -I/usr/include/gnome-1.0 \
-+ -I/usr/X11R6/include/gnome-1.0 \
- -I@top_srcdir@/src/classpath
+--- work/sablevm-native-library-1.0.6/src/gnu-java-awt-peer-gtk/Makefile.in.orig Wed Feb 19 22:40:07 2003
++++ work/sablevm-native-library-1.0.6/src/gnu-java-awt-peer-gtk/Makefile.in Thu Feb 20 13:39:55 2003
+@@ -84,7 +84,7 @@
- subdir = src/gnu-java-awt-peer-gtk
+ # gnu_java_awt_image_GdkPixbufDecoder.c
+
+-INCLUDES = -I@top_srcdir@/src/include -I@top_srcdir@/src/jni-include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/gnome-1.0 -I@top_srcdir@/src/classpath
++INCLUDES = -I@top_srcdir@/src/include -I@top_srcdir@/src/jni-include -I/usr/X11R6/include/gtk12 -I/usr/local/include/glib12 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/X11R6/include/gnome-1.0 -I@top_srcdir@/src/classpath
+
+ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+ CONFIG_HEADER = ../../src/include/config.h
diff --git a/java/sablevm/files/patch-ai b/java/sablevm/files/patch-ai
index 7264c90ba926..f7be9ebd6bab 100644
--- a/java/sablevm/files/patch-ai
+++ b/java/sablevm/files/patch-ai
@@ -1,5 +1,5 @@
---- work.orig/sablevm-native-library-1.0.5/src/fdlibm/mprec.h.orig Thu Aug 22 21:32:46 2002
-+++ work/sablevm-native-library-1.0.5/src/fdlibm/mprec.h Thu Aug 22 21:35:34 2002
+--- work.orig/sablevm-native-library-1.0.6/src/fdlibm/mprec.h.orig Thu Aug 22 21:32:46 2002
++++ work/sablevm-native-library-1.0.6/src/fdlibm/mprec.h Thu Aug 22 21:35:34 2002
@@ -57,11 +57,11 @@
/* ISO C99 int type declarations */
diff --git a/java/sablevm/files/patch-aj b/java/sablevm/files/patch-aj
index 27849e67d1b5..de37e06d1fd6 100644
--- a/java/sablevm/files/patch-aj
+++ b/java/sablevm/files/patch-aj
@@ -1,5 +1,5 @@
---- work.orig/sablevm-native-library-1.0.5/src/classpath/jcl.c Tue Jan 22 16:16:06 2002
-+++ work/sablevm-native-library-1.0.5/src/classpath/jcl.c Fri Aug 30 10:21:41 2002
+--- work.orig/sablevm-native-library-1.0.6/src/classpath/jcl.c Tue Jan 22 16:16:06 2002
++++ work/sablevm-native-library-1.0.6/src/classpath/jcl.c Fri Aug 30 10:21:41 2002
@@ -37,7 +37,7 @@
#include <stdio.h>
diff --git a/java/sablevm/files/patch-ak b/java/sablevm/files/patch-ak
index 690e91083c73..2db2490f8be5 100644
--- a/java/sablevm/files/patch-ak
+++ b/java/sablevm/files/patch-ak
@@ -1,5 +1,5 @@
---- work.orig/sablevm-native-library-1.0.5/src/java-io/javaio.c Tue Jan 22 16:16:06 2002
-+++ work/sablevm-native-library-1.0.5/src/java-io/javaio.c Fri Aug 30 10:21:47 2002
+--- work.orig/sablevm-native-library-1.0.6/src/java-io/javaio.c Tue Jan 22 16:16:06 2002
++++ work/sablevm-native-library-1.0.6/src/java-io/javaio.c Fri Aug 30 10:21:47 2002
@@ -43,7 +43,6 @@
#include <fcntl.h>
#include <unistd.h>
diff --git a/java/sablevm/files/patch-al b/java/sablevm/files/patch-al
new file mode 100644
index 000000000000..e462ba8e1898
--- /dev/null
+++ b/java/sablevm/files/patch-al
@@ -0,0 +1,140 @@
+#--- work/sablevm-1.0.6/src/libsablevm/instructions.m4.c.orig Tue Sep 10 10:35:39 2002
+#+++ work/sablevm-1.0.6/src/libsablevm/instructions.m4.c Mon Dec 16 17:28:28 2002
+#@@ -4838,10 +4838,28 @@
+# }
+#
+# addr[0].jint = methodref_info->method->java_args_count;
+#- addr[1].offset =
+#- sizeof (_svmt_vtable) +
+#- (methodref_info->method->method_id *
+#- sizeof (_svmt_method_info *));
+#+
+#+ /*
+#+ * _svmf_resolve_CONSTANT_Methodref() may return an interface
+#+ * method in certain situations (e.g., invoking an interface
+#+ * method that's implemented in a subclass of an abstract class
+#+ * not implementing the method but implementing the interface).
+#+ */
+#+ if (_svmf_is_set_flag
+#+ (methodref_info->method->class_info->access_flags,
+#+ SVM_ACC_INTERFACE))
+#+ {
+#+ addr[1].offset =
+#+ -((1 + methodref_info->method->method_id) *
+#+ sizeof (_svmt_method_info *));
+#+ }
+#+ else
+#+ {
+#+ addr[1].offset =
+#+ sizeof (_svmt_vtable) +
+#+ (methodref_info->method->method_id *
+#+ sizeof (_svmt_method_info *));
+#+ }
+#
+# /* execute bytecode */
+# {
+--- work/sablevm-1.0.6/src/libsablevm/instructions_preparation_direct_threaded.c.orig Wed Oct 16 14:54:30 2002
++++ work/sablevm-1.0.6/src/libsablevm/instructions_preparation_direct_threaded.c Mon Dec 16 17:28:29 2002
+@@ -17905,10 +17905,28 @@
+ }
+
+ addr[0].jint = methodref_info->method->java_args_count;
+- addr[1].offset =
+- sizeof (_svmt_vtable) +
+- (methodref_info->method->method_id *
+- sizeof (_svmt_method_info *));
++
++ /*
++ * _svmf_resolve_CONSTANT_Methodref() may return an interface
++ * method in certain situations (e.g., invoking an interface
++ * method that's implemented in a subclass of an abstract class
++ * not implementing the method but implementing the interface).
++ */
++ if (_svmf_is_set_flag
++ (methodref_info->method->class_info->access_flags,
++ SVM_ACC_INTERFACE))
++ {
++ addr[1].offset =
++ -((1 + methodref_info->method->method_id) *
++ sizeof (_svmt_method_info *));
++ }
++ else
++ {
++ addr[1].offset =
++ sizeof (_svmt_vtable) +
++ (methodref_info->method->method_id *
++ sizeof (_svmt_method_info *));
++ }
+
+ /* execute bytecode */
+ {
+--- work/sablevm-1.0.6/src/libsablevm/instructions_preparation_inlined_threaded.c.orig Wed Oct 16 14:54:31 2002
++++ work/sablevm-1.0.6/src/libsablevm/instructions_preparation_inlined_threaded.c Mon Dec 16 17:28:29 2002
+@@ -21512,10 +21512,28 @@
+ }
+
+ addr[0].jint = methodref_info->method->java_args_count;
+- addr[1].offset =
+- sizeof (_svmt_vtable) +
+- (methodref_info->method->method_id *
+- sizeof (_svmt_method_info *));
++
++ /*
++ * _svmf_resolve_CONSTANT_Methodref() may return an interface
++ * method in certain situations (e.g., invoking an interface
++ * method that's implemented in a subclass of an abstract class
++ * not implementing the method but implementing the interface).
++ */
++ if (_svmf_is_set_flag
++ (methodref_info->method->class_info->access_flags,
++ SVM_ACC_INTERFACE))
++ {
++ addr[1].offset =
++ -((1 + methodref_info->method->method_id) *
++ sizeof (_svmt_method_info *));
++ }
++ else
++ {
++ addr[1].offset =
++ sizeof (_svmt_vtable) +
++ (methodref_info->method->method_id *
++ sizeof (_svmt_method_info *));
++ }
+
+ /* execute bytecode */
+ {
+--- work/sablevm-1.0.6/src/libsablevm/instructions_switch.c.orig Wed Oct 16 14:54:31 2002
++++ work/sablevm-1.0.6/src/libsablevm/instructions_switch.c Mon Dec 16 17:28:29 2002
+@@ -15936,10 +15936,28 @@
+ }
+
+ addr[0].jint = methodref_info->method->java_args_count;
+- addr[1].offset =
+- sizeof (_svmt_vtable) +
+- (methodref_info->method->method_id *
+- sizeof (_svmt_method_info *));
++
++ /*
++ * _svmf_resolve_CONSTANT_Methodref() may return an interface
++ * method in certain situations (e.g., invoking an interface
++ * method that's implemented in a subclass of an abstract class
++ * not implementing the method but implementing the interface).
++ */
++ if (_svmf_is_set_flag
++ (methodref_info->method->class_info->access_flags,
++ SVM_ACC_INTERFACE))
++ {
++ addr[1].offset =
++ -((1 + methodref_info->method->method_id) *
++ sizeof (_svmt_method_info *));
++ }
++ else
++ {
++ addr[1].offset =
++ sizeof (_svmt_vtable) +
++ (methodref_info->method->method_id *
++ sizeof (_svmt_method_info *));
++ }
+
+ /* execute bytecode */
+ {
diff --git a/java/sablevm/files/patch-am b/java/sablevm/files/patch-am
new file mode 100644
index 000000000000..faca76947389
--- /dev/null
+++ b/java/sablevm/files/patch-am
@@ -0,0 +1,18 @@
+--- work/sablevm-1.0.6/src/libsablevm/gc_copying.c.orig Tue Dec 10 11:51:13 2002
++++ work/sablevm-1.0.6/src/libsablevm/gc_copying.c Tue Dec 10 11:51:34 2002
+@@ -1054,14 +1054,7 @@
+ return JNI_ERR;
+ }
+
+- {
+- size_t i;
+-
+- for (i = 0; i < instance_size; i++)
+- {
+- ((char *) result)[i] = 0;
+- }
+- }
++ memset(result, 0, instance_size);
+
+ *pinstance = result;
+
diff --git a/java/sablevm/files/patch-an b/java/sablevm/files/patch-an
new file mode 100644
index 000000000000..5457c2fb42d2
--- /dev/null
+++ b/java/sablevm/files/patch-an
@@ -0,0 +1,12 @@
+--- work/sablevm-1.0.6/src/sablevm/sablevm.c.orig Thu Oct 24 07:52:16 2002
++++ work/sablevm-1.0.6/src/sablevm/sablevm.c Thu Feb 20 13:32:59 2003
+@@ -1431,6 +1431,9 @@
+ exit_status = EXIT_FAILURE;
+ goto cleanup;
+ }
++
++ /* free up local native reference */
++ (*env)->DeleteLocalRef (env, s);
+ }
+ }
+
diff --git a/java/sablevm/files/patch-ao b/java/sablevm/files/patch-ao
new file mode 100644
index 000000000000..c29fb8669e2c
--- /dev/null
+++ b/java/sablevm/files/patch-ao
@@ -0,0 +1,20 @@
+--- work/sablevm-class-library-1.0.6/src/gnu/java/io/encode/EncoderUTF8.java.orig Thu Feb 20 14:00:06 2003
++++ work/sablevm-class-library-1.0.6/src/gnu/java/io/encode/EncoderUTF8.java Thu Feb 20 14:00:36 2003
+@@ -85,7 +85,7 @@
+ {
+ int num_bytes = 0;
+
+- for (int i = offset; i < len; i++)
++ for (int i = offset; i < offset + len; i++)
+ {
+ if (buf[i] <= 0x007F)
+ ++num_bytes;
+@@ -107,7 +107,7 @@
+ convertToBytes(char[] buf, int buf_offset, int len, byte[] bbuf,
+ int bbuf_offset)
+ {
+- for (int i = buf_offset; i < len; i++)
++ for (int i = buf_offset; i < buf_offset + len; i++)
+ {
+ if (buf[i] >= 0x0000 && buf[i] <= 0x007F)
+ {
diff --git a/java/sablevm/files/patch-ap b/java/sablevm/files/patch-ap
new file mode 100644
index 000000000000..51c94bd1f401
--- /dev/null
+++ b/java/sablevm/files/patch-ap
@@ -0,0 +1,12 @@
+--- work/sablevm-1.0.6/src/libsablevm/class_loader.c.orig Thu Feb 20 13:58:04 2003
++++ work/sablevm-1.0.6/src/libsablevm/class_loader.c Thu Feb 20 14:02:19 2003
+@@ -299,8 +299,7 @@
+ }
+
+ /* check version and name */
+- if (!(class->major_version == 45 ||
+- (class->major_version == 46 && class->minor_version == 0)))
++ if (!(class->major_version >= 45 && class->major_version <= 48))
+ {
+ _svmf_error_UnsupportedClassVersionError (env);
+ return JNI_ERR;