[oilpan] Split write barrier in fast and slow parts
Split write barrier into fast and slow parts: - The fast part only checks whether any Oilpan heap is currently marking. This check is only approximate as it does not consider the current ThreadState. In general, we expect this check to be enough to allow bailing out of the barrier. - The slow version checks whether the current ThreadState is marking and whether the values actually require a write barrier. This way we emit only a short instruction sequence for the fast cases and avoid poluting the regular instruction sequences. Verified locally on the microbenchmark blink_perf.parser query-selector-deep which showed a 42% regression. Scores (higher is better): - ToT: 8932 - Without barrier: 15188 - With this CL: 13352 Bug: chromium:844576, chromium:757440 Change-Id: Ie8ebbf95fef0ff59ad8f1a111dd5daecfabc4109 Reviewed-on: https://chromium-review.googlesource.com/1071272 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:Kentaro Hara <haraken@chromium.org> Reviewed-by:
Keishi Hattori <keishi@chromium.org> Cr-Commit-Position: refs/heads/master@{#561424}
Showing
Please register or sign in to comment