Erik Huelsmann ehuels@gmail.com writes:
For a semi-outsider: When does compilation fail where interpretation would succeed?
In case of compiler bugs. It's relatively difficult to generate correct Java byte code: in the ticket #89 example: a statement left a value on the stack which wasn't going to be used ever after. The code would have run correctly in all cases, however, the byte code verifier found that another code path left fewer arguments on the stack before jumping to a common follow-up path. The excess value on the stack would have been cleared upon function-return.
The same code would be interpreted without problems.
I hope that answers your question. If not, don't hesitate to ask!
I think some kind of random code generator is / was part of ansi-tests. At least, P.F.Dietz wrote one. It was used to shake out compiler bugs in an early stage of SBCL.
Have you tried that?
-T.