Joshua Gargus wrote:
It shouldn't be difficult to verify the "well-formedness" of compiled methods without the overhead of a complete recompilation. As with Mathieu's suggestion, this can be done once at load-time so that there is no performance penalty at run-time.
GNU Smalltalk has a very simple bytecode verifier. Of course it cannot handle stuff like this:
a := { #perform:withArguments:. nil }. a at: 2 put: a. self perform: #perform:withArguments: with: a
(or whatever it should be).
Paolo