OSDN Git Service
(root)
/
pf3gnuchains
/
gcc-fork.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Daily bump.
[pf3gnuchains/gcc-fork.git]
/
libjava
/
prims.cc
diff --git
a/libjava/prims.cc
b/libjava/prims.cc
index
5d3a260
..
652cf5b
100644
(file)
--- a/
libjava/prims.cc
+++ b/
libjava/prims.cc
@@
-32,11
+32,12
@@
details. */
#include <java/lang/ThreadGroup.h>
#endif
#include <java/lang/ThreadGroup.h>
#endif
+#ifdef INTERPRETER
#include <jvmti.h>
#include "jvmti-int.h"
#include <jvmti.h>
#include "jvmti-int.h"
+#endif
#ifndef DISABLE_GETENV_PROPERTIES
#ifndef DISABLE_GETENV_PROPERTIES
-#include <ctype.h>
#include <java-props.h>
#define PROCESS_GCJ_PROPERTIES process_gcj_properties()
#else
#include <java-props.h>
#define PROCESS_GCJ_PROPERTIES process_gcj_properties()
#else
@@
-67,8
+68,12
@@
details. */
#include <gnu/gcj/runtime/ExtensionClassLoader.h>
#include <gnu/gcj/runtime/FinalizerThread.h>
#include <execution.h>
#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>
#include <gnu/classpath/jdwp/Jdwp.h>
#include <gnu/classpath/jdwp/VMVirtualMachine.h>
+#endif // INTERPRETER
+
#include <gnu/java/lang/MainThread.h>
#ifdef USE_LTDL
#include <gnu/java/lang/MainThread.h>
#ifdef USE_LTDL
@@
-105,6
+110,7
@@
int _Jv_argc;
// Debugging options
static bool remoteDebug = false;
// Debugging options
static bool remoteDebug = false;
+#ifdef INTERPRETER
static char defaultJdwpOptions[] = "";
static char *jdwpOptions = defaultJdwpOptions;
static char defaultJdwpOptions[] = "";
static char *jdwpOptions = defaultJdwpOptions;
@@
-117,6
+123,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;
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
// Argument support.
int
@@
-452,7
+459,7
@@
_Jv_makeUtf8Const (jstring string)
\f
\f
-#ifdef DEBUG
+#ifdef
__GCJ_
DEBUG
void
_Jv_Abort (const char *function, const char *file, int line,
const char *message)
void
_Jv_Abort (const char *function, const char *file, int line,
const char *message)
@@
-461,7
+468,7
@@
void
_Jv_Abort (const char *, const char *, int, const char *message)
#endif
{
_Jv_Abort (const char *, const char *, int, const char *message)
#endif
{
-#ifdef DEBUG
+#ifdef
__GCJ_
DEBUG
fprintf (stderr,
"libgcj failure: %s\n in function %s, file %s, line %d\n",
message, function, file, line);
fprintf (stderr,
"libgcj failure: %s\n in function %s, file %s, line %d\n",
message, function, file, line);
@@
-977,6
+984,8
@@
static java::lang::Thread *main_thread;
#ifndef DISABLE_GETENV_PROPERTIES
#ifndef DISABLE_GETENV_PROPERTIES
+#define c_isspace(c) (memchr (" \t\n\r\v\f", c, 6) != NULL)
+
static char *
next_property_key (char *s, size_t *length)
{
static char *
next_property_key (char *s, size_t *length)
{
@@
-985,7
+994,7
@@
next_property_key (char *s, size_t *length)
JvAssert (s);
// Skip over whitespace
JvAssert (s);
// Skip over whitespace
- while (isspace (*s))
+ while (
c_
isspace (*s))
s++;
// If we've reached the end, return NULL. Also return NULL if for
s++;
// If we've reached the end, return NULL. Also return NULL if for
@@
-997,7
+1006,7
@@
next_property_key (char *s, size_t *length)
// Determine the length of the property key.
while (s[l] != 0
// Determine the length of the property key.
while (s[l] != 0
- && ! isspace (s[l])
+ && !
c_
isspace (s[l])
&& s[l] != ':'
&& s[l] != '=')
{
&& s[l] != ':'
&& s[l] != '=')
{
@@
-1019,19
+1028,19
@@
next_property_value (char *s, size_t *length)
JvAssert (s);
JvAssert (s);
- while (isspace (*s))
+ while (
c_
isspace (*s))
s++;
if (*s == ':'
|| *s == '=')
s++;
s++;
if (*s == ':'
|| *s == '=')
s++;
- while (isspace (*s))
+ while (
c_
isspace (*s))
s++;
// Determine the length of the property value.
while (s[l] != 0
s++;
// Determine the length of the property value.
while (s[l] != 0
- && ! isspace (s[l])
+ && !
c_
isspace (s[l])
&& s[l] != ':'
&& s[l] != '=')
{
&& s[l] != ':'
&& s[l] != '=')
{
@@
-1173,6
+1182,7
@@
parse_x_arg (char* option_string)
{
remoteDebug = true;
}
{
remoteDebug = true;
}
+#ifdef INTERPRETER
else if (! strncmp (option_string, "runjdwp:", 8))
{
if (strlen (option_string) > 8)
else if (! strncmp (option_string, "runjdwp:", 8))
{
if (strlen (option_string) > 8)
@@
-1184,6
+1194,7
@@
parse_x_arg (char* option_string)
return -1;
}
}
return -1;
}
}
+#endif // INTERPRETER
else if (! strncmp (option_string, "bootclasspath:", 14))
{
// FIXME: add a parse_bootclasspath_arg function
else if (! strncmp (option_string, "bootclasspath:", 14))
{
// FIXME: add a parse_bootclasspath_arg function
@@
-1372,6
+1383,7
@@
parse_verbose_args (char* option_string,
return 0;
}
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.
// 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
+1439,7
@@
load_jvmti_agent (const char *name)
// If LTDL cannot be used, return an error code indicating this.
return -99;
}
// If LTDL cannot be used, return an error code indicating this.
return -99;
}
+#endif // INTERPRETER
static jint
parse_init_args (JvVMInitArgs* vm_args)
static jint
parse_init_args (JvVMInitArgs* vm_args)
@@
-1481,6
+1494,7
@@
parse_init_args (JvVMInitArgs* vm_args)
continue;
}
continue;
}
+#ifdef INTERPRETER
else if (! strncmp (option_string, "-agentlib", sizeof ("-agentlib") - 1))
{
char *strPtr;
else if (! strncmp (option_string, "-agentlib", sizeof ("-agentlib") - 1))
{
char *strPtr;
@@
-1575,6
+1589,7
@@
parse_init_args (JvVMInitArgs* vm_args)
JVMTI::enabled = true;
continue;
}
JVMTI::enabled = true;
continue;
}
+#endif // INTERPRETER
else
{
int r = -1;
else
{
int r = -1;
@@
-1666,7
+1681,10
@@
_Jv_CreateJavaVM (JvVMInitArgs* vm_args)
_Jv_platform_initialize ();
_Jv_JNI_Init ();
_Jv_platform_initialize ();
_Jv_JNI_Init ();
+
+#ifdef INTERPRETER
_Jv_JVMTI_Init ();
_Jv_JVMTI_Init ();
+#endif
_Jv_GCInitializeFinalizers (&::gnu::gcj::runtime::FinalizerThread::finalizerReady);
_Jv_GCInitializeFinalizers (&::gnu::gcj::runtime::FinalizerThread::finalizerReady);
@@
-1734,7
+1752,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);
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);
// Start JVMTI if an agent function has been found.
if (jvmti_agentonload)
(*jvmti_agentonload) (_Jv_GetJavaVM (), jvmti_agent_opts, NULL);
@@
-1755,6
+1774,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);
// Send VMInit
if (JVMTI_REQUESTED_EVENT (VMInit))
_Jv_JVMTI_PostEvent (JVMTI_EVENT_VM_INIT, main_thread);
+#endif // INTERPRETER
}
catch (java::lang::Throwable *t)
{
}
catch (java::lang::Throwable *t)
{
@@
-1769,6
+1789,7
@@
_Jv_RunMain (JvVMInitArgs *vm_args, jclass klass, const char *name, int argc,
_Jv_ThreadRun (main_thread);
_Jv_ThreadRun (main_thread);
+#ifdef INTERPRETER
// Send VMDeath
if (JVMTI_REQUESTED_EVENT (VMDeath))
{
// Send VMDeath
if (JVMTI_REQUESTED_EVENT (VMDeath))
{
@@
-1776,10
+1797,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);
}
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 ());
if (jvmti_agentonunload)
(*jvmti_agentonunload) (_Jv_GetJavaVM ());
+#endif // INTERPRETER
// If we got here then something went wrong, as MainThread is not
// supposed to terminate.
// If we got here then something went wrong, as MainThread is not
// supposed to terminate.