mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			116 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C++
		
	
	
	
| 
 | |
| // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
 | |
| 
 | |
| #ifndef __java_util_concurrent_locks_AbstractQueuedSynchronizer__
 | |
| #define __java_util_concurrent_locks_AbstractQueuedSynchronizer__
 | |
| 
 | |
| #pragma interface
 | |
| 
 | |
| #include <java/util/concurrent/locks/AbstractOwnableSynchronizer.h>
 | |
| extern "Java"
 | |
| {
 | |
|   namespace sun
 | |
|   {
 | |
|     namespace misc
 | |
|     {
 | |
|         class Unsafe;
 | |
|     }
 | |
|   }
 | |
| }
 | |
| 
 | |
| class java::util::concurrent::locks::AbstractQueuedSynchronizer : public ::java::util::concurrent::locks::AbstractOwnableSynchronizer
 | |
| {
 | |
| 
 | |
| public: // actually protected
 | |
|   AbstractQueuedSynchronizer();
 | |
|   virtual jint getState();
 | |
|   virtual void setState(jint);
 | |
|   virtual jboolean compareAndSetState(jint, jint);
 | |
| private:
 | |
|   ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * enq(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
 | |
|   ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * addWaiter(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
 | |
|   void setHead(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
 | |
|   void unparkSuccessor(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
 | |
|   void setHeadAndPropagate(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, jint);
 | |
|   void cancelAcquire(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
 | |
|   static jboolean shouldParkAfterFailedAcquire(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
 | |
|   static void selfInterrupt();
 | |
|   jboolean parkAndCheckInterrupt();
 | |
| public: // actually package-private
 | |
|   virtual jboolean acquireQueued(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, jint);
 | |
| private:
 | |
|   void doAcquireInterruptibly(jint);
 | |
|   jboolean doAcquireNanos(jint, jlong);
 | |
|   void doAcquireShared(jint);
 | |
|   void doAcquireSharedInterruptibly(jint);
 | |
|   jboolean doAcquireSharedNanos(jint, jlong);
 | |
| public: // actually protected
 | |
|   virtual jboolean tryAcquire(jint);
 | |
|   virtual jboolean tryRelease(jint);
 | |
|   virtual jint tryAcquireShared(jint);
 | |
|   virtual jboolean tryReleaseShared(jint);
 | |
|   virtual jboolean isHeldExclusively();
 | |
| public:
 | |
|   virtual void acquire(jint);
 | |
|   virtual void acquireInterruptibly(jint);
 | |
|   virtual jboolean tryAcquireNanos(jint, jlong);
 | |
|   virtual jboolean release(jint);
 | |
|   virtual void acquireShared(jint);
 | |
|   virtual void acquireSharedInterruptibly(jint);
 | |
|   virtual jboolean tryAcquireSharedNanos(jint, jlong);
 | |
|   virtual jboolean releaseShared(jint);
 | |
|   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::AbstractQueuedSynchronizer$Node *);
 | |
| private:
 | |
|   jboolean findNodeFromTail(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
 | |
| public: // actually package-private
 | |
|   virtual jboolean transferForSignal(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
 | |
|   virtual jboolean transferAfterCancelledWait(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
 | |
|   virtual jint fullyRelease(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
 | |
| public:
 | |
|   virtual jboolean owns(::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject *);
 | |
|   virtual jboolean hasWaiters(::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject *);
 | |
|   virtual jint getWaitQueueLength(::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject *);
 | |
|   virtual ::java::util::Collection * getWaitingThreads(::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject *);
 | |
| private:
 | |
|   jboolean compareAndSetHead(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
 | |
|   jboolean compareAndSetTail(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
 | |
|   static jboolean compareAndSetWaitStatus(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, jint, jint);
 | |
| public: // actually package-private
 | |
|   static void access$0();
 | |
| private:
 | |
|   static const jlong serialVersionUID = 7373984972572414691LL;
 | |
|   ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * volatile __attribute__((aligned(__alignof__( ::java::util::concurrent::locks::AbstractOwnableSynchronizer)))) head;
 | |
|   ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * volatile tail;
 | |
|   jint 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_AbstractQueuedSynchronizer__
 |