v8/include
Samuel Groß 1ea76c1397 Implement a fake virtual memory cage mechanism
On operating systems where reserving virtual address space is expensive,
notably Windows pre 8.1, it is not possible to create a proper virtual
memory cage. In order to still be able to reference caged objects
through offsets from the cage base on these systems, this CL introduces
a fake cage mechanism. When the fake cage is used, most of the virtual
memory for the cage is not actually reserved. Instead, the cage's page
allocator simply relies on hints to the OS to obtain pages inside the
cage. This does, however, not provide the same security benefits as a
real cage as unrelated allocations might end up inside the cage.

Bug: chromium:1218005
Change-Id: Ie5314be23966ed0042a017917b63595481b5e7e3
Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3217200
Commit-Queue: Samuel Groß <saelo@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77367}
2021-10-12 18:24:15 +00:00
..
cppgc cppgc: Provide alignment attribute to allocations functions 2021-10-12 18:16:26 +00:00
libplatform Step 1 (of 3-ish): Basic ETW Instrumentation in V8 2021-01-05 20:11:03 +00:00
APIDesign.md Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
DEPS cppgc: Implement process-global state accessors. 2021-02-17 22:37:24 +00:00
DIR_METADATA Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00
js_protocol-1.2.json Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
js_protocol-1.3.json Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
js_protocol.pdl [inspector] Add nonIndexedPropertiesOnly to Runtime.getProperties. 2021-08-18 07:34:19 +00:00
OWNERS Make autoroll account owner of auto-updated file 2021-08-24 15:05:13 +00:00
v8-array-buffer.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-callbacks.h [wasm] Load --wasm_dynamic_tiering from the context 2021-10-06 12:12:54 +00:00
v8-container.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-context.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-cppgc.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-data.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-date.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-debug.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-embedder-heap.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-exception.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-extension.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-external.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-fast-api-calls.h [fastcall] Enhance FastApiTypedArray with aligned data getter 2021-10-01 09:19:56 +00:00
v8-forward.h [include] Add TryCatch and Extension to v8-forward.h 2021-09-23 13:15:10 +00:00
v8-function-callback.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-function.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-initialization.h Expose the size of the virtual memory cage 2021-09-21 17:13:59 +00:00
v8-inspector-protocol.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-inspector.h [include] Remove v8-script.h include from v8-inspector.h 2021-09-07 12:58:30 +00:00
v8-internal.h Implement a fake virtual memory cage mechanism 2021-10-12 18:24:15 +00:00
v8-isolate.h [strings] Add --shared-string-table and support in d8 2021-10-08 22:40:28 +00:00
v8-json.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-local-handle.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-locker.h [api] Rename v8::Locker::IsActive to v8::Locker::WasEverUsed 2021-10-06 07:54:37 +00:00
v8-maybe.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-memory-span.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-message.h [iwyu] Reduce includes of <ostream> header 2021-09-21 09:28:18 +00:00
v8-metrics.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-microtask-queue.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-microtask.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-object.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-persistent-handle.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-platform.h [zone] Provide a way to configure allocator for zone backings 2021-09-23 12:45:52 +00:00
v8-primitive-object.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-primitive.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-profiler.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-promise.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-proxy.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-regexp.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-script.h [api] Deprecate Set/ResetToBookmark 2021-10-12 10:25:37 +00:00
v8-snapshot.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-statistics.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-template.h api: Expose initial_array_prototype to public 2021-10-01 16:39:47 +00:00
v8-traced-handle.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-typed-array.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-unwinder-state.h [LOONG64] Add LoongArch64 backend 2021-08-16 13:05:19 +00:00
v8-unwinder.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-util.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-value-serializer-version.h Expose the ValueSerializer data format version as a compile-time constant. 2017-04-27 15:14:41 +00:00
v8-value-serializer.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-value.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-version-string.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-version.h Changed version number to 9.7 2021-10-07 10:38:23 +00:00
v8-wasm-trap-handler-posix.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-wasm-trap-handler-win.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-wasm.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-weak-callback-info.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8config.h Implement a fake virtual memory cage mechanism 2021-10-12 18:24:15 +00:00