• machenbach's avatar
    Revert of [wasm] Transferrable modules (patchset #13 id:280001 of... · e538b70e
    machenbach authored
    Revert of [wasm] Transferrable modules (patchset #13 id:280001 of https://codereview.chromium.org/2748473004/ )
    
    Reason for revert:
    Breaks layout tests:
    https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/14312
    
    See https://github.com/v8/v8/wiki/Blink-layout-tests
    
    Original issue's description:
    > [wasm] Transferrable modules
    >
    > We want to restrict structured cloning in Chrome to:
    > - postMessage senders and receivers that are co-located
    > in the same process
    > - indexedDB (just https).
    >
    > For context, on the Chrome side, we will achieve the postMessage part
    > by using a mechanism similar to transferrables: the
    > SerializedScriptValue will have a list of wasm modules, separate from
    > the serialized data stream; and this list won't be copied cross
    > process boundaries. The IDB part is achieved by explicitly opting in
    > reading/writing to the serialization stream. To block attack vectors
    > in IPC cases, the default for deserialization will be to expect data
    > in the wasm transfers list.
    >
    > This change is the V8 side necessary to enabling this design. We
    > introduce TransferrableModule, an opaque datatype exposed to the
    > embedder. Internally, TransferrableModules are just serialized data,
    > because we don't have a better mechanism, at the moment, for
    > de-contextualizing/re-contextualizing wasm modules (wrt Isolate and
    > Context).
    >
    > The chrome defaults will be implemented in the
    > serialization/deserialization delegates on that side. For the v8 side
    > of things, in the absence of a serialization delegate, the V8
    > serializer will write to serialization stream. In the absence of a
    > deserialization delegate, the deserializer won't work. This asymmetry
    > is intentional - it communicates to the embedder the need to make a
    > policy decision, otherwise wasm serialization/deserialization won't
    > work "out of the box".
    >
    > BUG=v8:6079
    >
    > Review-Url: https://codereview.chromium.org/2748473004
    > Cr-Commit-Position: refs/heads/master@{#43955}
    > Committed: https://chromium.googlesource.com/v8/v8/+/99743ad460ea5b9795ba9d70a074e75d7362a3d1
    
    TBR=jbroman@chromium.org,bradnelson@chromium.org,mtrofin@chromium.org
    # Skipping CQ checks because original CL landed less than 1 days ago.
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    BUG=v8:6079
    
    Review-Url: https://codereview.chromium.org/2762163002
    Cr-Commit-Position: refs/heads/master@{#43981}
    e538b70e
Name
Last commit
Last update
..
benchmarks Loading commit data...
cctest Loading commit data...
common Loading commit data...
debugger Loading commit data...
fuzzer Loading commit data...
inspector Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mozilla Loading commit data...
preparser Loading commit data...
promises-aplus Loading commit data...
simdjs Loading commit data...
test262 Loading commit data...
unittests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...
bot_default.gyp Loading commit data...
bot_default.isolate Loading commit data...
default.gyp Loading commit data...
default.isolate Loading commit data...
optimize_for_size.gyp Loading commit data...
optimize_for_size.isolate Loading commit data...
perf.gyp Loading commit data...
perf.isolate Loading commit data...