2007/5/22, Andreas Raab andreas.raab@gmx.de:
Philippe Marschall wrote:
Lovely idea. But.... Building bytecodes is just like using assembler; you can corrupt anything. Normally the compiler generates the correct, safe, code but if you're using some other tool that can be persuaded to pop the stack and save to x'th instance var ofan object that has only x-1, then you're in trouble because you've almost certainly stomped on the header of the next object in memory. Sure, we could make the basic routines check the bounds every time. Care to imagine the performance impact?
Java doesn't run exactly slow.
Java isn't doing any runtime checks either. So what is your point?
Java has a bytecode verifyer to prevent these problems with zero runtime cost (if you don't count class loading). Squeak could have the same.
Cheers Philippe
Cheers,
- Andreas