• Andreas Haas's avatar
    [wasm][anyref] Allow anyref values in WebAssembly.Global objects · 741f2312
    Andreas Haas authored
    This CL adds support for anyref in WebAssembly.Global objects. Note
    that the specification is not complete yet in this area.
    
    I did the following changes:
    - I renamed the `array_buffer` field of WasmGlobalObject to
      `untagged_buffer`
    - I added an additional field of type FixedArray, `tagged_buffer`.
      - In the constructor of WasmGlobalObject I allocate either the former
        or the latter, but not both.
    - In the WebAssembly.Global constructor I added special handling for
      the case where no initial value is provided. In that case I set the
      inital value to `null` and not to `undefined`.
    
    R=titzer@chromium.org
    
    Bug: v8:7581
    Change-Id: I7e4855d7e6c04a9bcdc7ebd450caca5819d060e2
    Reviewed-on: https://chromium-review.googlesource.com/c/1398226
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#58625}
    741f2312
module-compiler.cc 133 KB