8028280: ParkEvent leak when running modified runThese which only loads classes

Use spin lock to manage ParkEvent and PlatformEvent free lists.

Reviewed-by: dholmes, fparain
This commit is contained in:
David Simms 2014-01-24 09:28:47 +01:00
parent 90a44b778d
commit edb5dd324e
7 changed files with 95 additions and 112 deletions

View file

@ -430,7 +430,10 @@ class os: AllStatic {
static intx current_thread_id();
static int current_process_id();
static int sleep(Thread* thread, jlong ms, bool interruptable);
static int naked_sleep();
// Short standalone OS sleep suitable for slow path spin loop.
// Ignores Thread.interrupt() (so keep it short).
// ms = 0, will sleep for the least amount of time allowed by the OS.
static void naked_short_sleep(jlong ms);
static void infinite_sleep(); // never returns, use with CAUTION
static void yield(); // Yields to all threads with same priority
enum YieldResult {