link.cc (ensure_class_linked): Removed #ifdef.
authorTom Tromey <tromey@redhat.com>
Thu, 17 Mar 2005 00:18:50 +0000 (00:18 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Thu, 17 Mar 2005 00:18:50 +0000 (00:18 +0000)
* link.cc (ensure_class_linked): Removed #ifdef.
(print_class_loaded): Likewise.
(wait_for_state): Likewise.
* java/lang/Class.h (_Jv_IsInterpretedClass): Always declare.
* include/jvm.h (_Jv_IsInterpretedClass): Moved from...
* include/java-interp.h: ... here.

From-SVN: r96589

libjava/ChangeLog
libjava/include/java-interp.h
libjava/include/jvm.h
libjava/java/lang/Class.h
libjava/link.cc

index 76bfd406d836619a80e455acc6920d8bf07dd732..7c9560fc8af7b9ebed1e66d08d7785dad8e5ae41 100644 (file)
@@ -1,3 +1,12 @@
+2005-03-16  Tom Tromey  <tromey@redhat.com>
+
+       * link.cc (ensure_class_linked): Removed #ifdef.
+       (print_class_loaded): Likewise.
+       (wait_for_state): Likewise.
+       * java/lang/Class.h (_Jv_IsInterpretedClass): Always declare.
+       * include/jvm.h (_Jv_IsInterpretedClass): Moved from...
+       * include/java-interp.h: ... here.
+
 2005-03-16  Tom Tromey  <tromey@redhat.com>
 
        * gnu/java/lang/MainThread.java (run): Load main class using
index 569286116ee5c4be1522f4e8990aee69301bd8f2..061520013d7097c29993cc8bb5f6382df38ff0db 100644 (file)
@@ -1,6 +1,6 @@
 // java-interp.h - Header file for the bytecode interpreter.  -*- c++ -*-
 
-/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004  Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -32,12 +32,6 @@ extern "C" {
 #include <ffi.h>
 }
 
-extern inline jboolean
-_Jv_IsInterpretedClass (jclass c)
-{
-  return (c->accflags & java::lang::reflect::Modifier::INTERPRETED) != 0;
-}
-
 struct _Jv_ResolvedMethod;
 
 void _Jv_InitInterpreter ();
index 4dfdb4d3767641a1f9e5d28733cde7cdfd043c83..62347880bb661fc67125b742be209ca68131ab50 100644 (file)
@@ -572,4 +572,13 @@ _Jv_CheckABIVersion (unsigned long value)
          || value == (GCJ_VERSION + GCJ_BINARYCOMPAT_ADDITION));
 }
 
+// It makes the source cleaner if we simply always define this
+// function.  If the interpreter is not built, it will never return
+// 'true'.
+extern inline jboolean
+_Jv_IsInterpretedClass (jclass c)
+{
+  return (c->accflags & java::lang::reflect::Modifier::INTERPRETED) != 0;
+}
+
 #endif /* __JAVA_JVM_H__ */
index 70e314e7cb35da1da3cb3897c62b91e0f4efd52b..a82089dbf9f4ff93c365f472a989b89ef1ecfcfb 100644 (file)
@@ -233,8 +233,9 @@ jboolean _Jv_CheckAccess (jclass self_klass, jclass other_klass,
                          jint flags);
 jclass _Jv_GetArrayClass (jclass klass, java::lang::ClassLoader *loader);
 
-#ifdef INTERPRETER
 jboolean _Jv_IsInterpretedClass (jclass);
+
+#ifdef INTERPRETER
 void _Jv_InitField (jobject, jclass, int);
 
 class _Jv_ClassReader;
@@ -465,8 +466,9 @@ private:
   friend jclass (::_Jv_GetArrayClass) (jclass klass,
                                       java::lang::ClassLoader *loader);
 
-#ifdef INTERPRETER
   friend jboolean (::_Jv_IsInterpretedClass) (jclass);
+
+#ifdef INTERPRETER
   friend void ::_Jv_InitField (jobject, jclass, int);
 
   friend class ::_Jv_ClassReader;      
index b916bf3653907a33898ee9582de4d8c2c2443951..909a7b68a0e972f52fed33c3421c183adaee04f8 100644 (file)
@@ -1395,9 +1395,7 @@ _Jv_Linker::ensure_class_linked (jclass klass)
       // a reference to a class we can't access.  This can validly
       // occur in an obscure case involving the InnerClasses
       // attribute.
-#ifdef INTERPRETER
       if (! _Jv_IsInterpretedClass (klass))
-#endif
        {
          // Resolve class constants first, since other constant pool
          // entries may rely on these.
@@ -1652,11 +1650,7 @@ _Jv_Linker::print_class_loaded (jclass klass)
 
   // We use a somewhat bogus test for the ABI here.
   char *abi;
-#ifdef INTERPRETER
   if (_Jv_IsInterpretedClass (klass))
-#else
-  if (false)
-#endif
     abi = "bytecode";
   else if (klass->state == JV_STATE_PRELOADING)
     abi = "BC-compiled";
@@ -1693,10 +1687,7 @@ _Jv_Linker::wait_for_state (jclass klass, int state)
   if (gcj::verbose_class_flag
       && (klass->state == JV_STATE_COMPILED
          || klass->state == JV_STATE_PRELOADING)
-#ifdef INTERPRETER
-      && ! _Jv_IsInterpretedClass (klass)
-#endif
-      )
+      && ! _Jv_IsInterpretedClass (klass))
     print_class_loaded (klass);
 
   try