Just a quick update:
keishi@ has finished shipping Oilpan's per-thread heap on all threads in Blink and it has been stabilized on ToT.
Benefits:
- Now GC performance is completely isolated per thread. Worker threads don't need to stop when the main thread allocates a lot of objects and triggers a GC.
- The per-thread heap massively simplified Oilpan's infrastructure. For example, we don't need to stop all threads when some thread wants to trigger a GC. Also Oilpan had a very complicated state transition model because it was possible that a thread gets involved in the next GC (triggered by another thread) before the thread finishes weak processing, eager sweeping etc of the previous GC. All the subtle logic is gone. I hope this will fix various undeterministic crash reports the Oilpan team couldn't reproduce locally.