gcj.texi (Class Initialization): Mention class initialization of arrays.
authorTom Tromey <tromey@redhat.com>
Fri, 16 Aug 2002 21:49:33 +0000 (21:49 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Fri, 16 Aug 2002 21:49:33 +0000 (21:49 +0000)
* gcj.texi (Class Initialization): Mention class initialization of
arrays.

From-SVN: r56386

gcc/java/ChangeLog
gcc/java/gcj.texi

index 9f35084a236d9eca3450809f4576eb0a9c5a7417..962e409edc942fd4a04268766eb79f9b3bb63d2d 100644 (file)
@@ -1,3 +1,8 @@
+2002-08-16  Tom Tromey  <tromey@redhat.com>
+
+       * gcj.texi (Class Initialization): Mention class initialization of
+       arrays.
+
 2002-07-30  Andrew Haley  <aph@cambridge.redhat.com>
 
        * Make-lang.in (java-tree-inline.o): New.
index 165f122118ca697deb7e889e93593b449940bb45..ac1702f250367c11973b0ea8a0c15e02348ed47a 100644 (file)
@@ -1316,16 +1316,17 @@ programmer's responsibility to make sure classes are initialized.
 However, this is fairly painless because of the conventions assumed by
 the Java system.
 
-First, @code{libgcj} will make sure a class is initialized
-before an instance of that object is created.  This is one
-of the responsibilities of the @code{new} operation.  This is
-taken care of both in Java code, and in C++ code.  (When the G++
-compiler sees a @code{new} of a Java class, it will call
-a routine in @code{libgcj} to allocate the object, and that
-routine will take care of initializing the class.)  It follows that you can
-access an instance field, or call an instance (non-static)
-method and be safe in the knowledge that the class and all
-of its base classes have been initialized.
+First, @code{libgcj} will make sure a class is initialized before an
+instance of that object is created.  This is one of the
+responsibilities of the @code{new} operation.  This is taken care of
+both in Java code, and in C++ code.  When G++ sees a @code{new} of a
+Java class, it will call a routine in @code{libgcj} to allocate the
+object, and that routine will take care of initializing the class.
+Note however that this does not happen for Java arrays; you must
+allocate those using the appropriate CNI function.  It follows that
+you can access an instance field, or call an instance (non-static)
+method and be safe in the knowledge that the class and all of its base
+classes have been initialized.
 
 Invoking a static method is also safe.  This is because the
 Java compiler adds code to the start of a static method to make sure