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