Search for the missing native code

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

 



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!

Cheers,
-- 
Andy :)

http://www.dcs.shef.ac.uk/~andrew



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

  Powered by Linux