314 // in PRODUCT for -XX:SyncKnobs=Verbose=1
315 #ifndef PRODUCT
316 void verify();
317 void print();
318 #endif
319
320 bool try_enter(TRAPS);
321 void enter(TRAPS);
322 void exit(bool not_suspended, TRAPS);
323 void wait(jlong millis, bool interruptable, TRAPS);
324 void notify(TRAPS);
325 void notifyAll(TRAPS);
326
327 // Use the following at your own risk
328 intptr_t complete_exit(TRAPS);
329 void reenter(intptr_t recursions, TRAPS);
330
331 private:
332 void AddWaiter(ObjectWaiter * waiter);
333 static void DeferredInitialize();
334
335 ObjectWaiter * DequeueWaiter();
336 void DequeueSpecificWaiter(ObjectWaiter * waiter);
337 void EnterI(TRAPS);
338 void ReenterI(Thread * Self, ObjectWaiter * SelfNode);
339 void UnlinkAfterAcquire(Thread * Self, ObjectWaiter * SelfNode);
340 int TryLock(Thread * Self);
341 int NotRunnable(Thread * Self, Thread * Owner);
342 int TrySpin_Fixed(Thread * Self);
343 int TrySpin_VaryFrequency(Thread * Self);
344 int TrySpin_VaryDuration(Thread * Self);
345 void ExitEpilog(Thread * Self, ObjectWaiter * Wakee);
346 bool ExitSuspendEquivalent(JavaThread * Self);
347 void post_monitor_wait_event(EventJavaMonitorWait * event,
348 jlong notifier_tid,
349 jlong timeout,
350 bool timedout);
351
352 };
353
354 #undef TEVENT
|
314 // in PRODUCT for -XX:SyncKnobs=Verbose=1
315 #ifndef PRODUCT
316 void verify();
317 void print();
318 #endif
319
320 bool try_enter(TRAPS);
321 void enter(TRAPS);
322 void exit(bool not_suspended, TRAPS);
323 void wait(jlong millis, bool interruptable, TRAPS);
324 void notify(TRAPS);
325 void notifyAll(TRAPS);
326
327 // Use the following at your own risk
328 intptr_t complete_exit(TRAPS);
329 void reenter(intptr_t recursions, TRAPS);
330
331 private:
332 void AddWaiter(ObjectWaiter * waiter);
333 static void DeferredInitialize();
334 int INotify(Thread * Self);
335 ObjectWaiter * DequeueWaiter();
336 void DequeueSpecificWaiter(ObjectWaiter * waiter);
337 void EnterI(TRAPS);
338 void ReenterI(Thread * Self, ObjectWaiter * SelfNode);
339 void UnlinkAfterAcquire(Thread * Self, ObjectWaiter * SelfNode);
340 int TryLock(Thread * Self);
341 int NotRunnable(Thread * Self, Thread * Owner);
342 int TrySpin_Fixed(Thread * Self);
343 int TrySpin_VaryFrequency(Thread * Self);
344 int TrySpin_VaryDuration(Thread * Self);
345 void ExitEpilog(Thread * Self, ObjectWaiter * Wakee);
346 bool ExitSuspendEquivalent(JavaThread * Self);
347 void post_monitor_wait_event(EventJavaMonitorWait * event,
348 jlong notifier_tid,
349 jlong timeout,
350 bool timedout);
351
352 };
353
354 #undef TEVENT
|