[wasm] Only make needed regions writable
On Windows, the overhead of {SetPermissions} (which maps to a {VirtualAlloc} call) heavily depends on the amount of memory on which permissions are switched. Hence this CL changes permission switching to only switch the code regions that are actually needed. This will increase the number of system calls, but reduce the total size of switched memory. On a Unity benchmark, this reduced the lazy compilation time on Windows from 13.7 seconds to 3.6 seconds (3.0 seconds without write protection). On Linux, there is no measurable effect, but permission switching generally seems to have way less overhead on Linux. R=jkummerow@chromium.org Bug: v8:11974 Change-Id: I46dd4ae9997587226b3d81166cf2e1128383ab34 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3077144 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#76163}
Showing
This diff is collapsed.
Please
register
or
sign in
to comment