Re: Search for the missing native code

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

 



Andrew John Hughes writes:
 > Hi everyone,
 > 
 > I've recently been trying to build JikesRVM on a Free platform (using CACAO 
 > and some hacked up tools from OpenJDK in the form of IcePick).  I've got it 
 > just about there now, but I've been let down by a missing native method.
 > 
 > Within the java.util.concurrent framework, the class AtomicLong has a native 
 > method, VMSupportsCS8 which CACAO at least doesn't provide.  It's basically 
 > just a check method to find out whether the VM supports lockless compare-set 
 > operations on longs.
 > 
 > >From java.util.concurrent.atomic.AtomicLong:
 > 
 >     /**
 >      * Records whether the underlying JVM supports lockless
 >      * CompareAndSet for longs. While the unsafe.CompareAndSetLong
 >      * method works in either case, some constructions should be
 >      * handled at Java level to avoid locking user-visible locks.
 >      */
 >     static final boolean VM_SUPPORTS_LONG_CAS = VMSupportsCS8();
 > 
 >     /**
 >      * Returns whether underlying JVM supports lockless CompareAndSet
 >      * for longs. Called only once and cached in VM_SUPPORTS_LONG_CAS.
 >      */
 >     private static native boolean VMSupportsCS8();
 > 
 > Has anyone implemented this so far?  So near, but yet so far!

Yes, it's in libgcj, of course.

jboolean
java::util::concurrent::atomic::AtomicLong::VMSupportsCS8 ()
{
  // FIXME
  return false;
}

:-)

Andrew.


[Index of Archives]     [Linux Kernel]     [Linux Cryptography]     [Fedora]     [Fedora Directory]     [Red Hat Development]

  Powered by Linux