mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-08 00:01:19 +08:00
jvm.h (_Jv_GetJVMTIEnv): Declare.
* include/jvm.h (_Jv_GetJVMTIEnv): Declare. * jni.cc (_Jv_JNI_GetEnv): Handle JVMTI requests. * jvmti.cc: New file. * Makefile.am (libgcj_la_SOURCES): Add jvmti.cc. * Makefile.in: Regenerate. From-SVN: r115629
This commit is contained in:
parent
6b1fd291b5
commit
94f473ee2c
@ -1,3 +1,11 @@
|
||||
2006-07-20 Keith Seitz <keiths@redhat.com>
|
||||
|
||||
* include/jvm.h (_Jv_GetJVMTIEnv): Declare.
|
||||
* jni.cc (_Jv_JNI_GetEnv): Handle JVMTI requests.
|
||||
* jvmti.cc: New file.
|
||||
* Makefile.am (libgcj_la_SOURCES): Add jvmti.cc.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2006-07-20 David Daney <ddaney@avtrex.com>
|
||||
|
||||
* configure.host: Enable the interpreter for mipsel-* and mips-*.
|
||||
|
@ -177,7 +177,7 @@ libgij_la_LIBADD = -L$(here)/.libs libgcj.la
|
||||
libgij_la_LDFLAGS = -rpath $(toolexeclibdir) \
|
||||
-version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LIBGCJ_LD_SYMBOLIC)
|
||||
|
||||
libgcj_la_SOURCES = prims.cc jni.cc exception.cc stacktrace.cc \
|
||||
libgcj_la_SOURCES = prims.cc jni.cc jvmti.cc exception.cc stacktrace.cc \
|
||||
link.cc defineclass.cc interpret.cc verify.cc \
|
||||
java/lang/Class.java java/lang/Object.java \
|
||||
$(nat_source_files)
|
||||
|
@ -249,7 +249,7 @@ am__DEPENDENCIES_2 = gnu-CORBA.lo gnu-java-awt-peer-gtk.lo \
|
||||
am__DEPENDENCIES_3 = $(patsubst classpath/resource/%,%,$(addsuffix \
|
||||
.lo,$(property_files)))
|
||||
am__DEPENDENCIES_4 =
|
||||
am__libgcj_la_SOURCES_DIST = prims.cc jni.cc exception.cc \
|
||||
am__libgcj_la_SOURCES_DIST = prims.cc jni.cc jvmti.cc exception.cc \
|
||||
stacktrace.cc link.cc defineclass.cc interpret.cc verify.cc \
|
||||
java/lang/Class.java java/lang/Object.java \
|
||||
gnu/classpath/natSystemProperties.cc gnu/gcj/natCore.cc \
|
||||
@ -340,8 +340,8 @@ am__objects_2 = gnu/classpath/natSystemProperties.lo \
|
||||
@USING_POSIX_THREADS_TRUE@am__objects_8 = posix-threads.lo
|
||||
@USING_WIN32_THREADS_TRUE@am__objects_9 = win32-threads.lo
|
||||
@USING_NO_THREADS_TRUE@am__objects_10 = no-threads.lo
|
||||
am_libgcj_la_OBJECTS = prims.lo jni.lo exception.lo stacktrace.lo \
|
||||
link.lo defineclass.lo interpret.lo verify.lo \
|
||||
am_libgcj_la_OBJECTS = prims.lo jni.lo jvmti.lo exception.lo \
|
||||
stacktrace.lo link.lo defineclass.lo interpret.lo verify.lo \
|
||||
java/lang/Class.lo java/lang/Object.lo $(am__objects_2) \
|
||||
$(am__objects_3) $(am__objects_4) $(am__objects_5) \
|
||||
$(am__objects_6) $(am__objects_7) $(am__objects_8) \
|
||||
@ -756,12 +756,12 @@ libgij_la_LIBADD = -L$(here)/.libs libgcj.la
|
||||
libgij_la_LDFLAGS = -rpath $(toolexeclibdir) \
|
||||
-version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LIBGCJ_LD_SYMBOLIC)
|
||||
|
||||
libgcj_la_SOURCES = prims.cc jni.cc exception.cc stacktrace.cc link.cc \
|
||||
defineclass.cc interpret.cc verify.cc java/lang/Class.java \
|
||||
java/lang/Object.java $(nat_source_files) $(am__append_5) \
|
||||
$(am__append_6) $(am__append_7) $(am__append_8) \
|
||||
$(am__append_9) $(am__append_10) $(am__append_11) \
|
||||
$(am__append_12)
|
||||
libgcj_la_SOURCES = prims.cc jni.cc jvmti.cc exception.cc \
|
||||
stacktrace.cc link.cc defineclass.cc interpret.cc verify.cc \
|
||||
java/lang/Class.java java/lang/Object.java $(nat_source_files) \
|
||||
$(am__append_5) $(am__append_6) $(am__append_7) \
|
||||
$(am__append_8) $(am__append_9) $(am__append_10) \
|
||||
$(am__append_11) $(am__append_12)
|
||||
nat_files = $(nat_source_files:.cc=.lo)
|
||||
xlib_nat_files = $(xlib_nat_source_files:.cc=.lo)
|
||||
|
||||
@ -7950,6 +7950,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/interpret.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jni-libjvm.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jni.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jvmti.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/no-threads.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nogc.Plo@am__quote@
|
||||
|
@ -573,6 +573,10 @@ void _Jv_FreeJNIEnv (_Jv_JNIEnv *);
|
||||
struct _Jv_JavaVM;
|
||||
_Jv_JavaVM *_Jv_GetJavaVM ();
|
||||
|
||||
/* Get the JVMTI environment */
|
||||
struct _Jv_JVMTIEnv;
|
||||
_Jv_JVMTIEnv *_Jv_GetJVMTIEnv (void);
|
||||
|
||||
// Some verification functions from defineclass.cc.
|
||||
bool _Jv_VerifyFieldSignature (_Jv_Utf8Const*sig);
|
||||
bool _Jv_VerifyMethodSignature (_Jv_Utf8Const*sig);
|
||||
|
@ -22,6 +22,7 @@ details. */
|
||||
#ifdef ENABLE_JVMPI
|
||||
#include <jvmpi.h>
|
||||
#endif
|
||||
#include <jvmti.h>
|
||||
|
||||
#include <java/lang/Class.h>
|
||||
#include <java/lang/ClassLoader.h>
|
||||
@ -2495,6 +2496,13 @@ _Jv_JNI_GetEnv (JavaVM *, void **penv, jint version)
|
||||
}
|
||||
#endif
|
||||
|
||||
// Handle JVMTI requests
|
||||
if (version == JVMTI_VERSION_1_0)
|
||||
{
|
||||
*penv = (void *) _Jv_GetJVMTIEnv ();
|
||||
return 0;
|
||||
}
|
||||
|
||||
// FIXME: do we really want to support 1.1?
|
||||
if (version != JNI_VERSION_1_4 && version != JNI_VERSION_1_2
|
||||
&& version != JNI_VERSION_1_1)
|
||||
|
184
libjava/jvmti.cc
Normal file
184
libjava/jvmti.cc
Normal file
@ -0,0 +1,184 @@
|
||||
// jvmti.cc - JVMTI implementation
|
||||
|
||||
/* Copyright (C) 2006 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. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <jvm.h>
|
||||
#include <jvmti.h>
|
||||
|
||||
#define RESERVED NULL
|
||||
#define UNIMPLEMENTED NULL
|
||||
|
||||
struct _Jv_jvmtiEnv _Jv_JVMTI_Interface =
|
||||
{
|
||||
RESERVED, // reserved1
|
||||
UNIMPLEMENTED, // SetEventNotification
|
||||
RESERVED, // reserved3
|
||||
UNIMPLEMENTED, // GetAllThreads
|
||||
UNIMPLEMENTED, // SuspendThread
|
||||
UNIMPLEMENTED, // ResumeThread
|
||||
UNIMPLEMENTED, // StopThread
|
||||
UNIMPLEMENTED, // InterruptThread
|
||||
UNIMPLEMENTED, // GetThreadInfo
|
||||
UNIMPLEMENTED, // GetOwnedMonitorInfo
|
||||
UNIMPLEMENTED, // GetCurrentContendedMonitor
|
||||
UNIMPLEMENTED, // RunAgentThread
|
||||
UNIMPLEMENTED, // GetTopThreadGroups
|
||||
UNIMPLEMENTED, // GetThreadGroupInfo
|
||||
UNIMPLEMENTED, // GetThreadGroupChildren
|
||||
UNIMPLEMENTED, // GetFrameCount
|
||||
UNIMPLEMENTED, // GetThreadState
|
||||
RESERVED, // reserved18
|
||||
UNIMPLEMENTED, // GetFrameLocation
|
||||
UNIMPLEMENTED, // NotifyPopFrame
|
||||
UNIMPLEMENTED, // GetLocalObject
|
||||
UNIMPLEMENTED, // GetLocalInt
|
||||
UNIMPLEMENTED, // GetLocalLong
|
||||
UNIMPLEMENTED, // GetLocalFloat
|
||||
UNIMPLEMENTED, // GetLocalDouble
|
||||
UNIMPLEMENTED, // SetLocalObject
|
||||
UNIMPLEMENTED, // SetLocalInt
|
||||
UNIMPLEMENTED, // SetLocalLong
|
||||
UNIMPLEMENTED, // SetLocalFloat
|
||||
UNIMPLEMENTED, // SetLocalDouble
|
||||
UNIMPLEMENTED, // CreateRawMonitor
|
||||
UNIMPLEMENTED, // DestroyRawMonitor
|
||||
UNIMPLEMENTED, // RawMonitorEnter
|
||||
UNIMPLEMENTED, // RawMonitorExit
|
||||
UNIMPLEMENTED, // RawMonitorWait
|
||||
UNIMPLEMENTED, // RawMonitorNotify
|
||||
UNIMPLEMENTED, // RawMonitorNotifyAll
|
||||
UNIMPLEMENTED, // SetBreakpoint
|
||||
UNIMPLEMENTED, // CleareBreakpoint
|
||||
RESERVED, // reserved40
|
||||
UNIMPLEMENTED, // SetFieldAccessWatch
|
||||
UNIMPLEMENTED, // ClearFieldAccessWatch
|
||||
UNIMPLEMENTED, // SetFieldModificationWatch
|
||||
UNIMPLEMENTED, // ClearFieldModificationWatch
|
||||
RESERVED, // reserved45
|
||||
UNIMPLEMENTED, // Allocate
|
||||
UNIMPLEMENTED, // Deallocate
|
||||
UNIMPLEMENTED, // GetClassSignature
|
||||
UNIMPLEMENTED, // GetClassStatus
|
||||
UNIMPLEMENTED, // GetSourceFileName
|
||||
UNIMPLEMENTED, // GetClassModifiers
|
||||
UNIMPLEMENTED, // GetClassMethods
|
||||
UNIMPLEMENTED, // GetClassFields
|
||||
UNIMPLEMENTED, // GetImplementedInterfaces
|
||||
UNIMPLEMENTED, // IsInterface
|
||||
UNIMPLEMENTED, // IsArrayClass
|
||||
UNIMPLEMENTED, // GetClassLoader
|
||||
UNIMPLEMENTED, // GetObjectHashCode
|
||||
UNIMPLEMENTED, // GetObjectMonitorUsage
|
||||
UNIMPLEMENTED, // GetFieldName
|
||||
UNIMPLEMENTED, // GetFieldDeclaringClass
|
||||
UNIMPLEMENTED, // GetFieldModifiers
|
||||
UNIMPLEMENTED, // IsFieldSynthetic
|
||||
UNIMPLEMENTED, // GetMethodName
|
||||
UNIMPLEMENTED, // GetMethodDeclaringClass
|
||||
UNIMPLEMENTED, // GetMethodModiifers
|
||||
RESERVED, // reserved67
|
||||
UNIMPLEMENTED, // GetMaxLocals
|
||||
UNIMPLEMENTED, // GetArgumentsSize
|
||||
UNIMPLEMENTED, // GetLineNumberTable
|
||||
UNIMPLEMENTED, // GetMethodLocation
|
||||
UNIMPLEMENTED, // GetLocalVariableTable
|
||||
RESERVED, // reserved73
|
||||
RESERVED, // reserved74
|
||||
UNIMPLEMENTED, // GetBytecodes
|
||||
UNIMPLEMENTED, // IsMethodNative
|
||||
UNIMPLEMENTED, // IsMethodSynthetic
|
||||
UNIMPLEMENTED, // GetLoadedClasses
|
||||
UNIMPLEMENTED, // GetClassLoaderClasses
|
||||
UNIMPLEMENTED, // PopFrame
|
||||
RESERVED, // reserved81
|
||||
RESERVED, // reserved82
|
||||
RESERVED, // reserved83
|
||||
RESERVED, // reserved84
|
||||
RESERVED, // reserved85
|
||||
RESERVED, // reserved86
|
||||
UNIMPLEMENTED, // RedefineClasses
|
||||
UNIMPLEMENTED, // GetVersionNumber
|
||||
UNIMPLEMENTED, // GetCapabilities
|
||||
UNIMPLEMENTED, // GetSourceDebugExtension
|
||||
UNIMPLEMENTED, // IsMethodObsolete
|
||||
UNIMPLEMENTED, // SuspendThreadList
|
||||
UNIMPLEMENTED, // ResumeThreadList
|
||||
RESERVED, // reserved94
|
||||
RESERVED, // reserved95
|
||||
RESERVED, // reserved96
|
||||
RESERVED, // reserved97
|
||||
RESERVED, // reserved98
|
||||
RESERVED, // reserved99
|
||||
UNIMPLEMENTED, // GetAllStackTraces
|
||||
UNIMPLEMENTED, // GetThreadListStackTraces
|
||||
UNIMPLEMENTED, // GetThreadLocalStorage
|
||||
UNIMPLEMENTED, // SetThreadLocalStorage
|
||||
UNIMPLEMENTED, // GetStackTrace
|
||||
RESERVED, // reserved105
|
||||
UNIMPLEMENTED, // GetTag
|
||||
UNIMPLEMENTED, // SetTag
|
||||
UNIMPLEMENTED, // ForceGarbageCollection
|
||||
UNIMPLEMENTED, // IterateOverObjectsReachable
|
||||
UNIMPLEMENTED, // IterateOverReachableObjects
|
||||
UNIMPLEMENTED, // IterateOverHeap
|
||||
UNIMPLEMENTED, // IterateOverInstanceOfClass
|
||||
RESERVED, // reserved113
|
||||
UNIMPLEMENTED, // GetObjectsWithTags
|
||||
RESERVED, // reserved115
|
||||
RESERVED, // reserved116
|
||||
RESERVED, // reserved117
|
||||
RESERVED, // reserved118
|
||||
RESERVED, // reserved119
|
||||
UNIMPLEMENTED, // SetJNIFunctionTable
|
||||
UNIMPLEMENTED, // GetJNIFunctionTable
|
||||
UNIMPLEMENTED, // SetEventCallbacks
|
||||
UNIMPLEMENTED, // GenerateEvents
|
||||
UNIMPLEMENTED, // GetExtensionFunctions
|
||||
UNIMPLEMENTED, // GetExtensionEvents
|
||||
UNIMPLEMENTED, // SetExtensionEventCallback
|
||||
UNIMPLEMENTED, // DisposeEnvironment
|
||||
UNIMPLEMENTED, // GetErrorName
|
||||
UNIMPLEMENTED, // GetJLocationFormat
|
||||
UNIMPLEMENTED, // GetSystemProperties
|
||||
UNIMPLEMENTED, // GetSystemProperty
|
||||
UNIMPLEMENTED, // SetSystemProperty
|
||||
UNIMPLEMENTED, // GetPhase
|
||||
UNIMPLEMENTED, // GetCurrentThreadCpuTimerInfo
|
||||
UNIMPLEMENTED, // GetCurrentThreadCpuTime
|
||||
UNIMPLEMENTED, // GetThreadCpuTimerInfo
|
||||
UNIMPLEMENTED, // GetThreadCpuTime
|
||||
UNIMPLEMENTED, // GetTimerInfo
|
||||
UNIMPLEMENTED, // GetTime
|
||||
UNIMPLEMENTED, // GetPotentialCapabilities
|
||||
RESERVED, // reserved141
|
||||
UNIMPLEMENTED, // AddCapabilities
|
||||
UNIMPLEMENTED, // RelinquishCapabilities
|
||||
UNIMPLEMENTED, // GetAvailableProcessors
|
||||
RESERVED, // reserved145
|
||||
RESERVED, // reserved146
|
||||
UNIMPLEMENTED, // GetEnvironmentLocalStorage
|
||||
UNIMPLEMENTED, // SetEnvironmentLocalStorage
|
||||
UNIMPLEMENTED, // AddToBootstrapClassLoaderSearch
|
||||
UNIMPLEMENTED, // SetVerboseFlag
|
||||
RESERVED, // reserved151
|
||||
RESERVED, // reserved152
|
||||
RESERVED, // reserved153
|
||||
UNIMPLEMENTED // GetObjectSize
|
||||
};
|
||||
|
||||
_Jv_JVMTIEnv *
|
||||
_Jv_GetJVMTIEnv (void)
|
||||
{
|
||||
_Jv_JVMTIEnv *env
|
||||
= (_Jv_JVMTIEnv *) _Jv_MallocUnchecked (sizeof (_Jv_JVMTIEnv));
|
||||
env->p = &_Jv_JVMTI_Interface;
|
||||
return env;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user