> 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