GC activation heuristic added.

This is useful because heap objects in an expression need to be
spilled to the stack (and marked with @llvm.gcroot) if GC could
be activated and their values possibly moved around before they are
used.