I have also optimized that if the argssize is 4 already, no subl
$0x0,%esp instruction is produced.
I hope you can include this one in GNU lightning this time :-)
Almost... only a question: is it possible to merge the prolog/
epilog's "subl/addl $12, %esp" with the argssize adjustment? And
is it really necessary since I'm pushing 4 values (ebp/ebx/esi/edi)?
It'd be great if you supplied a table with the ESP value before
prolog, after prolog, and after jit_prepare (this one for each
value of argssize % 4).
Also your patch is still producing a nop with argssize = 8, 12,
etc. (the docs say that 6 outgoing parameters are supported at
most, but on x86 doubles count as 2!). Finally, please change
nextpush to esp_aligned and the C++ comment to C style. (I will do
all these things myself if the answer to the above question is
negative.
Thanks, and please put up with the review...
Paolo
_______________________________________________
Lightning mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lightning