v8/include
Samuel Groß 18159ba610 [base] Abort on unexpected failures in OS::SetPermissions
It is expected that changing page permissions can fail due to the system
running out of memory. However, any other failure is unexpected and
likely indicates a bug in the caller, such as changing the permissions
of an invalid memory region. To allow distinguishing between these
unexpected failures and expected OOM failures, this CL adds CHECKs into
the low-level memory management routines to abort when an unexpected
failure occurs.

Similar logic could later be added to other low-level memory management
routines that can legitimately fail due to OOM as well.

Bug: chromium:1320126
Change-Id: I3de6f4b2aed8962c91770b81382df34384584501
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3610445
Commit-Queue: Samuel Groß <saelo@chromium.org>
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80245}
2022-04-28 08:12:20 +00:00
..
cppgc cppgc: young-gen: Simplify generational barrier 2022-04-27 08:25:44 +00:00
libplatform [api] Advance API deprecation for methods last changed in v9.7 2022-01-26 17:30:21 +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 'canBeRestarted' flag to CallFrames when debugger pauses 2022-04-20 12:40:34 +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 [ShadowRealm] Part 1 - Skeleton 2022-01-25 18:10:57 +00:00
v8-container.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-context.h [sandbox] Store external pointers in EmbedderDataSlots in shifted form 2022-02-22 13:40:35 +00:00
v8-cppgc.h [heap] Split off changes for concurrently processing TracedReference 2022-04-08 13:08:05 +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 Introduce v8::StackTrace::CurrentScriptNameOrSourceURL 2022-01-17 11:34:28 +00:00
v8-embedder-heap.h [api] Remove TracedGlobal<> 2022-03-23 21:04:51 +00:00
v8-embedder-state-scope.h Shift EmbedderState values next to each other 2022-01-10 17:43:47 +00:00
v8-exception.h [api] Advance API deprecation for methods last changed in v9.7 2022-01-26 17:30:21 +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 [api] Advance API deprecation for methods last changed in v9.7 2022-01-26 17:30:21 +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 Allow embedder to set global OOM handler 2022-04-06 17:27:33 +00:00
v8-inspector-protocol.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-inspector.h Add WebDriverBiDi serialization to CDP 2022-04-11 15:51:54 +00:00
v8-internal.h [handles] Simplify global handle state machine 2022-04-22 15:14:46 +00:00
v8-isolate.h [api] Deprecate unused GlobalHandles APIs that peek into internals 2022-04-21 12:55:15 +00:00
v8-json.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-local-handle.h [api] Remove TracedGlobal<> 2022-03-23 21:04:51 +00:00
v8-locker.h [execution] Move v8::Locker::WasEverUsed() flag into Isolate 2022-01-20 19:08:49 +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 [message] Remove deprecated PrintCurrentStackTrace function which take a FILE* 2022-02-14 14:36:38 +00:00
v8-metrics.h cppgc: young-gen: Extract and report metrics for young GC cycles 2022-04-04 18:33:08 +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 [api] Remove TracedGlobal<> 2022-03-23 21:04:51 +00:00
v8-persistent-handle.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-platform.h [base] Abort on unexpected failures in OS::SetPermissions 2022-04-28 08:12:20 +00:00
v8-primitive-object.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-primitive.h [api] Advance API deprecation for methods last changed in v9.7 2022-01-26 17:30:21 +00:00
v8-profiler.h Categorize object shape info in heap snapshots 2022-04-22 16:19:26 +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] Advance API deprecation for methods last changed in v9.8 2022-01-27 14:03:56 +00:00
v8-snapshot.h Remove many superfluous STL includes in headers. 2022-01-13 20:56:45 +00:00
v8-statistics.h [api][profiler] Surface CpuProfiler memory in HeapCodeStatistics 2021-11-04 11:01:09 +00:00
v8-template.h Deprecate signature checks in Set{Accessor,NativeDataProperty} 2022-04-06 09:43:37 +00:00
v8-traced-handle.h [api] Remove TracedGlobal<> 2022-03-23 21:04:51 +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 Reland^2 "[string] Support shared strings in Value{Serializer,Deserializer}" 2022-01-26 21:00:12 +00:00
v8-value-serializer.h Reland^2 "[string] Support shared strings in Value{Serializer,Deserializer}" 2022-01-26 21:00:12 +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 10.3.0.1 2022-04-14 10:28:26 +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 [api] Remove APIs for resurrecting finalizers 2022-04-21 07:05:25 +00:00
v8.h Remove many superfluous STL includes in headers. 2022-01-13 20:56:45 +00:00
v8config.h Split V8_OS_MACOSX into V8_OS_DARWIN and V8_OS_MACOS 2022-02-18 10:24:59 +00:00