• Clemens Hammacher's avatar
    [wasm] Reuse LEB encoding logic in module builder · 4531c865
    Clemens Hammacher authored
    Instead of using the WASM_I32V_* macros (and other) from
    wasm-macro-gen.h, use the appropriate methods to encode LEB integers.
    This also saves some spaces for the wasm bytecode generated from asm.js.
    
    Specifically, this CL
    1) renames EmitVarInt to EmitI32V and EmitVarUint to EmitU32V (on
       WasmFunctionBuilder).
    2) introduces more methods on the WasmFunctionBuilder to emit i64v,
       u64v, f32, and f64 values.
    3) uses the ZoneBuffer instead of a plain ZoneVector<char> in the
       WasmFunctionBuilder to build the body of the function.
    4) introduces more helper functions on the ZoneBuffer to encode i64v,
       u64v, f32 and f64 values.
    
    R=ahaas@chromium.org
    
    Change-Id: Ifa59a6a67380ecf9a3823c382daf00855f5bc61e
    Reviewed-on: https://chromium-review.googlesource.com/486803Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#44842}
    4531c865
wasm-compile.cc 14.5 KB