> The patch is slightly broken, core_cg_ops.h in interpreter.c versus
> core_ops_cg.h everywhere else.

I tried to do a global change to make it use core_ops_cg.h, following
prederef's example. I must have missed this one. (Still runs, just gives a
warning.)

> It does take a while to build the computed goto ops file. I still have
to test
> it myself.

Yeah. It takes quite a long time to compile core_ops_cg.c. I think because
of this, we should make comp-goto be optional, so as not to force it on
all gcc users. I don't know how to do this, however.

> I can't tell what has actually been changed in pbc2c.pl, due to the large
> amount of indentation fixup included in the patch. Can you say what you changes
> there ?

My methodology in creating this patch was to first apply Daniel's patch,
and then get it working. His patch had significant changes to an older
version of pbc2c.pl, which I tried to apply to the newest version. I then
proceeded to try and integrate them back into the current version of the
code. I guess it simplified enough that the new file was completely
identical to the original, sans whitespace. So I don't believe anything
has changed.

> The existing pbc2c implementation worked without computed goto is this still
> the case ?  The CGoto.pm OpTrans is currently being used by the bytecode to C
> compiler.  The existing CGoto.pm should be cloned with a more appropriate name
> before it gets patched to work with a computed goto core.

Per the previous paragraph, I believe it should still work fine. I'm not
familiar with the existing bytecode to C compiler, and didn't know it used
CGoto.pm. I don't see *why* it does, since C.pm, CPrederef.pm, and
CGoto.pm seem to me like they should be used for the various cores. I'm
not sure how I use this compiler, but I think I've made a decent amount of
changes to CGoto.pm such that it either won't work, or will suddenly have
all it's problems fixed. Can anyone tell me how I'm supposed to use
pbc2c.pl?

Problems with my patch:
+ includes a commenting-out of the keyed function. That probably should
not be in this computed-goto patch.
+ no changes to pbc2c.pl should be required. Those changes should be made
into a seperate 'indenting' patch.
+ misnamed the #include'd file in runops_cores.c

I'll wait on the issue of pbc2c.pl before I submit a revised patch.

Thanks for looking into this,
Mike Lambert

Reply via email to