-
Clemens Hammacher authored
Speed up LEB decoding by forcing the decoding loop to be unrolled. Even though the compiler was free to unroll the loop before, clang did not do so. We now manually unroll by using a template function which calls itself recursively, passing the byte index to be decoded next. For efficient execution, we still depend on the compiler to inline the recursive calls (which clang does). This optimization speeds up interpreted execution of the Jetstream benchmarks by 15 percent. Speedup on module decoding is negligible though. Drive-by: Change "unsigned" to "uint32_t". R=ahaas@chromium.org BUG=v8:5822 Change-Id: I06d4230f92bfb2a80cdc5029d965fc3bf84ca1cc Reviewed-on: https://chromium-review.googlesource.com/506188 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#45308}
79b075be