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