Note on BC and type assertions

Bryce McKinlay mckinlay@redhat.com
Wed Oct 20 18:30:00 GMT 2004


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



More information about the Java mailing list