This is rough idea, I'm not sure whether it is already done, or it is possible. After lowering to B3, we do not have access to JS heap. And all the cell pointers must be collected in lowering phase by `freeze`. So, the idea is that, while optimizing things in B3, we are safe to be stopped at arbitrary time for GC.
(In reply to Yusuke Suzuki from comment #0) > This is rough idea, I'm not sure whether it is already done, or it is > possible. > After lowering to B3, we do not have access to JS heap. And all the cell > pointers must be collected in lowering phase by `freeze`. > So, the idea is that, while optimizing things in B3, we are safe to be > stopped at arbitrary time for GC. This is already the case. We run all of this under a safe point