• Clemens Hammacher's avatar
    [wasm] [debug] Implement calling imported wasm functions · c39c6eba
    Clemens Hammacher authored
    The interpreter was not able to call imported wasm functions (hitting
    UNIMPLEMENTED). This CL fixes this by creating a "CWasmEntry", which is
    signature-specific. It has JS linkage and receives the wasm code object
    to call and a buffer containing all arguments (similar to the
    interpreter entry). It loads all arguments from the buffer and calls the
    given code object.
    The c-wasm-entry code objects are cached per instance, such that we
    only create them once per signature.
    
    These wasm entry stubs will also allow us to call back to compiled code
    from the interpreter, which we might want to do to reduce the slowdown
    of executing wasm for debugging.
    
    R=titzer@chromium.org
    
    Bug: chromium:735792
    Change-Id: I7fecec3a7bec62a9de40fff115b684759b12a28b
    Reviewed-on: https://chromium-review.googlesource.com/600308
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47195}
    c39c6eba
wasm-compiler.cc 166 KB