2e357c4814
We introduce a wasm null object, separate from JS null. Its purpose is to support trapping null accesses for wasm objects. This will be achieved by allocating a large payload for it (larger than any wasm struct) and memory-protecting it (see linked CL). The two null objects get mapped to each other at the wasm-JS boundary. Since externref objects live on the JS side of the boundary, null-related instructions in wasm now need an additional type argument to handle the correct null object. Bug: v8:7748 Change-Id: I06da00fcd279cc5376e69ab7858e3782f5b5081e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4200639 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#85648} |
||
---|---|---|
.. | ||
cppgc | ||
libplatform | ||
APIDesign.md | ||
DEPS | ||
DIR_METADATA | ||
js_protocol-1.2.json | ||
js_protocol-1.3.json | ||
js_protocol.pdl | ||
OWNERS | ||
v8-array-buffer.h | ||
v8-callbacks.h | ||
v8-container.h | ||
v8-context.h | ||
v8-cppgc.h | ||
v8-data.h | ||
v8-date.h | ||
v8-debug.h | ||
v8-embedder-heap.h | ||
v8-embedder-state-scope.h | ||
v8-exception.h | ||
v8-extension.h | ||
v8-external.h | ||
v8-fast-api-calls.h | ||
v8-forward.h | ||
v8-function-callback.h | ||
v8-function.h | ||
v8-initialization.h | ||
v8-inspector-protocol.h | ||
v8-inspector.h | ||
v8-internal.h | ||
v8-isolate.h | ||
v8-json.h | ||
v8-local-handle.h | ||
v8-locker.h | ||
v8-maybe.h | ||
v8-memory-span.h | ||
v8-message.h | ||
v8-metrics.h | ||
v8-microtask-queue.h | ||
v8-microtask.h | ||
v8-object.h | ||
v8-persistent-handle.h | ||
v8-platform.h | ||
v8-primitive-object.h | ||
v8-primitive.h | ||
v8-profiler.h | ||
v8-promise.h | ||
v8-proxy.h | ||
v8-regexp.h | ||
v8-script.h | ||
v8-snapshot.h | ||
v8-statistics.h | ||
v8-template.h | ||
v8-traced-handle.h | ||
v8-typed-array.h | ||
v8-unwinder-state.h | ||
v8-unwinder.h | ||
v8-util.h | ||
v8-value-serializer-version.h | ||
v8-value-serializer.h | ||
v8-value.h | ||
v8-version-string.h | ||
v8-version.h | ||
v8-wasm-trap-handler-posix.h | ||
v8-wasm-trap-handler-win.h | ||
v8-wasm.h | ||
v8-weak-callback-info.h | ||
v8.h | ||
v8config.h |