Sorry about the breakage.  Instead of reverting completely and using
volatile again, we should try to make RB_GC_GUARD more correct/robust.