160 KBytes and still counting

leo on 2005-07-05T19:35:51

Well, 160 Kbytes are my diffs now against Parrot svn HEAD. And still no chance to check it in, without blocking $others, because too much still is failing.

Done:

  • r = foo(a, b) translates now to new call scheme opcodes, as well as .param and .returns() stuff. Just tossed 460 lines in imcc/pcc.c and added 20 new. Works fine.
  • Converted the NCI generation code to the new scheme too.
  • Running Parrot Subs from C code now also uses new conventions

Overall it looks like that calling PASM/PASM is by far simpler now, but PASM/C (NCI) and C/PASM (runops_fromc_*) interfaces use slightly more code lines. OTOH we get now strict type checking and conversions to and from PMCs, which wasn't in the old scheme. I can very well imagine that we don't want to call C code w/o argument verification anyway.


no chance to check it in?

duff on 2005-07-06T03:36:08

I find it puzzling that you'd not be able to check in your patches. Surely you can create a branch with your changes such that you can check in your work and others can help you fix the things that are breaking. Later you can merge the branch back into the trunk. Is this not the case?

Re:no chance to check it in?

leo on 2005-07-06T06:45:19

Yep, I considered checking in a branch, but as of yesterday it was too early to to commit the half done work.