PatchSet 4582 
Date: 2004/03/25 20:58:27
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
Object serialization fix concerning final fields.

        * libraries/javalib/java/lang/reflect/Field.java
        (setChar, setByte, setShort, setInt, setLong, setFloat, setDouble,
        set): Splitted methods in two parts to be able to set final fields
        using a native call.

        * libraries/javalib/java/io/ObjectStreamField.java
        (setCharField, setByteField, setShortField, setLongField,
        setFloatField, setDoubleField, setObjectField): Call native methods.
        (setCharNative, setByteNative, setShortNative, setLongNative,
        setFloatNative, setDoubleNative, setObjectNative): New native calls.
        (ObjectStreamField): Deserialize final fields.

        * libraries/clib/native/ObjectInputStream: Updated copyright
        advertisement.

        * libraries/clib/native/ObjectStreamField.c: New file.

        * include/Makefile.am: Added java_io_ObjectStreamField.h

        * include/Makefile.in: Regenerated.

        * libraries/javalib/Klasses.jar.bootstrap: Regenerated.

Members: 
        ChangeLog:1.2160->1.2161 
        include/Makefile.am:1.53->1.54 
        include/Makefile.in:1.147->1.148 
        libraries/clib/native/Makefile.am:1.28->1.29 
        libraries/clib/native/Makefile.in:1.126->1.127 
        libraries/clib/native/ObjectInputStream.c:1.18->1.19 
        libraries/clib/native/ObjectStreamField.c:INITIAL->1.1 
        libraries/javalib/Klasses.jar.bootstrap:1.48->1.49 
        libraries/javalib/java/io/ObjectStreamField.java:1.9->1.10 
        libraries/javalib/java/lang/reflect/Field.java:1.14->1.15 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.2160 kaffe/ChangeLog:1.2161
--- kaffe/ChangeLog:1.2160      Thu Mar 25 17:53:00 2004
+++ kaffe/ChangeLog     Thu Mar 25 20:58:27 2004
@@ -1,3 +1,28 @@
+2004-03-25  Guilhem Lavaux <[EMAIL PROTECTED]>
+
+       * libraries/javalib/java/lang/reflect/Field.java
+       (setChar, setByte, setShort, setInt, setLong, setFloat, setDouble,
+       set): Splitted methods in two parts to be able to set final fields
+       using a native call.
+
+       * libraries/javalib/java/io/ObjectStreamField.java
+       (setCharField, setByteField, setShortField, setLongField,
+       setFloatField, setDoubleField, setObjectField): Call native methods.
+       (setCharNative, setByteNative, setShortNative, setLongNative,
+       setFloatNative, setDoubleNative, setObjectNative): New native calls.
+       (ObjectStreamField): Deserialize final fields.
+
+       * libraries/clib/native/ObjectInputStream: Updated copyright
+       advertisement.
+
+       * libraries/clib/native/ObjectStreamField.c: New file.
+
+       * include/Makefile.am: Added java_io_ObjectStreamField.h
+
+       * include/Makefile.in: Regenerated.
+
+       * libraries/javalib/Klasses.jar.bootstrap: Regenerated.
+
 2004-03-25  Dalibor Topic <[EMAIL PROTECTED]>
 
         * config/i386/jit3-i386.def,
Index: kaffe/include/Makefile.am
diff -u kaffe/include/Makefile.am:1.53 kaffe/include/Makefile.am:1.54
--- kaffe/include/Makefile.am:1.53      Mon Feb  2 00:10:56 2004
+++ kaffe/include/Makefile.am   Thu Mar 25 20:58:29 2004
@@ -49,6 +49,7 @@
        java_io_InputStream.h \
        java_io_InterruptedIOException.h \
        java_io_ObjectInputStream.h \
+       java_io_ObjectStreamField.h \
        java_io_PrintStream.h \
        java_io_RandomAccessFile.h \
        java_lang_Boolean.h \
Index: kaffe/include/Makefile.in
diff -u kaffe/include/Makefile.in:1.147 kaffe/include/Makefile.in:1.148
--- kaffe/include/Makefile.in:1.147     Wed Mar 24 18:07:16 2004
+++ kaffe/include/Makefile.in   Thu Mar 25 20:58:29 2004
@@ -352,6 +352,7 @@
        java_io_InputStream.h \
        java_io_InterruptedIOException.h \
        java_io_ObjectInputStream.h \
+       java_io_ObjectStreamField.h \
        java_io_PrintStream.h \
        java_io_RandomAccessFile.h \
        java_lang_Boolean.h \
Index: kaffe/libraries/clib/native/Makefile.am
diff -u kaffe/libraries/clib/native/Makefile.am:1.28 
kaffe/libraries/clib/native/Makefile.am:1.29
--- kaffe/libraries/clib/native/Makefile.am:1.28        Thu Jan 15 02:29:44 2004
+++ kaffe/libraries/clib/native/Makefile.am     Thu Mar 25 20:58:30 2004
@@ -15,7 +15,8 @@
                ByteToCharIconv.c \
                CharToByteDefault.c \
                CharToByteIconv.c \
-               ObjectInputStream.c
+               ObjectInputStream.c \
+               ObjectStreamField.c
 
 LANG_SRCS = \
                Class.c \
Index: kaffe/libraries/clib/native/Makefile.in
diff -u kaffe/libraries/clib/native/Makefile.in:1.126 
kaffe/libraries/clib/native/Makefile.in:1.127
--- kaffe/libraries/clib/native/Makefile.in:1.126       Wed Mar 24 18:07:30 2004
+++ kaffe/libraries/clib/native/Makefile.in     Thu Mar 25 20:58:30 2004
@@ -73,7 +73,8 @@
 libnative_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
        $(am__DEPENDENCIES_1)
 am__objects_1 = ByteToCharDefault.lo ByteToCharIconv.lo \
-       CharToByteDefault.lo CharToByteIconv.lo ObjectInputStream.lo
+       CharToByteDefault.lo CharToByteIconv.lo ObjectInputStream.lo \
+       ObjectStreamField.lo
 am__objects_2 = Class.lo ClassLoader.lo Compiler.lo Double.lo Float.lo \
        Math.lo MemoryAdvice.lo NativeLibrary.lo Object.lo \
        PrimordialClassLoader.lo Runtime.lo String.lo System.lo \
@@ -105,6 +106,7 @@
 @AMDEP_TRUE@   ./$(DEPDIR)/NativeLibrary.Plo \
 @AMDEP_TRUE@   ./$(DEPDIR)/Object.Plo \
 @AMDEP_TRUE@   ./$(DEPDIR)/ObjectInputStream.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/ObjectStreamField.Plo \
 @AMDEP_TRUE@   ./$(DEPDIR)/PrimordialClassLoader.Plo \
 @AMDEP_TRUE@   ./$(DEPDIR)/Runtime.Plo ./$(DEPDIR)/String.Plo \
 @AMDEP_TRUE@   ./$(DEPDIR)/System.Plo ./$(DEPDIR)/TestNative.Plo \
@@ -362,7 +364,8 @@
                ByteToCharIconv.c \
                CharToByteDefault.c \
                CharToByteIconv.c \
-               ObjectInputStream.c
+               ObjectInputStream.c \
+               ObjectStreamField.c
 
 LANG_SRCS = \
                Class.c \
@@ -498,6 +501,7 @@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
[EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
Index: kaffe/libraries/clib/native/ObjectInputStream.c
diff -u kaffe/libraries/clib/native/ObjectInputStream.c:1.18 
kaffe/libraries/clib/native/ObjectInputStream.c:1.19
--- kaffe/libraries/clib/native/ObjectInputStream.c:1.18        Tue Feb 10 12:31:15 
2004
+++ kaffe/libraries/clib/native/ObjectInputStream.c     Thu Mar 25 20:58:30 2004
@@ -1,5 +1,10 @@
 /*
- * Copyright (C) 2003, 2004 Kaffe Team.
+ * ObjectInputStream.c
+ * 
+ * Copyright (C) 2003, 2004 Kaffe.org's team. 
+ *
+ * See "licence.terms" for information on usage and redistribution 
+ * of this file.
  */
 #include "config.h"
 #include "config-std.h"
===================================================================
Checking out kaffe/libraries/clib/native/ObjectStreamField.c
RCS:  /home/cvs/kaffe/kaffe/libraries/clib/native/ObjectStreamField.c,v
VERS: 1.1
***************
--- /dev/null   Sun Aug  4 19:57:58 2002
+++ kaffe/libraries/clib/native/ObjectStreamField.c     Thu Mar 25 21:01:35 2004
@@ -0,0 +1,105 @@
+/*
+ * ObjectInputStream.c
+ * 
+ * Copyright (C) 2003, 2004 Kaffe.org's team. 
+ *
+ * See "licence.terms" for information on usage and redistribution 
+ * of this file.
+ */
+#include "config.h"
+#include "config-std.h"
+#include <kaffe/jtypes.h>
+#include <native.h>
+#include "java_io_ObjectStreamField.h"
+#include "../../../kaffe/kaffevm/object.h"
+#include "../../../kaffe/kaffevm/support.h"
+
+void java_io_ObjectStreamField_setBooleanNative
+                (struct Hjava_io_ObjectStreamField* sfield,
+                struct Hjava_lang_Object* obj, 
+                jboolean value)
+{
+  do_execute_java_method(unhand(sfield)->field, "setBooleanInternal",
+                        "(Ljava/lang/Object;Z)V",
+                        0, false, obj, value);
+}
+
+void java_io_ObjectStreamField_setByteNative
+                (struct Hjava_io_ObjectStreamField* sfield, 
+                struct Hjava_lang_Object* obj,
+                jbyte value)
+{
+  do_execute_java_method(unhand(sfield)->field, "setByteInternal",
+                        "(Ljava/lang/Object;B)V",
+                        0, false, obj, value);
+}
+
+void java_io_ObjectStreamField_setCharNative
+                (struct Hjava_io_ObjectStreamField* sfield, 
+                struct Hjava_lang_Object* obj,
+                jchar value)
+{
+  do_execute_java_method(unhand(sfield)->field, "setCharInternal",
+                        "(Ljava/lang/Object;B)V",
+                        0, false, obj, value);
+}
+
+void java_io_ObjectStreamField_setShortNative
+                (struct Hjava_io_ObjectStreamField* sfield, 
+                struct Hjava_lang_Object* obj,
+                jshort value)
+{
+  do_execute_java_method(unhand(sfield)->field, "setShortInternal",
+                        "(Ljava/lang/Object;S)V",
+                        0, false, obj, value);
+}
+
+void java_io_ObjectStreamField_setIntNative
+                (struct Hjava_io_ObjectStreamField* sfield, 
+                struct Hjava_lang_Object* obj,
+                jint value)
+{
+  do_execute_java_method(unhand(sfield)->field, "setIntInternal",
+                        "(Ljava/lang/Object;I)V",
+                        0, false, obj, value);
+}
+
+void java_io_ObjectStreamField_setLongNative
+                (struct Hjava_io_ObjectStreamField* sfield, 
+                struct Hjava_lang_Object* obj,
+                jlong value)
+{
+  do_execute_java_method(unhand(sfield)->field, "setLongInternal",
+                        "(Ljava/lang/Object;J)V",
+                        0, false, obj, value);
+}
+
+void java_io_ObjectStreamField_setFloatNative
+                (struct Hjava_io_ObjectStreamField* sfield, 
+                struct Hjava_lang_Object* obj,
+                jfloat value)
+{
+  do_execute_java_method(unhand(sfield)->field, "setFloatInternal",
+                        "(Ljava/lang/Object;F)V",
+                        0, false, obj, value);
+}
+
+void java_io_ObjectStreamField_setDoubleNative
+                (struct Hjava_io_ObjectStreamField* sfield, 
+                struct Hjava_lang_Object* obj,
+                jdouble value)
+{
+  do_execute_java_method(unhand(sfield)->field, "setDoubleInternal",
+                        "(Ljava/lang/Object;D)V",
+                        0, false, obj, value);
+}
+
+void java_io_ObjectStreamField_setObjectNative
+                (struct Hjava_io_ObjectStreamField* sfield,
+                struct Hjava_lang_Object* obj, 
+                struct Hjava_lang_Object* value)
+{
+  do_execute_java_method(unhand(sfield)->field, "setInternal",
+                        "(Ljava/lang/Object;Ljava/lang/Object;)V",
+                        0, false, obj, value);
+}
Index: kaffe/libraries/javalib/Klasses.jar.bootstrap
cvs rdiff: failed to read diff file header /tmp/cvsHOotAA for Klasses.jar.bootstrap,v: 
end of file
system command returned non-zero exit status: 1: aborting

_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to