Tracking bug for switching to instance-based visitors and getting rid of static visitors.
The upsides are
- Potential for further inlining since we do not have raw callbacks in a table anymore but rather rely on vtables and devirtualization.
- Easy to carry around state. This makes evaluating anything parallel/concurrent based on these visitors easier.
- No more static global tables: We currently have 4 tables for the scavenger (logging, marking x2), one for the incremental marker, and one for the full collector.
CLs landed so far (chronologically sorted):
07b1113252bd487aa20d6459e03d125edf6d5e47 [heap] Move first-level on Scavenger to instance-based visitor
b45f20665173fb89310f6b97c53d4650eecb7d7a [heap] MinorMC: Reuse NewSpaceVisitor for marking
c2217587705755f83a496f968c6efdbeafc78d82 [heap] Speed up instance visitor
bfad25a8fb619774ebf71e36fbbd9eb6e173158e [heap] Further improve instance-based visitor
bb786d61b4b784101842aa7d6c921eb364ca59a9 [heap] Further devirtualizing for instance-based visitor
3dffe2e3adda823c8eb951bd83a9f7a0da1a31cb [heap] MC: Switch to instance-based visitor
Comment 1 by bugdroid1@chromium.org
, Jun 30 2017