2273N/A * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. 342N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 342N/A * This code is free software; you can redistribute it and/or modify it 342N/A * under the terms of the GNU General Public License version 2 only, as 342N/A * published by the Free Software Foundation. 342N/A * This code is distributed in the hope that it will be useful, but WITHOUT 342N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 342N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 342N/A * version 2 for more details (a copy is included in the LICENSE file that 342N/A * accompanied this code). 342N/A * You should have received a copy of the GNU General Public License version 342N/A * 2 along with this work; if not, write to the Free Software Foundation, 342N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1472N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 342N/A // XXX: need to set this to low priority 342N/A // unless "agressive mode" set; priority 342N/A // should be just less than that of VMThread. 342N/A // From this time Thread::current() should be working. 342N/A // Signal that it is terminated 342N/A // Thread destructor usually does this.. 342N/A "SuspendibleThreadSetLock",
true);
342N/A "Long delay; whodunit?");
342N/A // Initialize thread_oop to put it into the system threadGroup 342N/A // At this point it may be possible that no osthread was created for the 342N/A // JavaThread due to lack of memory. We would have to throw an exception 342N/A // in that case. However, since this must work and we do not allow 342N/A // exceptions anyway, check and abort if this fails. 342N/A "unable to create new native thread");
342N/A os::
yield();
// This seems to help with initial start-up of SLT 342N/A// ======= Surrogate Locker Thread ============= 342N/A while (
/* !isTerminated() */ 1) {
342N/A // Since we are a JavaThread, we can't be here at a safepoint. 342N/A "SLT is a JavaThread");
342N/A // wait for msg buffer to become non-empty 342N/A // Since we are a JavaThread, we can't be here at a safepoint. 342N/A "SLT is a JavaThread");
342N/A// ===== STS Access From Outside CGCT ===== 342N/A "only a conc GC thread can call this" );
342N/A "only a conc GC thread can call this" );
342N/A "only a conc GC thread can call this" );
342N/A "only a conc GC thread can call this" );