[compiler] Optimize TranslationArray building and representation
Several small optimisations for TranslationArray: a) Store opcodes and register codes as unsigned values (no need to shift in the sign bit when encoding/decoding). Note that skips over register codes will decode them as if they were signed -- this is ok since we don't use the skipped value. b) Use the static knowledge that opcodes and register codes need 7 bits to avoid the VLQEncode loop when building (still use a VLQDecode when decoding since decode time matters less). c) Add a special opcode for "optimized out", instead of using a literal, since this will be a common case. Change-Id: I9758e5b889ecc3f1a3fa4d840867f2a3d481e75f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3812040 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#82227}
Showing
Please
register
or
sign in
to comment