FIXED: Garbage collector not marking pushed `new' arguments for temporary code compiled on behalve of meta-calling control structures.  This can lead to crashes.  Fixed with help from Abramo and Roberto Bagnara.
FIXED: Garbage collector not marking pushed `new' arguments for temporary
code compiled on behalve of meta-calling control structures.  This can lead
to crashes.  Fixed with help from Abramo and Roberto Bagnara.

Note that this is typically not a problem because terms are passed as
special variables and the variable access ensures they get marked. The
counter example is meta-calls such as call((f(M), M:v(X))).  The current
compiler creates M:v(X) using normal B_FUNCTOR constructs and this pushed
`new' argument must be marked by GC.

jn7163/swipl-devel,jn7163/swipl-devel,jn7163/swipl-devel,mndrix/swipl-devel,edechter/swipl-devel,mndrix/swipl-devel,edechter/swipl-devel,koryonik/swipl-devel,mndrix/swipl-devel,koryonik/swipl-devel,koryonik/swipl-devel,edechter/swipl-devel,koryonik/swipl-devel,mndrix/swipl-devel,jn7163/swipl-devel,edechter/swipl-devel,koryonik/swipl-devel,jn7163/swipl-devel,edechter/swipl-devel,mndrix/swipl-devel