OSDN Git Service

Daily bump.
[pf3gnuchains/gcc-fork.git] / libjava / prims.cc
index 5d3a260..652cf5b 100644 (file)
@@ -32,11 +32,12 @@ details.  */
 #include <java/lang/ThreadGroup.h>
 #endif
 
+#ifdef INTERPRETER
 #include <jvmti.h>
 #include "jvmti-int.h"
+#endif
 
 #ifndef DISABLE_GETENV_PROPERTIES
-#include <ctype.h>
 #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>
+
+#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 +110,7 @@ int _Jv_argc;
 
 // Debugging options
 static bool remoteDebug = false;
+#ifdef INTERPRETER
 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;
+#endif // INTERPRETER
 
 // Argument support.
 int
@@ -452,7 +459,7 @@ _Jv_makeUtf8Const (jstring string)
 
 \f
 
-#ifdef DEBUG
+#ifdef __GCJ_DEBUG
 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
 {
-#ifdef DEBUG
+#ifdef __GCJ_DEBUG
   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
 
+#define c_isspace(c) (memchr (" \t\n\r\v\f", c, 6) != NULL)
+
 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
-  while (isspace (*s))
+  while (c_isspace (*s))
     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
-        && ! isspace (s[l])
+        && ! c_isspace (s[l])
         && s[l] != ':'
         && s[l] != '=')
     {
@@ -1019,19 +1028,19 @@ next_property_value (char *s, size_t *length)
 
   JvAssert (s);
 
-  while (isspace (*s))
+  while (c_isspace (*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
-        && ! isspace (s[l])
+        && ! c_isspace (s[l])
         && s[l] != ':'
         && s[l] != '=')
     {
@@ -1173,6 +1182,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 +1194,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 +1383,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 +1439,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 +1494,7 @@ parse_init_args (JvVMInitArgs* vm_args)
 
          continue;
        }
+#ifdef INTERPRETER
       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;
        }
+#endif // INTERPRETER
       else
         {
          int r = -1;
@@ -1666,7 +1681,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 +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);
-      
+
+#ifdef INTERPRETER
       // 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);
+#endif // INTERPRETER
     }
   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);
 
+#ifdef INTERPRETER
   // 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);
     }
-    
-   // 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.