On Thu, Feb 14, 2002 at 08:22:49PM -0500, Dan Sugalski wrote:
> If you choose to accept it, is to dig out the computed goto and 
> switch runops cores from the archives, dust 'em off and get them up 
> to snuff with the current sources.
> 
> Takers, anone?

I spent about an hour on this last night and have something that works
for life.pasm, at least. However, in trying to benchmark it against
the regular code, I couldn't get vanilla ol' test_parrot to work with
life.pbc. Is it broken, or is it my local modifications?

I get a seg fault in string_copy -- the string register it's using is
NULL. All 'make test' tests pass, though.

Making a patch is a little difficult, because my local copy is
accumulating too many different modifications. Though I see that the
OpTrans patch made it in -- that helped a lot. But that means the
patch I sent to get rid of all the now-unnecessary (opcode_t *) casts
won't apply cleanly, because they were tangled together. So it would
be easiest for me to send another combo patch, this time the cast
removal mixed in with reviving pbc2c.pl. Is that ok with you, Dan?

Looks like the commits since last night have re-broken pbc2c.pl, so
it'll be a little while before I can generate a patch.

Oh, my version of the computed goto is a little different from the
original. I used another related gcc-ism to eliminate most uses of the
switch statement, and in fact could pretty easily eliminate it
altogether (though I think it would cost an array of void* the same
length as the opcodes.)

Reply via email to