link.cc (ensure_class_linked): Removed #ifdef.
* 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
This commit is contained in:
parent
4c7e547129
commit
f37a936b56
@ -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
|
||||
|
@ -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 ();
|
||||
|
@ -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__ */
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user