On Sat, 3 Aug 2002, Nicholas Clark wrote: > I wasn't actually expecting you to apply that :-) > It was more a "where I am at now" informational patch. Sorry :)
> > I think that this patch is at good point to pause and take stock. I believe > it JITs just about every integer op (including some i386 isn't JITting yet) Great job! > OK, it doesn't JIT the logical xor op, but that one scares me, and I'm unsure > how useful it is. > > I've not done the floating point ops (or anything else) partly because I > don't have a good reference for the format of the floating point instructions. > [However, it's not that hard, as I have source code to both point emulators > supplied with ARM Linux, so I can see the decode code :-)] > But more because I'm not sure that it will give such a speed it. > > I feel I've demonstrated to myself that it will be possible to generate all > forms of parrot ops without undue problems. However, I've hardly used any > registers in my ops so far (at most 3, but I only actually needed 2) when > there are up to 12 at my disposal. I've no real idea which will turn out to > be the most useful in real parrot programs, and hence where the effort in > JITting will get most reward, so I think it best to wait now and see what > is needed most. > > My other thought is that with the current JIT architecture I'm loading > everything from RAM at the start of the ops (1 or 2 instructions), and save it > back at the end (1 instruction) with only 1 or 2 instructions need to actually > do the work. With 10 registers spare, and 60% of my instructions shifting data > around like some job creation scheme for out of work electrons, I think that > it might be best to wait and see what we (*) learn from JITs on other > platforms, then use that to design a third generation JIT that is capable of > mapping parrot registers onto hardware CPU registers. > > * Er, "we" is probably just Daniel as I confess I don't feel motivated to > attempt to learn other assembly language to write JITs for hardware I don't > own. Hey, all you Mac fans, where's the PPC JIT? <ducks> I'm working on it, as I'm working on the register allocator too. Daniel Grunblatt.