I've just found a problem: If a program only has one reference through a function being called then F_RETURN in that function will free the program. Thus there might not be any "jmp *%eax" after the opcode call anymore. Ho hum.. :\
/ Martin Stjernholm, Roxen IS
Previous text:
2003-08-07 22:45: Subject: Machine code efficiency
Right now it seems to segfault instead. Note that there were no Nettle-related checkins at the time the plupps went from green to yellow.
Btw, machine code on SPARC still seems a bit shaky; constants don't work properly:
pelix:~/Pike/7.5/build% /pike/home/marcus/Pike/7.5/build/pike -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m/pike/home/marcus/Pike/7.5/build/master.pike -e 'String.trim_whites;' -:3:Index 'trim_whites' not present in module 'String'. Compilation failed. /pike/home/marcus/Pike/7.5/build/master.pike:296: master()->compile_string("#define NOT(X) !(X)\n#define CHAR(X) 'X'\nmixed r un(int argc, array(string) argv,mapping(string:string) env){String.trim_whi tes;;}",0,0) pelix:~/Pike/7.5/build%
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)