thread.hpp revision 1119
0N/A/*
1879N/A * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A *
0N/A * This code is free software; you can redistribute it and/or modify it
0N/A * under the terms of the GNU General Public License version 2 only, as
0N/A * published by the Free Software Foundation.
0N/A *
0N/A * This code is distributed in the hope that it will be useful, but WITHOUT
0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A * version 2 for more details (a copy is included in the LICENSE file that
0N/A * accompanied this code).
0N/A *
0N/A * You should have received a copy of the GNU General Public License version
0N/A * 2 along with this work; if not, write to the Free Software Foundation,
0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A *
1472N/A * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
1472N/A * CA 95054 USA or visit www.sun.com if you need additional information or
1472N/A * have any questions.
0N/A *
0N/A */
0N/A
1879N/Aclass ThreadSafepointState;
1879N/Aclass ThreadProfiler;
1879N/A
1879N/Aclass JvmtiThreadState;
1879N/Aclass JvmtiGetLoadedClassesClosure;
1879N/Aclass ThreadStatistics;
0N/Aclass ConcurrentLocksDump;
0N/Aclass ParkEvent ;
0N/A
0N/Aclass ciEnv;
0N/Aclass CompileThread;
0N/Aclass CompileLog;
0N/Aclass CompileTask;
0N/Aclass CompileQueue;
3863N/Aclass CompilerCounters;
0N/Aclass vframeArray;
0N/A
0N/Aclass DeoptResourceMark;
0N/Aclass jvmtiDeferredLocalVariableSet;
0N/A
0N/Aclass GCTaskQueue;
0N/Aclass ThreadClosure;
0N/Aclass IdealGraphPrinter;
0N/A
0N/A// Class hierarchy
0N/A// - Thread
0N/A// - NamedThread
0N/A// - VMThread
0N/A// - ConcurrentGCThread
0N/A// - WorkerThread
0N/A// - GangWorker
0N/A// - GCTaskThread
0N/A// - JavaThread
0N/A// - WatcherThread
0N/A
0N/Aclass Thread: public ThreadShadow {
0N/A friend class VMStructs;
0N/A private:
0N/A // Exception handling
0N/A // (Note: _pending_exception and friends are in ThreadShadow)
0N/A //oop _pending_exception; // pending exception for current thread
0N/A // const char* _exception_file; // file information for exception (debugging only)
0N/A // int _exception_line; // line information for exception (debugging only)
0N/A
0N/A // Support for forcing alignment of thread objects for biased locking
0N/A void* _real_malloc_address;
0N/A public:
0N/A void* operator new(size_t size);
0N/A void operator delete(void* p);
0N/A private:
0N/A
0N/A // ***************************************************************
0N/A // Suspend and resume support
0N/A // ***************************************************************
0N/A //
0N/A // VM suspend/resume no longer exists - it was once used for various
0N/A // things including safepoints but was deprecated and finally removed
0N/A // in Java 7. Because VM suspension was considered "internal" Java-level
0N/A // suspension was considered "external", and this legacy naming scheme
0N/A // remains.
0N/A //
0N/A // External suspend/resume requests come from JVM_SuspendThread,
0N/A // JVM_ResumeThread, JVMTI SuspendThread, and finally JVMTI
1601N/A // ResumeThread. External
1601N/A // suspend requests cause _external_suspend to be set and external
0N/A // resume requests cause _external_suspend to be cleared.
0N/A // External suspend requests do not nest on top of other external
0N/A // suspend requests. The higher level APIs reject suspend requests
0N/A // for already suspended threads.
0N/A //
0N/A // The external_suspend
0< Error!

 

There was an error!

null

java.lang.NullPointerException