mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			116 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C++
		
	
	
	
 | 
						|
// 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__
 |