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
signature.asc
Description: This is a digitally signed message part
