I'm committing the attached patch which synchronizes the VM integration
doc with the addition of gnu.classpath.Unsafe.

Changelog:

2006-03-20  Andrew John Hughes  <[EMAIL PROTECTED]>

        * doc/vmintegration.texinfo:
        Updated with gnu.classpath.Unsafe

-- 
Andrew :-)

Please avoid sending me Microsoft Office (e.g. Word, PowerPoint)
attachments.
See http://www.fsf.org/philosophy/no-word-attachments.html

If you use Microsoft Office, support movement towards the end of vendor
lock-in:
http://opendocumentfellowship.org/petition/

"Value your freedom, or you will lose it, teaches history.
`Don't bother us with politics' respond those who don't want to learn."
-- Richard Stallman

Escape the Java Trap with GNU Classpath!
http://www.gnu.org/philosophy/java-trap.html
public class gcj extends Freedom implements Java { ... }

Index: doc/vmintegration.texinfo
===================================================================
RCS file: /cvsroot/classpath/classpath/doc/vmintegration.texinfo,v
retrieving revision 1.23
diff -u -3 -p -u -r1.23 vmintegration.texinfo
--- doc/vmintegration.texinfo	19 Mar 2006 21:57:26 -0000	1.23
+++ doc/vmintegration.texinfo	20 Mar 2006 01:05:07 -0000
@@ -787,6 +787,7 @@ includes the context of a class (the sta
 @menu
 * gnu.classpath.VMStackWalker::
 * gnu.classpath.VMSystemProperties::
+* gnu.classpath.Unsafe::
 @end menu
 
 @node gnu.classpath.VMStackWalker,gnu.classpath.VMSystemProperties,gnu.classpath,gnu.classpath
@@ -810,7 +811,7 @@ accessing @code{getCallingClass()}. 
 loader of the class.
 @end itemize
 
[EMAIL PROTECTED] gnu.classpath.VMSystemProperties,,gnu.classpath.VMStackWalker,gnu.classpath
[EMAIL PROTECTED] gnu.classpath.VMSystemProperties,gnu.classpath.Unsafe,gnu.classpath.VMStackWalker,gnu.classpath
 @subsection @code{gnu.classpath.VMSystemProperties}
 
 @code{VMSystemProperties} allows the VM to hook into the property creation
@@ -835,6 +836,38 @@ Classpath properties have been added.  T
 the VM to alter the properties added by GNU Classpath to suit it.
 @end itemize
 
[EMAIL PROTECTED] gnu.classpath.Unsafe,,gnu.classpath.VMSystemProperties,gnu.classpath
[EMAIL PROTECTED] @code{gnu.classpath.Unsafe}
+
+The @code{Unsafe} class provides access to some low-level unsafe operations
+as required by the addition of the java.util.concurrent classes.  These
+focus on direct memory access to the fields within the VM and providing
+atomic update methods.
+
[EMAIL PROTECTED] @bullet
[EMAIL PROTECTED] @code{objectFieldOffset(Field)} -- Provides the caller with the memory
+offset of a particular field.
[EMAIL PROTECTED] @code{compareAndSwap*(Object,long,*,*)} -- One of these methods is
+provided for each of int, long and Object (hence the *s).  The value of
+a field pointed to by the given Object and offset is compared with the
+first value and replaced with the second if they are the same.  The reason
+for this method is to make this change operation atomic.
[EMAIL PROTECTED] @code{put/get*(Object,long,*)} -- These are like the last set of
+methods, handling integers, longs and Objects, but the field is always
+changed on a put.  Different methods are provided for different semantics.
+Ordered variants perform a lazy put, in that the change does not
+immediately propogate to other threads, while the others provide
+volatile or 'normal' semantics.
[EMAIL PROTECTED] @code{arrayBaseOffset(Class)} and @code{arrayIndexScale(Class)} --
+These two methods allow an array class to be traversed by pointer
+arithmetic, by gaining the address of the first element and then
+scaling appropriately for the later ones.
[EMAIL PROTECTED] @code{park(boolean,long)} and @code{unpark(Thread)} -- These methods
+block and unblock threads respectively, with an optional timeout being
+provided for the blocking.  @code{unpark} is unsafe as the thread may have
+been destroyed by native code. 
[EMAIL PROTECTED] itemize
+
 @node java.util, java.io, gnu.classpath, Classpath Hooks
 @section java.util
 

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to