2022-11-10 21:31:20 +00:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Shelley Vohr <shelley.vohr@gmail.com>
|
|
|
|
Date: Wed, 12 Oct 2022 21:25:49 +0200
|
|
|
|
Subject: Pass OOMDetails to OOMErrorCallback
|
|
|
|
|
|
|
|
Introduced in https://chromium-review.googlesource.com/c/v8/v8/+/3647827.
|
|
|
|
|
|
|
|
This patch can be removed when Node.js updates to a V8 version containing
|
|
|
|
the above CL.
|
|
|
|
|
|
|
|
diff --git a/src/node_errors.cc b/src/node_errors.cc
|
|
|
|
index 323fc7d4ff635ca287ee241cee234da0600340a2..36ab78f739f3faecab47eead99f9aa3c403672c0 100644
|
|
|
|
--- a/src/node_errors.cc
|
|
|
|
+++ b/src/node_errors.cc
|
|
|
|
@@ -495,9 +495,9 @@ void OnFatalError(const char* location, const char* message) {
|
|
|
|
ABORT();
|
|
|
|
}
|
|
|
|
|
|
|
|
-void OOMErrorHandler(const char* location, bool is_heap_oom) {
|
|
|
|
+void OOMErrorHandler(const char* location, const v8::OOMDetails& details) {
|
|
|
|
const char* message =
|
|
|
|
- is_heap_oom ? "Allocation failed - JavaScript heap out of memory"
|
|
|
|
+ details.is_heap_oom ? "Allocation failed - JavaScript heap out of memory"
|
|
|
|
: "Allocation failed - process out of memory";
|
|
|
|
if (location) {
|
|
|
|
FPrintF(stderr, "FATAL ERROR: %s %s\n", location, message);
|
|
|
|
diff --git a/src/node_errors.h b/src/node_errors.h
|
2023-01-11 10:33:48 +00:00
|
|
|
index 926f54286ec72fda98a9a477ac8e22feef522291..f926cc1c70dd6f883c0729c46f09e10972ce6385 100644
|
2022-11-10 21:31:20 +00:00
|
|
|
--- a/src/node_errors.h
|
|
|
|
+++ b/src/node_errors.h
|
|
|
|
@@ -21,7 +21,7 @@ void AppendExceptionLine(Environment* env,
|
|
|
|
|
|
|
|
[[noreturn]] void FatalError(const char* location, const char* message);
|
|
|
|
void OnFatalError(const char* location, const char* message);
|
|
|
|
-void OOMErrorHandler(const char* location, bool is_heap_oom);
|
|
|
|
+void OOMErrorHandler(const char* location, const v8::OOMDetails& details);
|
|
|
|
|
|
|
|
// Helpers to construct errors similar to the ones provided by
|
|
|
|
// lib/internal/errors.js.
|