• Clemens Backes's avatar
    [codegen] Avoid dynamic allocations for ExternalAssemblerBufferImpl · 956a81ef
    Clemens Backes authored
    Those dynamic allocations are responsible for 5-10% of execution time in
    wasm code publishing, which again is the biggest contributor to
    deserialization time. The allocations are used for patching the jump
    table. This CL avoids dynamic memory allocation by having some
    thread-local space that is re-used for allocations of
    ExternalAssemblerBufferImpl. Since those objects are small, memory usage
    is not a concern here.
    
    R=jkummerow@chromium.org
    
    Bug: v8:11164
    Cq-Include-Trybots: luci.v8.try:v8_linux64_asan_rel_ng
    Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel_ng
    Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng
    Change-Id: I44aad86fa821a1ccb59b539da861a346f62a9813
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2667859
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72585}
    956a81ef
assembler.cc 10.6 KB