[utils] Improve BitVector performance
Avoid most of the {is_inline()} checks by having a {data_begin_} pointer which either points at the inline storage or at the zone-allocated memory. This replaces a dynamic branch by a memory indirection, which is beneficial for big (non-inline) BitVectors. For small BitVectors we will have to see what the bots say; the hypothesis is that a memory load is still faster than a dynamic branch. Apart from better performance, this change allows for simpler code in many places, including the iterator implementation. R=jkummerow@chromium.org Bug: v8:13063 Change-Id: I1e28279d1a438598e0b8403a6a4078c2cd2a4c48 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3776685Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#81902}
Showing
This diff is collapsed.
Please
register
or
sign in
to comment