Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/src/os/bsd/dtrace/libjvm_db.h
32284 views
/*1* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*22*/2324#ifndef OS_SOLARIS_DTRACE_LIBJVM_DB_H25#define OS_SOLARIS_DTRACE_LIBJVM_DB_H2627// not available on macosx #include <proc_service.h>2829#ifdef __cplusplus30extern "C" {31#endif3233typedef struct jvm_agent jvm_agent_t;3435#define JVM_DB_VERSION 13637jvm_agent_t *Jagent_create(struct ps_prochandle *P, int vers);3839/*40* Called from Jframe_iter() for each java frame. If it returns 0, then41* Jframe_iter() proceeds to the next frame. Otherwise, the return value is42* immediately returned to the caller of Jframe_iter().43*44* Parameters:45* 'cld' is client supplied data (to maintain iterator state, if any).46* 'name' is java method name.47* 'bci' is byte code index. it will be -1 if not available.48* 'line' is java source line number. it will be 0 if not available.49* 'handle' is an abstract client handle, reserved for future expansions50*/5152typedef int java_stack_f(void *cld, const prgregset_t regs, const char* name, int bci, int line, void *handle);5354/*55* Iterates over the java frames at the current location. Returns -1 if no java56* frames were found, or if there was some unrecoverable error. Otherwise,57* returns the last value returned from 'func'.58*/59int Jframe_iter(jvm_agent_t *agent, prgregset_t gregs, java_stack_f *func, void* cld);6061void Jagent_destroy(jvm_agent_t *J);6263#ifdef __cplusplus64} /* extern "C" */65#endif /* __cplusplus */6667#endif // OS_SOLARIS_DTRACE_LIBJVM_DB_H686970