>In src/mapping.c:
>
>#ifdef PIKE_MAPPING_KEYPAIR_LOOP
>#error Broken code below!
>#define GC_RECURSE(M, MD, REC_KEYPAIR, TYPE, IND_TYPES, VAL_TYPES) do {
>
>Which apparently is compiled in under some circumstances, and avoided
>under other circumstances.

The #define PIKE_MAPPING_KEYPAIR_LOOP is enabled by the configure
option --with-keypair-loop, which is intended to change the mapping
loops from looping over the hashtable to looping over the allocated
keypairs. Unfortunately the feature isn't fully implemented yet with
respect to interaction with the gc, thus the error message above.

>What's the deal with that piece of code?

The theory is that looping over the keypairs should be more stable,
and somewhat faster (less memory accesses and reading memory
sequencially).

>-- 
>Sincerely,
>           Stephen R. van den Berg.
  • map... Stephen R. van den Berg
    • ... Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum
    • ... Henrik Grubbstr�m (Lysator) @ Pike (-) developers forum

Reply via email to