I've implemented a (rather hackish and incomplete) new opcode called C<hyper>. Usage looks like:
ar = new IntList ar = 1000000 hyper ar = 10
or hyper ar += 10
The atached tests fill an integer array with one Meg int constants and then increment each value 5 times.
Y'know... let's just go all the way with this, since we're going to have to.
We'll add a hyper version of all the vtable entries. Since this is going to bloat the hell out of the vtable, we'll do it by adding a VTABLE *hyper to the main vtable structure and hang it off there. We can work out a default version that unrolls the operations that pretty much everyone'll inherit so there won't have to be a huge number of slots reserved for every new class. The classes that care can then override the defaults and that's fine.
--
Dan
--------------------------------------"it's like this"------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk