v8/include
Samuel Groß 406d65d3bc [base] Add VirtualAddressSpace::AllocateGuardRegion
Previously, guard regions were created by allocating pages with
PROT_NONE and relying on an allocation hint. This could fail however,
for example on Fuchsia (where it would allocate a VMO to back the guard
region) and possibly on Windows (where a placeholder mapping was
replaced by a "real" mapping).

Introducing an explicit VirtualAddressSpace::AllocateGuardRegion routine
now makes this operation more efficient and effectively guarantees that
it cannot fail if used correctly: in a regular subspace, there is no
need to allocate anything when creating guard regions since the address
space reservation backing the subspace is guaranteed to be inaccessible
when no pages are allocated in it.

Bug: chromium:1218005
Change-Id: I6945f17616b6b8dad47241af96d4cb1f660e8858
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/+/3366237
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Samuel Groß <saelo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#78480}
2022-01-04 15:50:08 +00:00
..
cppgc cppgc: Persistent: Check thread usage on slow path 2021-12-07 14:32:47 +00:00
libplatform [api] Remove deprecated TraceObject::ArgValue::as_bool 2021-11-11 15:21:42 +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] Mark Debugger.CallFrame.url as deprecated. 2021-12-16 12:58:38 +00:00
OWNERS [owners] Adjust ownership for v8-debug.h. 2021-12-30 08:04:21 +00:00
v8-array-buffer.h V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
v8-callbacks.h [heap] trace heap layout before and after gc 2021-12-08 10:18:16 +00:00
v8-container.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-context.h V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
v8-cppgc.h cppgc: Advance deprecation arounds write barrier 2021-12-09 21:42:16 +00:00
v8-data.h [api] Introduce new HostImportModuleDynamicallyCallback 2021-11-05 14:35:43 +00:00
v8-date.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-debug.h [inspector] Introduce v8::StackFrame::GetLocation() API. 2021-12-30 06:21:21 +00:00
v8-embedder-heap.h heap: Mark EmbedderHeapTracer::GarbageCollectionForTesting as deprecated 2021-11-22 23:15:28 +00:00
v8-embedder-state-scope.h Fix destructor for EmbedderStateScope 2021-12-14 11:54:09 +00:00
v8-exception.h [api] Advance deprecation for deprecated apis <= v9.5 2021-10-26 13:04:31 +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 Reland^2 "[fastcall] Enable float support on arm64 simulator"" 2021-11-24 11:58:39 +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 [api] Deprecate v8::ScriptCompiler::CompileFunctionInContext 2021-10-27 07:19:51 +00:00
v8-initialization.h V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
v8-inspector-protocol.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-inspector.h [inspector] Remove unused V8StackTrace::buildInspectorObject(). 2021-11-24 07:33:54 +00:00
v8-internal.h heap: Migrate young GC cycle UMA metrics 2021-12-20 16:57:02 +00:00
v8-isolate.h cppgc: CppHeap no longer inherits from EmbedderHeapTracer api 2021-11-29 16:29:08 +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] Advance API deprecation for APIs last marked in v9.6 2021-11-15 10:47:23 +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 [api] Inline ScriptOrigin methods as declaration 2021-11-30 10:39:28 +00:00
v8-metrics.h heap: Migrate young GC cycle UMA metrics 2021-12-20 16:57:02 +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 V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
v8-persistent-handle.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-platform.h [base] Add VirtualAddressSpace::AllocateGuardRegion 2022-01-04 15:50:08 +00:00
v8-primitive-object.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-primitive.h V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
v8-profiler.h Reland "[profiler] Surface VM & Embedder State" 2021-12-07 19:00:07 +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] Change host-defined options to v8::Data 2021-11-09 14:00:13 +00:00
v8-snapshot.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-statistics.h [api][profiler] Surface CpuProfiler memory in HeapCodeStatistics 2021-11-04 11:01:09 +00:00
v8-template.h api: Expose initial_array_prototype to public 2021-10-01 16:39:47 +00:00
v8-traced-handle.h TracedReference: Fix MSVC compile errors 2021-11-02 22:11:29 +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 "[profiler] Surface VM & Embedder State" 2021-12-07 19:00:07 +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 Version 9.9.0 2021-12-09 13:08:31 +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 Allow compiled module invalidation at WasmStreaming::Finish() 2021-11-23 16:05:34 +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 V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00