diff options
author | David Daney <ddaney@avtrex.com> | 2007-07-31 16:17:21 +0000 |
---|---|---|
committer | David Daney <daney@gcc.gnu.org> | 2007-07-31 16:17:21 +0000 |
commit | 86acf60c5b442da37c863d0ac3c4e00f12e12d85 (patch) | |
tree | 6dc577fa9ea387e1b09b0eeec8e6facca682d8c6 /libjava/prims.cc | |
parent | 68ae229af3fb05bb303d5f1386baef1529219858 (diff) | |
download | gcc-86acf60c5b442da37c863d0ac3c4e00f12e12d85.zip gcc-86acf60c5b442da37c863d0ac3c4e00f12e12d85.tar.gz gcc-86acf60c5b442da37c863d0ac3c4e00f12e12d85.tar.bz2 |
configure.ac (INTERPRETER): New AM_CONDITIONAL.
* configure.ac (INTERPRETER): New AM_CONDITIONAL.
* scripts/makemake.tcl (package_map): Mark jdwp and jvmti packages
as being for interpreter only. Place interpreter related files in
'if INTERPRETER' block.
(interpreter_package_files): New list.
(interpreter_header_vars): Ditto.
(emit_package_rule_to_list): Renamed from emit_package_rule with
new target list parameter.
(emit_package_rule): Rewritten to call emit_package_rule_to_list.
(emit_interpreter_rule): New function.
(emit_source_var): Place interpreter related files in
interpreter_header_vars.
* Makefile.am (ACLOCAL_AMFLAGS): Add -I libltdl.
(libgcj_interpret_source_files): New variable.
(libgcj_la_SOURCES): Move jvmti.cc and interpret.cc to
libgcj_interpret_source_files and include
libgcj_interpret_source_files.
(nat_jdwp_source_files): New variable.
(nat_jvmti_source_files): Ditto.
(nat_source_files): Move jdwp and jvmti related files to
nat_jdwp_source_files and nat_jvmti_source_files and include
nat_jdwp_source_files and nat_jvmti_source_files.
* Makefile.in: Regenerate.
* include/Makefile.in: Ditto.
* testsuite/Makefile.in: Ditto.
* gcj/Makefile.in: Ditto.
* sources.am: Ditto.
* configure: Ditto.
* include/config.h.in: Ditto.
* interpret.cc: Remove #ifdef INTERPRETER block.
* stacktrace.cc (UnwindTraceFn): Do not handle proxy frames if
interpreter disabled.
* include/java-interp.h (_Jv_FrameType): Move outside of
#ifdef INTERPRETER block.
* include/execution.h (_Jv_IndirectCompiledEngine::do_get_closure_list,
_Jv_InterpreterEngine, _Jv_soleInterpreterEngine): Place in
#ifdef INTERPRETER block.
* jni.cc (jvmti.h, jvmti-int.h): Only include if INTERPRETER is
defined.
(_Jv_JNI_PopSystemFrame, _Jv_JNI_GetEnv): Only do jvmti processing
if INTERPRETER is defined.
* prims.cc (jvmti.h, jvmti-int.h, Jdwp.h, VMVirtualMachine.h): Only
include if INTERPRETER is defined.
(defaultJdwpOptions, jdwpOptions, jvmti_agent_onload_func,
jvmti_agent_onunload_func, jvmti_agentonload, jvmti_agentonunload,
jvmti_agent_opts, load_jvmti_agent): Only define if INTERPRETER is
defined.
(parse_x_arg): Only process 'runjdwp:' if INTERPRETER is defined.
(parse_init_args): Only process jvmti related options if
INTERPRETER is defined.
(_Jv_CreateJavaVM): Only call _Jv_JVMTI_Init if INTERPRETER is
defined.
(_Jv_RunMain): Only do jvmti and jdwp processing if INTERPRETER is
defined.
* link.cc (jvmti.h, jvmti-int.h): Only include if INTERPRETER is
defined.
(_Jv_ThrowNoClassDefFoundError, _Jv_Linker::create_error_method):
Define if if INTERPRETER is not defined.
(_Jv_Linker::wait_for_state): Only do jvmti proccessing if
INTERPRETER is defined.
* boehm.cc (closure_list_pointer, finalize_closure_list,
_Jv_ClosureListFinalizer): Only define if INTERPRETER is
defined.
* java/lang/natThread.cc (jvmti.h, jvmti-int.h): Only include if
INTERPRETER is defined.
(finish_, _Jv_NotifyThreadStart): Only do jvmti proccessing if
INTERPRETER is defined.
* java/lang/Class.h (_Jv_InterpreterEngine): Move declaration
and friend declaration inside #ifdef INTERPRETER block.
* java/lang/natClass.cc (_Jv_ClosureList::releaseClosures,
_Jv_ClosureList::registerClosure, _Jv_GetInterpClassSourceFile):
Only define if INTERPRETER is defined.
* java/lang/reflect/natVMProxy.cc (UnsupportedOperationException.h):
Include.
(generateProxyClass): Throw UnsupportedOperationException unless
INTERPRETER is defined.
From-SVN: r127097
Diffstat (limited to 'libjava/prims.cc')
-rw-r--r-- | libjava/prims.cc | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/libjava/prims.cc b/libjava/prims.cc index 5d3a260..d94cd92 100644 --- a/libjava/prims.cc +++ b/libjava/prims.cc @@ -32,8 +32,10 @@ details. */ #include <java/lang/ThreadGroup.h> #endif +#ifdef INTERPRETER #include <jvmti.h> #include "jvmti-int.h" +#endif #ifndef DISABLE_GETENV_PROPERTIES #include <ctype.h> @@ -67,8 +69,12 @@ details. */ #include <gnu/gcj/runtime/ExtensionClassLoader.h> #include <gnu/gcj/runtime/FinalizerThread.h> #include <execution.h> + +#ifdef INTERPRETER #include <gnu/classpath/jdwp/Jdwp.h> #include <gnu/classpath/jdwp/VMVirtualMachine.h> +#endif // INTERPRETER + #include <gnu/java/lang/MainThread.h> #ifdef USE_LTDL @@ -105,6 +111,7 @@ int _Jv_argc; // Debugging options static bool remoteDebug = false; +#ifdef INTERPRETER static char defaultJdwpOptions[] = ""; static char *jdwpOptions = defaultJdwpOptions; @@ -117,6 +124,7 @@ typedef jint jvmti_agent_onunload_func (JavaVM *vm); static jvmti_agent_onload_func *jvmti_agentonload = NULL; static jvmti_agent_onunload_func *jvmti_agentonunload = NULL; static char *jvmti_agent_opts; +#endif // INTERPRETER // Argument support. int @@ -1173,6 +1181,7 @@ parse_x_arg (char* option_string) { remoteDebug = true; } +#ifdef INTERPRETER else if (! strncmp (option_string, "runjdwp:", 8)) { if (strlen (option_string) > 8) @@ -1184,6 +1193,7 @@ parse_x_arg (char* option_string) return -1; } } +#endif // INTERPRETER else if (! strncmp (option_string, "bootclasspath:", 14)) { // FIXME: add a parse_bootclasspath_arg function @@ -1372,6 +1382,7 @@ parse_verbose_args (char* option_string, return 0; } +#ifdef INTERPRETER // This function loads the agent functions for JVMTI from the library indicated // by name. It returns a negative value on failure, the value of which // indicates where ltdl failed, it also prints an error message. @@ -1427,6 +1438,7 @@ load_jvmti_agent (const char *name) // If LTDL cannot be used, return an error code indicating this. return -99; } +#endif // INTERPRETER static jint parse_init_args (JvVMInitArgs* vm_args) @@ -1481,6 +1493,7 @@ parse_init_args (JvVMInitArgs* vm_args) continue; } +#ifdef INTERPRETER else if (! strncmp (option_string, "-agentlib", sizeof ("-agentlib") - 1)) { char *strPtr; @@ -1575,6 +1588,7 @@ parse_init_args (JvVMInitArgs* vm_args) JVMTI::enabled = true; continue; } +#endif // INTERPRETER else { int r = -1; @@ -1666,7 +1680,10 @@ _Jv_CreateJavaVM (JvVMInitArgs* vm_args) _Jv_platform_initialize (); _Jv_JNI_Init (); + +#ifdef INTERPRETER _Jv_JVMTI_Init (); +#endif _Jv_GCInitializeFinalizers (&::gnu::gcj::runtime::FinalizerThread::finalizerReady); @@ -1734,7 +1751,8 @@ _Jv_RunMain (JvVMInitArgs *vm_args, jclass klass, const char *name, int argc, main_thread = new MainThread (JvNewStringUTF (name), arg_vec, is_jar); _Jv_AttachCurrentThread (main_thread); - + +#ifdef INTERPRETER // Start JVMTI if an agent function has been found. if (jvmti_agentonload) (*jvmti_agentonload) (_Jv_GetJavaVM (), jvmti_agent_opts, NULL); @@ -1755,6 +1773,7 @@ _Jv_RunMain (JvVMInitArgs *vm_args, jclass klass, const char *name, int argc, // Send VMInit if (JVMTI_REQUESTED_EVENT (VMInit)) _Jv_JVMTI_PostEvent (JVMTI_EVENT_VM_INIT, main_thread); +#endif // INTERPRETER } catch (java::lang::Throwable *t) { @@ -1769,6 +1788,7 @@ _Jv_RunMain (JvVMInitArgs *vm_args, jclass klass, const char *name, int argc, _Jv_ThreadRun (main_thread); +#ifdef INTERPRETER // Send VMDeath if (JVMTI_REQUESTED_EVENT (VMDeath)) { @@ -1776,10 +1796,11 @@ _Jv_RunMain (JvVMInitArgs *vm_args, jclass klass, const char *name, int argc, JNIEnv *jni_env = _Jv_GetCurrentJNIEnv (); _Jv_JVMTI_PostEvent (JVMTI_EVENT_VM_DEATH, thread, jni_env); } - - // Run JVMTI AgentOnUnload if it exists and an agent is loaded. + + // Run JVMTI AgentOnUnload if it exists and an agent is loaded. if (jvmti_agentonunload) (*jvmti_agentonunload) (_Jv_GetJavaVM ()); +#endif // INTERPRETER // If we got here then something went wrong, as MainThread is not // supposed to terminate. |