mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
| 
 | |
| // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
 | |
| 
 | |
| #ifndef __java_util_concurrent_Exchanger__
 | |
| #define __java_util_concurrent_Exchanger__
 | |
| 
 | |
| #pragma interface
 | |
| 
 | |
| #include <java/lang/Object.h>
 | |
| #include <gcj/array.h>
 | |
| 
 | |
| 
 | |
| class java::util::concurrent::Exchanger : public ::java::lang::Object
 | |
| {
 | |
| 
 | |
|   ::java::lang::Object * doExchange(::java::lang::Object *, jboolean, jlong);
 | |
|   jint hashIndex();
 | |
|   void createSlot(jint);
 | |
|   static jboolean tryCancel(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *);
 | |
|   static ::java::lang::Object * spinWait(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *);
 | |
|   static ::java::lang::Object * await(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *);
 | |
|   ::java::lang::Object * awaitNanos(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *, jlong);
 | |
|   ::java::lang::Object * scanOnTimeout(::java::util::concurrent::Exchanger$Node *);
 | |
| public:
 | |
|   Exchanger();
 | |
|   virtual ::java::lang::Object * exchange(::java::lang::Object *);
 | |
|   virtual ::java::lang::Object * exchange(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *);
 | |
| private:
 | |
|   static jint NCPU;
 | |
|   static const jint CAPACITY = 32;
 | |
|   static jint FULL;
 | |
|   static jint SPINS;
 | |
|   static jint TIMED_SPINS;
 | |
|   static ::java::lang::Object * CANCEL;
 | |
|   static ::java::lang::Object * NULL_ITEM;
 | |
|   JArray< ::java::util::concurrent::Exchanger$Slot * > * volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) arena;
 | |
|   ::java::util::concurrent::atomic::AtomicInteger * max;
 | |
| public:
 | |
|   static ::java::lang::Class class$;
 | |
| };
 | |
| 
 | |
| #endif // __java_util_concurrent_Exchanger__
 |