X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=libjava%2Finclude%2Fjvmpi.h;fp=libjava%2Finclude%2Fjvmpi.h;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=1af9617825a6da9b05a506bdf042cf6dfd38ee55;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/libjava/include/jvmpi.h b/libjava/include/jvmpi.h deleted file mode 100644 index 1af96178..00000000 --- a/libjava/include/jvmpi.h +++ /dev/null @@ -1,227 +0,0 @@ -/* Copyright (C) 2000 Free Software Foundation - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -/* Note: this file must be compilable by the C compiler (for now, - assuming GNU C is ok). This means you must never use `//' - comments, and all C++-specific code must be conditional on - __cplusplus. */ - -#ifndef __GCJ_JVMPI_H__ -#define __GCJ_JVMPI_H__ - -#include - -/* JVMPI version numbers. FIXME: this is a semi-random number. The - documentation doesn't say what it should be. */ -#define JVMPI_VERSION_1 0x00020001 - -/* JVMPI return codes. FIXME: These are semi-random numbers. The - documentation doesn't say what they should be. */ -#define JVMPI_SUCCESS 0 -#define JVMPI_FAIL 1 -#define JVMPI_NOT_AVAILABLE 2 - -/* An opaque pointer representing an object ID. */ -struct _jobjectID; -typedef struct _jobjectID * jobjectID; - -typedef struct -{ - /* Source line number. */ - jint lineno; - /* Method being executed. */ - jmethodID method_id; -} JVMPI_CallFrame; - -typedef struct -{ - JNIEnv *env_id; - /* Number of frames in the call trace. */ - jint num_frames; - /* An array of frames representing the trace. Callees first. */ - JVMPI_CallFrame *frames; -} JVMPI_CallTrace; - -typedef struct -{ - /* Name of the field. */ - char *field_name; - /* Signature of the field. */ - char *field_signature; -} JVMPI_Field; - -/* The documentation doesn't actually specify what the - JVMPI_DUMP_LEVEL macros should be defined to. Here's a reasonable - guess. */ -#define JVMPI_DUMP_LEVEL_0 0 -#define JVMPI_DUMP_LEVEL_1 1 -#define JVMPI_DUMP_LEVEL_2 2 -#define JVMPI_DUMP_LEVEL_3 3 - -typedef struct -{ - /* One of JVMPI_DUMP_LEVEL_0, JVMPI_DUMP_LEVEL_1 or - JVMPI_DUMP_LEVEL_2. */ - jint heap_dump_level; -} JVMPI_HeapDumpArg; - -typedef struct -{ - /* Offset from the beginning of the method. */ - jint offset; - /* Line number from the beginning of the source file. */ - jint lineno; -} JVMPI_Lineno; - -typedef struct -{ - /* Name of the method. */ - char *method_name; - /* Signature of the method. */ - char *method_signature; - /* Start line number from the beginning of the source file. */ - jint start_lineno; - /* End line number from the beginning of the source file. */ - jint end_lineno; - /* The method ID. */ - jmethodID method_id; -} JVMPI_Method; - -/* An opaque pointer representing a raw monitor. */ -struct _JVMPI_RawMonitor; -typedef struct _JVMPI_RawMonitor *JVMPI_RawMonitor; - -/* JVMPI event codes. FIXME: These are semi-random numbers. The - documentation doesn't say what they should be. */ -#define JVMPI_EVENT_ARENA_DELETE 0 -#define JVMPI_EVENT_ARENA_NEW 1 -#define JVMPI_EVENT_CLASS_LOAD 2 -#define JVMPI_EVENT_CLASS_LOAD_HOOK 3 -#define JVMPI_EVENT_CLASS_UNLOAD 4 -#define JVMPI_EVENT_COMPILED_METHOD_LOAD 5 -#define JVMPI_EVENT_COMPILED_METHOD_UNLOAD 6 -#define JVMPI_EVENT_DATA_DUMP_REQUEST 7 -#define JVMPI_EVENT_DATA_RESET_REQUEST 8 -#define JVMPI_EVENT_GC_FINISH 9 -#define JVMPI_EVENT_GC_START 10 -#define JVMPI_EVENT_HEAP_DUMP 11 -#define JVMPI_EVENT_JNI_GLOBALREF_ALLOC 12 -#define JVMPI_EVENT_JNI_GLOBALREF_FREE 13 -#define JVMPI_EVENT_JNI_WEAK_GLOBALREF_ALLOC 14 -#define JVMPI_EVENT_JNI_WEAK_GLOBALREF_FREE 15 -#define JVMPI_EVENT_JVM_INIT_DONE 16 -#define JVMPI_EVENT_JVM_SHUT_DOWN 17 -#define JVMPI_EVENT_METHOD_ENTRY 18 -#define JVMPI_EVENT_METHOD_ENTRY2 19 -#define JVMPI_EVENT_METHOD_EXIT 20 -#define JVMPI_EVENT_MONITOR_CONTENDED_ENTER 21 -#define JVMPI_EVENT_MONITOR_CONTENDED_ENTERED 22 -#define JVMPI_EVENT_MONITOR_CONTENDED_EXIT 23 -#define JVMPI_EVENT_MONITOR_DUMP 24 -#define JVMPI_EVENT_MONITOR_WAIT 25 -#define JVMPI_EVENT_MONITOR_WAITED 26 -#define JVMPI_EVENT_OBJECT_ALLOC 27 -#define JVMPI_EVENT_OBJECT_DUMP 28 -#define JVMPI_EVENT_OBJECT_FREE 29 -#define JVMPI_EVENT_OBJECT_MOVE 30 -#define JVMPI_EVENT_RAW_MONITOR_CONTENDED_ENTER 31 -#define JVMPI_EVENT_RAW_MONITOR_CONTENDED_ENTERED 32 -#define JVMPI_EVENT_RAW_MONITOR_CONTENDED_EXIT 33 -#define JVMPI_EVENT_THREAD_END 34 -#define JVMPI_EVENT_THREAD_START 35 -#define JVMPI_EVENT_INSTRUCTION_START 36 - - -typedef struct -{ - /* Event type. */ - jint event_type; - - /* Evn where this event occurred. */ - JNIEnv *env_id; - - union - { - struct - { - char *class_name; - char *source_name; - jint num_interfaces; - jint num_methods; - JVMPI_Method *methods; - jint num_static_fields; - JVMPI_Field *statics; - jint num_instance_fields; - JVMPI_Field *instances; - jobjectID class_id; - } class_load; - - struct - { - jobjectID class_id; - } class_unload; - - struct - { - jint arena_id; - jobjectID class_id; - jint is_array; - jint size; - jobjectID obj_id; - } obj_alloc; - - struct - { - char *thread_name; - char *group_name; - char *parent_name; - jobjectID thread_id; - JNIEnv *thread_env_id; - } thread_start; - - } u; - -} JVMPI_Event; - -typedef struct -{ - /* JVMPI version number. */ - jint version; - - /* Implemented by the user... */ - void (*NotifyEvent) (JVMPI_Event *event); - - /* Implemented by the runtime... */ - jint (*EnableEvent) (jint event_type, void *arg); - jint (*DisableEvent) (jint event_type, void *arg); - jint (*RequestEvent) (jint event_type, void *arg); - void (*GetCallTrace) (JVMPI_CallTrace *trace, jint depth); - void (*ProfilerExit) (jint); - JVMPI_RawMonitor (*RawMonitorCreate) (char *lock_name); - void (*RawMonitorEnter) (JVMPI_RawMonitor lock_id); - void (*RawMonitorExit) (JVMPI_RawMonitor lock_id); - void (*RawMonitorWait) (JVMPI_RawMonitor lock_id, jlong ms); - void (*RawMonitorNotifyAll) (JVMPI_RawMonitor lock_id); - void (*RawMonitorDestroy) (JVMPI_RawMonitor lock_id); - jlong (*GetCurrentThreadCpuTime) (void); - void (*SuspendThread) (JNIEnv *env); - void (*ResumeThread) (JNIEnv *env); - jint (*GetThreadStatus) (JNIEnv *env); - jboolean (*ThreadHasRun) (JNIEnv *env); - jint (*CreateSystemThread) (char *name, jint priority, void (*f) (void *)); - void (*SetThreadLocalStorage) (JNIEnv *env_id, void *ptr); - void *(*GetThreadLocalStorage) (JNIEnv *env_id); - void (*DisableGC) (void); - void (*EnableGC) (void); - void (*RunGC) (void); - jobjectID (*GetThreadObject) (JNIEnv *env); - jobjectID (*GetMethodClass) (jmethodID mid); - -} JVMPI_Interface; - -#endif /* __GCJ_JVMPI_H__ */