commit-classpath
[Top][All Lists]
Advanced

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

vmintegration.texinfo: Changes committed


From: Steven Augart
Subject: vmintegration.texinfo: Changes committed
Date: Sat, 05 Jun 2004 23:45:04 -0400
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7b) Gecko/20040421

I am committing this documentation update.
2004-06-05  Steven Augart  <address@hidden>

        * doc/vmintegration.texinfo: Added formatting.  Fixed some typos.
        (Introduction): Added Jikes RVM and JamVM to the VM list.
        Minor updates to other VM descriptions.

Index: doc/vmintegration.texinfo
===================================================================
RCS file: /cvsroot/classpath/classpath/doc/vmintegration.texinfo,v
retrieving revision 1.9
diff -I*.class -u -r1.9 vmintegration.texinfo
--- doc/vmintegration.texinfo   29 Mar 2004 20:39:53 -0000      1.9
+++ doc/vmintegration.texinfo   6 Jun 2004 03:42:03 -0000
@@ -90,7 +90,8 @@
 @item @uref{http://www.intel.com/research/mrl/orp/,Intel's Open Runtime 
Platform}
 Intel surprised us not long ago with the release of this rather advanced
 VM that uses GNU Classpath for a set of class libraries and works on
-Linux and Windows 2000.
+Linux and Windows 2000.  As of June, 2004, it does not appear that ORP
+is under active development.
 
 @item @uref{http://www.sablevm.org/,SableVM}
 SableVM is a robust, extremely portable, efficient, and
@@ -127,11 +128,27 @@
 GCJ is part of the GNU Compiler Collection (@uref{http://gcc.gnu.org/,GCC}).
 On march 6 2000 the libgcj and GNU Classpath projects were officially merged
 and there is active work on merging all the classes between the projects.
+Licensed under GPL+exception, just as GNU Classpath is.
 
 @item @uref{http://kissme.sourceforge.net/,Kissme}
 This is a free Java Virtual Machine that is being developed on GNU/Linux
-and can run console java applications.  kissme also provides support for
-orthogonally persistent java.
+and can run console Java applications.  Kissme also provides support for
+orthogonally persistent Java.
address@hidden I don't know what ``orthogonally persistent Java'' is, and I bet
address@hidden there are other people don't know either. -- Steve Augart, 4 
June 2004
+
address@hidden @uref{http://jamvm.sourceforge.net/,JamVM}
+A simple, small bytecode interpreter that works out-of-the-box with
+pure GNU Classpath; it is emerging as the preferred platform for
+quickly testing a new build of GNU Classpath.  Licensed under the GPL.
+
address@hidden @uref{http://oss.software.ibm.com/jikesrvm,Jikes RVM}
+A free runtime environment for Java, written in Java.  Works
+out-of-the-box with pure GNU Classpath.  Features an optimizing JIT.
+Runs on the x86 and PowerPC architectures, on the AIX, Linux, and Mac
+OS/X operating systems.  Licensed under the CPL (Common Public
+License).  Extensively documented.  Actively developed as of June,
+2004.
 
 @end itemize
 
@@ -151,7 +168,7 @@
 we'll have a note in here at that time.
 
 The current initialization order is currently documented in the
-Runtime.java source file.
address@hidden source file.
 
 @node Classpath Hooks, VM Hooks, Initialization, Top
 @comment node-name, next, previous, up
@@ -173,23 +190,23 @@
 from Classpath call out to to get certain VM-specific dirty work done:
 
 @itemize @bullet
address@hidden java.lang.VMObject
-is the bridge between the low level Object facilities such
-as makeing a clone, getting the class of the object and the wait/notify
address@hidden @code{java.lang.VMObject}
+is the bridge between the low level @code{Object} facilities such
+as making a clone, getting the class of the object and the wait/notify
 semantics.
address@hidden java.lang.VMClassLoader
address@hidden @code{java.lang.VMClassLoader}
 provides methods for defining and resolving core and primitive classes.
address@hidden java.lang.VMSystem
-is used to initialize the System properties, the System.arraycopy
-method and the identityHashCode of an Object.
address@hidden java.lang.VMSecurityManager
address@hidden @code{java.lang.VMSystem}
+is used to initialize the @code{System} properties, the @code{System.arraycopy}
+method and the @code{identityHashCode} of an @code{Object}.
address@hidden @code{java.lang.VMSecurityManager}
 provides the class context (stack trace) of the currently
-executing thread and a way to get the currently active ClassLoader.
address@hidden java.lang.VMThrowable
-used to hold the VM state of a throwable, created when a Throwable is
-created or the fillInStacktrace() method is called, when the actual stack
+executing thread and a way to get the currently active @code{ClassLoader}.
address@hidden @code{java.lang.VMThrowable}
+used to hold the VM state of a throwable, created when a @code{Throwable} is
+created or the @code{fillInStacktrace()} method is called, when the actual 
stack
 trace is needed (a lot of exceptions are never actually used), the
-getStackTrace() method is used to create a real StackTraceElement array
address@hidden()} method is used to create a real @code{StackTraceElement} array
 for the exception.
 @end itemize
 
@@ -197,12 +214,12 @@
 package-private methods in Classpath:
 
 @itemize @bullet
address@hidden java.lang.ThreadGroup.addThread(Thread)
-Call this method from Thread when a new Thread is created, to add it to
address@hidden @code{java.lang.ThreadGroup.addThread(Thread)}
+Call this method from @code{Thread} when a new @code{Thread} is created, to 
add it to
 the group.
 
address@hidden java.lang.ThreadGroup.removeThread(Thread)
-Call this method from Thread when a Thread is stopped or destroyed.
address@hidden @code{java.lang.ThreadGroup.removeThread(Thread)}
+Call this method from @code{Thread} when a @code{Thread} is stopped or 
destroyed.
 
 @end itemize
 
@@ -217,27 +234,27 @@
 know about classes.
 
 @itemize @bullet
address@hidden java.lang.Class @*
-You, the VM, get to create this Class, so you may define the internal
address@hidden @code{java.lang.Class} @*
+You, the VM, get to create this @code{Class}, so you may define the internal
 structure any way you wish.  You probably have code somewhere to
-translate your internal class structure into a Class object.  That is
+translate your internal class structure into a @code{Class} object.  That is
 the only known place where this matters.  Some VMs do not create the
-Class object at the point where the class is defined; instead, they wait
-until a Class object is actually used.
address@hidden object at the point where the class is defined; instead, they 
wait
+until a @code{Class} object is actually used.
 
 @item Array Classes @*
-When you are creating an array class, you should set the ClassLoader of
-the array class to the ClassLoader of its component type.  Whenever you
-add a class to a ClassLoader, you need to notify the ClassLoader and
-add the new Class to its internal cache of classes.  To do this, call
-ClassLoader.addVMCreatedClass(Class).  @emph{Note: this is written in
+When you are creating an array class, you should set the @code{ClassLoader} of
+the array class to the @code{ClassLoader} of its component type.  Whenever you
+add a class to a @code{ClassLoader}, you need to notify the @code{ClassLoader} 
and
+add the new @code{Class} to its internal cache of classes.  To do this, call
address@hidden(Class)}.  @emph{Note: this is written in
 anticipation of 1.2 support and does not apply just yet.}
 
 @item Primordial Class Loader @*
 When the primordial class loader loads a class, it needs to tell
 Classpath what it has done in order for security stuff to work right.
 To do this, call the static method
-ClassLoader.newPrimordialClass(Class).
address@hidden(Class)}.
 
 Even the first few core classes need to do this; in order to do it,
 simply call this method @emph{after} the initial class loading has been
@@ -249,29 +266,29 @@
 
 @item Top-level Exception Handler @*
 Exceptions take care of themselves in Classpath; all you need to do in
-the top-level exception handler is call Throwable.printStackTrace().
+the top-level exception handler is call @code{Throwable.printStackTrace()}.
 
 @item Security and Traces @*
 There will eventually be a feature in the 1.2 security that keeps the
-AccessController from having to evaluate @emph{all} of the
-ProtectionDomains every time a security check is made.  I think a common
address@hidden from having to evaluate @emph{all} of the
address@hidden every time a security check is made.  I think a common
 case is a single method doing a lot of things that require security
 checks.  However, I don't want to bog down the method stack too much, so
-this feature of the VM will have the AccessController for a thread
+this feature of the VM will have the @code{AccessController} for a thread
 calling out to the VM to tell it how high it was on the stack when it
 made the last security request.  Every time the stack goes lower than
-that number, the VM will decrement the number.  The AccessController
+that number, the VM will decrement the number.  The @code{AccessController}
 will remember what the accumulated protection status was at every stack
-level (an AccessControlContext) and use that aggregated information to
+level (an @code{AccessControlContext}) and use that aggregated information to
 do the check.  I am not sure, however, whether the savings are
 substantial enough to outweigh the integer check and set after every
 method call.  I will investigate.
 
 @item Threading @*
 I figured I'd put this here because a VM guy might be wondering about it.
-We implement ThreadGroup, but that class is almost entirely
-VM-independent.  The root ThreadGroup, a static field called
-ThreadGroup.root, should be initialized by Classpath, but if you wish to
+We implement @code{ThreadGroup}, but that class is almost entirely
+VM-independent.  The root @code{ThreadGroup}, a static field called
address@hidden, should be initialized by Classpath, but if you wish to
 reinitialize it yourself, there should be no harm.
 
 @end itemize

reply via email to

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