• Shu-yu Guo's avatar
    [sandbox] Make external ptr table usable under pointer compression · 2679a36e
    Shu-yu Guo authored
    This CL moves the external pointer table out of V8_ENABLE_SANDBOX and
    into V8_COMPRESS_POINTERS. The external pointer table is also useful
    even when not sandboxing external pointers to ease alignment
    requirements under pointer compression.
    
    It is onerous for the allocator to support non-tagged-size alignment.
    Under pointer compression, tagged is 4 bytes while system pointers are
    8 bytes. Because external pointer table indices are 4-bytes, fields that
    require natural alignment (e.g. the state field in JSAtomicsMutex) when
    the system pointer size is 8-bytes can use an indirection via the
    pointer table to ease the alignment restriction back to 4-bytes under
    pointer compression.
    
    Bug: v8:10391
    Change-Id: Iac1200e40c987128cd6a227cd279ba4dac0e5c56
    Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3783076Reviewed-by: 's avatarSamuel Groß <saelo@chromium.org>
    Commit-Queue: Shu-yu Guo <syg@chromium.org>
    Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#81977}
    2679a36e
Name
Last commit
Last update
..
cppgc Loading commit data...
libplatform Loading commit data...
APIDesign.md Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
js_protocol-1.2.json Loading commit data...
js_protocol-1.3.json Loading commit data...
js_protocol.pdl Loading commit data...
v8-array-buffer.h Loading commit data...
v8-callbacks.h Loading commit data...
v8-container.h Loading commit data...
v8-context.h Loading commit data...
v8-cppgc.h Loading commit data...
v8-data.h Loading commit data...
v8-date.h Loading commit data...
v8-debug.h Loading commit data...
v8-embedder-heap.h Loading commit data...
v8-embedder-state-scope.h Loading commit data...
v8-exception.h Loading commit data...
v8-extension.h Loading commit data...
v8-external.h Loading commit data...
v8-fast-api-calls.h Loading commit data...
v8-forward.h Loading commit data...
v8-function-callback.h Loading commit data...
v8-function.h Loading commit data...
v8-initialization.h Loading commit data...
v8-inspector-protocol.h Loading commit data...
v8-inspector.h Loading commit data...
v8-internal.h Loading commit data...
v8-isolate.h Loading commit data...
v8-json.h Loading commit data...
v8-local-handle.h Loading commit data...
v8-locker.h Loading commit data...
v8-maybe.h Loading commit data...
v8-memory-span.h Loading commit data...
v8-message.h Loading commit data...
v8-metrics.h Loading commit data...
v8-microtask-queue.h Loading commit data...
v8-microtask.h Loading commit data...
v8-object.h Loading commit data...
v8-persistent-handle.h Loading commit data...
v8-platform.h Loading commit data...
v8-primitive-object.h Loading commit data...
v8-primitive.h Loading commit data...
v8-profiler.h Loading commit data...
v8-promise.h Loading commit data...
v8-proxy.h Loading commit data...
v8-regexp.h Loading commit data...
v8-script.h Loading commit data...
v8-snapshot.h Loading commit data...
v8-statistics.h Loading commit data...
v8-template.h Loading commit data...
v8-traced-handle.h Loading commit data...
v8-typed-array.h Loading commit data...
v8-unwinder-state.h Loading commit data...
v8-unwinder.h Loading commit data...
v8-util.h Loading commit data...
v8-value-serializer-version.h Loading commit data...
v8-value-serializer.h Loading commit data...
v8-value.h Loading commit data...
v8-version-string.h Loading commit data...
v8-version.h Loading commit data...
v8-wasm-trap-handler-posix.h Loading commit data...
v8-wasm-trap-handler-win.h Loading commit data...
v8-wasm.h Loading commit data...
v8-weak-callback-info.h Loading commit data...
v8.h Loading commit data...
v8config.h Loading commit data...