jvmtiAgentThread.hpp revision 0
6853ce5c70efff66131398da552b7c2de99926bemental/*
6853ce5c70efff66131398da552b7c2de99926bemental * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved.
6853ce5c70efff66131398da552b7c2de99926bemental * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6853ce5c70efff66131398da552b7c2de99926bemental *
6853ce5c70efff66131398da552b7c2de99926bemental * This code is free software; you can redistribute it and/or modify it
6853ce5c70efff66131398da552b7c2de99926bemental * under the terms of the GNU General Public License version 2 only, as
6853ce5c70efff66131398da552b7c2de99926bemental * published by the Free Software Foundation.
6853ce5c70efff66131398da552b7c2de99926bemental *
6853ce5c70efff66131398da552b7c2de99926bemental * This code is distributed in the hope that it will be useful, but WITHOUT
6853ce5c70efff66131398da552b7c2de99926bemental * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
6853ce5c70efff66131398da552b7c2de99926bemental * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
cc7e33931673a5c5caffe0a8ab583aa2a88b85acmental * version 2 for more details (a copy is included in the LICENSE file that
cc7e33931673a5c5caffe0a8ab583aa2a88b85acmental * accompanied this code).
cc7e33931673a5c5caffe0a8ab583aa2a88b85acmental *
cc7e33931673a5c5caffe0a8ab583aa2a88b85acmental * You should have received a copy of the GNU General Public License version
cc7e33931673a5c5caffe0a8ab583aa2a88b85acmental * 2 along with this work; if not, write to the Free Software Foundation,
6853ce5c70efff66131398da552b7c2de99926bemental * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
6853ce5c70efff66131398da552b7c2de99926bemental *
6853ce5c70efff66131398da552b7c2de99926bemental * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
6853ce5c70efff66131398da552b7c2de99926bemental * CA 95054 USA or visit www.sun.com if you need additional information or
6853ce5c70efff66131398da552b7c2de99926bemental * have any questions.
6853ce5c70efff66131398da552b7c2de99926bemental *
6853ce5c70efff66131398da552b7c2de99926bemental */
04e26df8231b128a0b16be3058051f5b60bd60e2mental
04e26df8231b128a0b16be3058051f5b60bd60e2mental//
04e26df8231b128a0b16be3058051f5b60bd60e2mental// class JvmtiAgentThread
6853ce5c70efff66131398da552b7c2de99926bemental//
6853ce5c70efff66131398da552b7c2de99926bemental// JavaThread used to wrap a thread started by an agent
6853ce5c70efff66131398da552b7c2de99926bemental// using the JVMTI method RunAgentThread.
6853ce5c70efff66131398da552b7c2de99926bemental//
6853ce5c70efff66131398da552b7c2de99926bementalclass JvmtiAgentThread : public JavaThread {
6853ce5c70efff66131398da552b7c2de99926bemental
6853ce5c70efff66131398da552b7c2de99926bemental jvmtiStartFunction _start_fn;
6853ce5c70efff66131398da552b7c2de99926bemental JvmtiEnv* _env;
fa0d3e877e4e340c200105e84432f4a6a375143amental const void *_start_arg;
fa0d3e877e4e340c200105e84432f4a6a375143amental
6853ce5c70efff66131398da552b7c2de99926bementalpublic:
6853ce5c70efff66131398da552b7c2de99926bemental JvmtiAgentThread(JvmtiEnv* env, jvmtiStartFunction start_fn, const void *start_arg);
6853ce5c70efff66131398da552b7c2de99926bemental
6853ce5c70efff66131398da552b7c2de99926bemental bool is_jvmti_agent_thread() const { return true; }
6853ce5c70efff66131398da552b7c2de99926bemental
6853ce5c70efff66131398da552b7c2de99926bemental static void start_function_wrapper(JavaThread *thread, TRAPS);
6853ce5c70efff66131398da552b7c2de99926bemental void call_start_function();
6853ce5c70efff66131398da552b7c2de99926bemental};
6853ce5c70efff66131398da552b7c2de99926bemental