mirror of git://gcc.gnu.org/git/gcc.git
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>
|
2005-03-16 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
* gnu/java/lang/MainThread.java (run): Load main class using
|
* gnu/java/lang/MainThread.java (run): Load main class using
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// java-interp.h - Header file for the bytecode interpreter. -*- c++ -*-
|
// 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.
|
This file is part of libgcj.
|
||||||
|
|
||||||
|
|
@ -32,12 +32,6 @@ extern "C" {
|
||||||
#include <ffi.h>
|
#include <ffi.h>
|
||||||
}
|
}
|
||||||
|
|
||||||
extern inline jboolean
|
|
||||||
_Jv_IsInterpretedClass (jclass c)
|
|
||||||
{
|
|
||||||
return (c->accflags & java::lang::reflect::Modifier::INTERPRETED) != 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct _Jv_ResolvedMethod;
|
struct _Jv_ResolvedMethod;
|
||||||
|
|
||||||
void _Jv_InitInterpreter ();
|
void _Jv_InitInterpreter ();
|
||||||
|
|
|
||||||
|
|
@ -572,4 +572,13 @@ _Jv_CheckABIVersion (unsigned long value)
|
||||||
|| value == (GCJ_VERSION + GCJ_BINARYCOMPAT_ADDITION));
|
|| 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__ */
|
#endif /* __JAVA_JVM_H__ */
|
||||||
|
|
|
||||||
|
|
@ -233,8 +233,9 @@ jboolean _Jv_CheckAccess (jclass self_klass, jclass other_klass,
|
||||||
jint flags);
|
jint flags);
|
||||||
jclass _Jv_GetArrayClass (jclass klass, java::lang::ClassLoader *loader);
|
jclass _Jv_GetArrayClass (jclass klass, java::lang::ClassLoader *loader);
|
||||||
|
|
||||||
#ifdef INTERPRETER
|
|
||||||
jboolean _Jv_IsInterpretedClass (jclass);
|
jboolean _Jv_IsInterpretedClass (jclass);
|
||||||
|
|
||||||
|
#ifdef INTERPRETER
|
||||||
void _Jv_InitField (jobject, jclass, int);
|
void _Jv_InitField (jobject, jclass, int);
|
||||||
|
|
||||||
class _Jv_ClassReader;
|
class _Jv_ClassReader;
|
||||||
|
|
@ -465,8 +466,9 @@ private:
|
||||||
friend jclass (::_Jv_GetArrayClass) (jclass klass,
|
friend jclass (::_Jv_GetArrayClass) (jclass klass,
|
||||||
java::lang::ClassLoader *loader);
|
java::lang::ClassLoader *loader);
|
||||||
|
|
||||||
#ifdef INTERPRETER
|
|
||||||
friend jboolean (::_Jv_IsInterpretedClass) (jclass);
|
friend jboolean (::_Jv_IsInterpretedClass) (jclass);
|
||||||
|
|
||||||
|
#ifdef INTERPRETER
|
||||||
friend void ::_Jv_InitField (jobject, jclass, int);
|
friend void ::_Jv_InitField (jobject, jclass, int);
|
||||||
|
|
||||||
friend class ::_Jv_ClassReader;
|
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
|
// a reference to a class we can't access. This can validly
|
||||||
// occur in an obscure case involving the InnerClasses
|
// occur in an obscure case involving the InnerClasses
|
||||||
// attribute.
|
// attribute.
|
||||||
#ifdef INTERPRETER
|
|
||||||
if (! _Jv_IsInterpretedClass (klass))
|
if (! _Jv_IsInterpretedClass (klass))
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
// Resolve class constants first, since other constant pool
|
// Resolve class constants first, since other constant pool
|
||||||
// entries may rely on these.
|
// 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.
|
// We use a somewhat bogus test for the ABI here.
|
||||||
char *abi;
|
char *abi;
|
||||||
#ifdef INTERPRETER
|
|
||||||
if (_Jv_IsInterpretedClass (klass))
|
if (_Jv_IsInterpretedClass (klass))
|
||||||
#else
|
|
||||||
if (false)
|
|
||||||
#endif
|
|
||||||
abi = "bytecode";
|
abi = "bytecode";
|
||||||
else if (klass->state == JV_STATE_PRELOADING)
|
else if (klass->state == JV_STATE_PRELOADING)
|
||||||
abi = "BC-compiled";
|
abi = "BC-compiled";
|
||||||
|
|
@ -1693,10 +1687,7 @@ _Jv_Linker::wait_for_state (jclass klass, int state)
|
||||||
if (gcj::verbose_class_flag
|
if (gcj::verbose_class_flag
|
||||||
&& (klass->state == JV_STATE_COMPILED
|
&& (klass->state == JV_STATE_COMPILED
|
||||||
|| klass->state == JV_STATE_PRELOADING)
|
|| klass->state == JV_STATE_PRELOADING)
|
||||||
#ifdef INTERPRETER
|
&& ! _Jv_IsInterpretedClass (klass))
|
||||||
&& ! _Jv_IsInterpretedClass (klass)
|
|
||||||
#endif
|
|
||||||
)
|
|
||||||
print_class_loaded (klass);
|
print_class_loaded (klass);
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue