class.c (make_class_data): Always emit JV_STATE_PRELOADING for class' initial state.

gcc/java:
	* class.c (make_class_data): Always emit JV_STATE_PRELOADING for
	class' initial state.
libjava:
	* java/lang/Class.h (_Jv_IsBinaryCompatibilityABI): Declare as
	friend.
	* include/jvm.h (_Jv_IsBinaryCompatibilityABI): New function.
	* testsuite/libjava.lang/bclink.java: New file.
	* testsuite/libjava.lang/bclink.out: New file.
	* link.cc (print_class_loaded): Changed ABI test to look at
	various _syms fields.

From-SVN: r103225
This commit is contained in:
Tom Tromey 2005-08-17 20:44:10 +00:00 committed by Tom Tromey
parent 87bb8864f6
commit 97b51fd08e
8 changed files with 42 additions and 9 deletions

View file

@ -621,4 +621,13 @@ _Jv_IsInterpretedClass (jclass c)
return (c->accflags & java::lang::reflect::Modifier::INTERPRETED) != 0;
}
// Return true if the class was compiled with the BC ABI.
extern inline jboolean
_Jv_IsBinaryCompatibilityABI (jclass c)
{
// There isn't really a better test for the ABI type at this point,
// that will work once the class has been registered.
return c->otable_syms || c->atable_syms || c->itable_syms;
}
#endif /* __JAVA_JVM_H__ */