Branch: Tag:


2014-05-21 22:15:31 by Per Hedbor <>

Some more RAM + binary size optimizations.

o type_stack_mark is no longer inline, saves ~10Kb code size

o The type_stack and pike_type_mark_stack are now allocated on demand
when possible (using mmap, the pages are allocated when accessed at
least on macosx and linux)

This saves about 1Mb of RSS in a freshly started pike.

49: Inside #if defined(DECLARE)
     #ifdef DECLARE   #define IMEMBER(X,Y,Z) Z, - #define STACKMEMBER(X,Y,Z) Z, + #define STACKMEMBER(X,Y,Z) 0,   #define ZMEMBER(X,Y,Z) Z,   #define SNAME(X,Y) \    extern struct X PIKE_CONCAT(Y,_base); \