mirror of
https://github.com/autc04/Retro68.git
synced 2024-11-28 05:51:04 +00:00
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__
|