This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Note on BC and type assertions


Tom Tromey wrote:

Tom> While browsing the verifier again, I noticed that there is a dynamic
Tom> constraint that we can't represent using our current type
Tom> assertions, namely:

Tom> 	    if (type_isarray (&t) || type_isinterface (&t) \
Tom> 		|| type_isabstract (&t))
Tom> 	      verify_fail ("type is array, interface, or abstract");

If we want to fully support the "gcj never fails" approach, then we
have to support cases like this. For instance, it is an error to use
invokestatic on a non-static method. This has to be reverified at
runtime.



For the BC-ABI this is already verified when linking the otable/atable. There is no need for a separate assertion entry.


Regards

Bryce


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]