classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ObjectStreamClass update and VM state/support plan


From: Mark Wielaard
Subject: ObjectStreamClass update and VM state/support plan
Date: 17 Jan 2003 17:56:24 +0100

Hi,

I just committed the following:

2003-01-17  Mark Wielaard  <address@hidden>
 
        * NEWS: Describe java.io.(VM)ObjectStreamClass.
        * configure.in (AC_OUTPUT): Add vm/reference/java/io/Makefile.
        * include/java_io_VMObjectOutputStream.h: New pregenerated header file.
        * java/io/ObjectStreamClass.java (getClassUID): Call
        VMObjectStreamClass.hasClassInitializer().
        (hasClassInitializer): Removed.
        * native/jni/java-io/Makefile.am (libjavaio_la_SOURCES): Add
        java_io_ObjectStreamClass.c
        * native/jni/java-io/java_io_ObjectStreamClass.c: New file.
        * vm/reference/java/Makefile.am (SUBDIRS): Add io.
        * vm/reference/java/io/.cvsignore: New file.
        * vm/reference/java/io/Makefile.am: New file.
        * vm/reference/java/io/VMObjectStreamClass.java: New class.

The NEWS file explains:

        * New VM helper class java.io.VMObjectStreamClass which should provide
          the hasClassInitializer() method. Previously ObjectStreamClass used
          Class.getDeclaredMethod("<clinit>") but according to the spec this
          should always throw NoSuchMethodException for class initialization
          methods. A JNI reference implementation is provided as
          vm/reference/java-io/java_io_VMObjectStreamClass.c

I like to do all native/VM support classes like this in the future.

- Create a package private final helper class VMSomeClass.
- Put this class in vm/reference.
- SomeClass uses VMSomeClass to hold VM state and access VM methods.
- Provide default JNI implementation in native/jni if possible.

It is supposed to make it clearer to see how a VM should
support/implement the GNU VM interface.

Cheers,

Mark

P.S. Don't forget to regenerate your configure file (see HACKING).





reply via email to

[Prev in Thread] Current Thread [Next in Thread]