Note on BC and type assertions

Andrew Haley aph@redhat.com
Sat Oct 16 09:49:00 GMT 2004


Bryce McKinlay writes:
 > 
 > This way, if and when we discovered additional corner cases that
 > required an assertion to be emitted, we can just add a new
 > assertion type code and add support for that code to the
 > runtime. Backwards compatibility (new code on older runtime) could
 > even be possible by having the runtime ignore assertion types that
 > it doesn't understand.

Well, it doesn't get you functional backwards compatibility to an
older runtime, which is what I'm trying to do.

 > This would, IMO, provide a simpler ABI between the compiler and
 > runtime, and probably also reduce executable size. The runtime is
 > free to implement the assertions any way it wants without being
 > constrained by what the compiler emitted.

I think that's true with either scheme: there's no reason why we can't
emit an assertion that contains a single call to a function, passing a
table.  That gives us the possibility to add more checking later, at
almost no cost.

Andrew.



More information about the Java mailing list