summaryrefslogtreecommitdiff
path: root/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h')
-rw-r--r--libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h115
1 files changed, 115 insertions, 0 deletions
diff --git a/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h
new file mode 100644
index 000000000..41f1f7cba
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h
@@ -0,0 +1,115 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_AbstractQueuedLongSynchronizer__
+#define __java_util_concurrent_locks_AbstractQueuedLongSynchronizer__
+
+#pragma interface
+
+#include <java/util/concurrent/locks/AbstractOwnableSynchronizer.h>
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::locks::AbstractQueuedLongSynchronizer : public ::java::util::concurrent::locks::AbstractOwnableSynchronizer
+{
+
+public: // actually protected
+ AbstractQueuedLongSynchronizer();
+ virtual jlong getState();
+ virtual void setState(jlong);
+ virtual jboolean compareAndSetState(jlong, jlong);
+private:
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * enq(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * addWaiter(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ void setHead(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ void unparkSuccessor(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ void setHeadAndPropagate(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, jlong);
+ void cancelAcquire(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ static jboolean shouldParkAfterFailedAcquire(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ static void selfInterrupt();
+ jboolean parkAndCheckInterrupt();
+public: // actually package-private
+ virtual jboolean acquireQueued(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, jlong);
+private:
+ void doAcquireInterruptibly(jlong);
+ jboolean doAcquireNanos(jlong, jlong);
+ void doAcquireShared(jlong);
+ void doAcquireSharedInterruptibly(jlong);
+ jboolean doAcquireSharedNanos(jlong, jlong);
+public: // actually protected
+ virtual jboolean tryAcquire(jlong);
+ virtual jboolean tryRelease(jlong);
+ virtual jlong tryAcquireShared(jlong);
+ virtual jboolean tryReleaseShared(jlong);
+ virtual jboolean isHeldExclusively();
+public:
+ virtual void acquire(jlong);
+ virtual void acquireInterruptibly(jlong);
+ virtual jboolean tryAcquireNanos(jlong, jlong);
+ virtual jboolean release(jlong);
+ virtual void acquireShared(jlong);
+ virtual void acquireSharedInterruptibly(jlong);
+ virtual jboolean tryAcquireSharedNanos(jlong, jlong);
+ virtual jboolean releaseShared(jlong);
+ virtual jboolean hasQueuedThreads();
+ virtual jboolean hasContended();
+ virtual ::java::lang::Thread * getFirstQueuedThread();
+private:
+ ::java::lang::Thread * fullGetFirstQueuedThread();
+public:
+ virtual jboolean isQueued(::java::lang::Thread *);
+public: // actually package-private
+ virtual jboolean apparentlyFirstQueuedIsExclusive();
+ virtual jboolean isFirst(::java::lang::Thread *);
+ virtual jboolean fullIsFirst(::java::lang::Thread *);
+public:
+ virtual jint getQueueLength();
+ virtual ::java::util::Collection * getQueuedThreads();
+ virtual ::java::util::Collection * getExclusiveQueuedThreads();
+ virtual ::java::util::Collection * getSharedQueuedThreads();
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ virtual jboolean isOnSyncQueue(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+private:
+ jboolean findNodeFromTail(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+public: // actually package-private
+ virtual jboolean transferForSignal(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ virtual jboolean transferAfterCancelledWait(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ virtual jlong fullyRelease(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+public:
+ virtual jboolean owns(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject *);
+ virtual jboolean hasWaiters(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject *);
+ virtual jint getWaitQueueLength(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject *);
+ virtual ::java::util::Collection * getWaitingThreads(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject *);
+private:
+ jboolean compareAndSetHead(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ jboolean compareAndSetTail(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ static jboolean compareAndSetWaitStatus(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, jint, jint);
+public: // actually package-private
+ static void access$0();
+private:
+ static const jlong serialVersionUID = 7373984972572414692LL;
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * volatile __attribute__((aligned(__alignof__( ::java::util::concurrent::locks::AbstractOwnableSynchronizer)))) head;
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * volatile tail;
+ jlong volatile state;
+public: // actually package-private
+ static const jlong spinForTimeoutThreshold = 1000LL;
+private:
+ static ::sun::misc::Unsafe * unsafe;
+ static jlong stateOffset;
+ static jlong headOffset;
+ static jlong tailOffset;
+ static jlong waitStatusOffset;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_AbstractQueuedLongSynchronizer__