• Mircea Trofin's avatar
    [wasm] Data structures for JIT-ing wasm to native memory. · c71fd20c
    Mircea Trofin authored
    This CL introduces the structures for JIT-ing wasm on the native heap.
    They are described in detail at go/wasm-on-native-heap-stage-1
    
    Briefly:
    - WasmCodeManager manages memory for modules and offers an interior
    pointer lookup (i.e. PC -> WasmCode)
    - WasmCode represents code, including reloc info. It holds wasm
    specific data, like function index, and runtime information, like trap
    handler info.
    - NativeModule manages memory for one module.
    
    Tests cover the allocation and lookup aspects, following that current
    regression tests cover the JITed code. A separate CL will enable JITing
    using the new data structures.
    
    Bug: v8:6876
    Change-Id: I1731238409001fe97c97eafb7a12fd3922da6a42
    Reviewed-on: https://chromium-review.googlesource.com/767581
    Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49501}
    c71fd20c
assembler.cc 62.7 KB