chore: bump chromium to 106.0.5216.0 (main) (#34993)
This commit is contained in:
parent
e15e66f229
commit
97b353a30a
114 changed files with 886 additions and 779 deletions
|
@ -9,4 +9,3 @@ fix_disable_implies_dcheck_for_node_stream_array_buffers.patch
|
|||
revert_fix_cppgc_removed_deleted_cstors_in_cppheapcreateparams.patch
|
||||
revert_runtime_dhceck_terminating_exception_in_microtasks.patch
|
||||
chore_disable_is_execution_terminating_dcheck.patch
|
||||
build_remove_legacy_oom_error_callback.patch
|
||||
|
|
|
@ -9,10 +9,10 @@ necessary for native modules to load.
|
|||
Also, some fixes relating to mksnapshot on ARM.
|
||||
|
||||
diff --git a/BUILD.gn b/BUILD.gn
|
||||
index c918081b31fdf15efd325ae9d688f6c4f59aded1..15d0dcf9f6ea151f4dcacff0f3dc11b318a1e1cd 100644
|
||||
index 0c1a72dfd2a3cb95004de7b32fc35ac982c5f927..f359ea10d6e83f94b698d9d728147944ea566018 100644
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -636,7 +636,7 @@ config("internal_config") {
|
||||
@@ -650,7 +650,7 @@ config("internal_config") {
|
||||
":cppgc_header_features",
|
||||
]
|
||||
|
||||
|
@ -21,7 +21,7 @@ index c918081b31fdf15efd325ae9d688f6c4f59aded1..15d0dcf9f6ea151f4dcacff0f3dc11b3
|
|||
defines += [ "BUILDING_V8_SHARED" ]
|
||||
}
|
||||
|
||||
@@ -5999,7 +5999,7 @@ if (current_toolchain == v8_generator_toolchain) {
|
||||
@@ -6124,7 +6124,7 @@ if (current_toolchain == v8_generator_toolchain) {
|
||||
"src/interpreter/bytecodes.h",
|
||||
]
|
||||
|
||||
|
|
|
@ -1,168 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: VerteDinde <keeleymhammond@gmail.com>
|
||||
Date: Tue, 14 Jun 2022 15:12:43 -0700
|
||||
Subject: build: remove legacy oom error callback
|
||||
|
||||
Addresses 3646014: [API] Deprecate LegacyOOMErrorCallback:
|
||||
https://chromium-review.googlesource.com/c/v8/v8/+/3646014
|
||||
|
||||
This deprecation was added to warn embedders that the legacy method
|
||||
was being replaced. However, Electron does not use the legacy method.
|
||||
The deprecation causes build issues on Windows, this patch removes
|
||||
the unused method entirely to avoid those errors.
|
||||
|
||||
This patch can be removed in v8 10.6, when legacy_oom_error_callback
|
||||
is removed.
|
||||
|
||||
diff --git a/include/v8-callbacks.h b/include/v8-callbacks.h
|
||||
index b39921dea0415362d1a30159f3fac0e345e2313e..810fc4edaf69565959148d3c1ec662f0db3e8490 100644
|
||||
--- a/include/v8-callbacks.h
|
||||
+++ b/include/v8-callbacks.h
|
||||
@@ -217,10 +217,6 @@ using AddHistogramSampleCallback = void (*)(void* histogram, int sample);
|
||||
|
||||
using FatalErrorCallback = void (*)(const char* location, const char* message);
|
||||
|
||||
-using LegacyOOMErrorCallback V8_DEPRECATED(
|
||||
- "Use OOMErrorCallback (https://crbug.com/1323177)") =
|
||||
- void (*)(const char* location, bool is_heap_oom);
|
||||
-
|
||||
struct OOMDetails {
|
||||
bool is_heap_oom = false;
|
||||
const char* detail = nullptr;
|
||||
diff --git a/include/v8-initialization.h b/include/v8-initialization.h
|
||||
index 66adf98c17998dd81178e515db01ef43daae14d7..224ae0dc6b34b4724192a1b0547be110f796a9b2 100644
|
||||
--- a/include/v8-initialization.h
|
||||
+++ b/include/v8-initialization.h
|
||||
@@ -284,9 +284,6 @@ class V8_EXPORT V8 {
|
||||
*/
|
||||
static void SetFatalMemoryErrorCallback(OOMErrorCallback callback);
|
||||
|
||||
- V8_DEPRECATED("Use OOMErrorCallback (https://crbug.com/1323177)")
|
||||
- static void SetFatalMemoryErrorCallback(LegacyOOMErrorCallback callback);
|
||||
-
|
||||
/**
|
||||
* Get statistics about the shared memory usage.
|
||||
*/
|
||||
diff --git a/include/v8-isolate.h b/include/v8-isolate.h
|
||||
index b54c7388603b4582356f6741c9a36f2835aa1928..b9533b78046228705e2038396eebf23b1d663df1 100644
|
||||
--- a/include/v8-isolate.h
|
||||
+++ b/include/v8-isolate.h
|
||||
@@ -288,9 +288,6 @@ class V8_EXPORT Isolate {
|
||||
FatalErrorCallback fatal_error_callback = nullptr;
|
||||
OOMErrorCallback oom_error_callback = nullptr;
|
||||
|
||||
- V8_DEPRECATED("Use oom_error_callback (https://crbug.com/1323177)")
|
||||
- LegacyOOMErrorCallback legacy_oom_error_callback = nullptr;
|
||||
-
|
||||
/**
|
||||
* The following parameter is experimental and may change significantly.
|
||||
* This is currently for internal testing.
|
||||
@@ -1468,10 +1465,6 @@ class V8_EXPORT Isolate {
|
||||
/** Set the callback to invoke in case of fatal errors. */
|
||||
void SetFatalErrorHandler(FatalErrorCallback that);
|
||||
|
||||
- /** Set the callback to invoke in case of OOM errors (deprecated). */
|
||||
- V8_DEPRECATED("Use OOMErrorCallback (https://crbug.com/1323177)")
|
||||
- void SetOOMErrorHandler(LegacyOOMErrorCallback that);
|
||||
-
|
||||
/** Set the callback to invoke in case of OOM errors. */
|
||||
void SetOOMErrorHandler(OOMErrorCallback that);
|
||||
|
||||
diff --git a/src/api/api.cc b/src/api/api.cc
|
||||
index 9fafa6b0089aabf55984b68cff85e353fe50ce52..9472ad8f4f776f98d398113b22a6a710596b3cde 100644
|
||||
--- a/src/api/api.cc
|
||||
+++ b/src/api/api.cc
|
||||
@@ -171,13 +171,6 @@
|
||||
|
||||
namespace v8 {
|
||||
|
||||
-// Redefine LegacyOOMErrorCallback here for internal usage. We still need to
|
||||
-// support it but it is deprecated so would trigger warnings.
|
||||
-// TODO(chromium:1323177): Remove this.
|
||||
-using DeprecatedLegacyOOMErrorCallback = void (*)(const char* location,
|
||||
- bool is_heap_oom);
|
||||
-
|
||||
-static DeprecatedLegacyOOMErrorCallback g_legacy_oom_error_callback = nullptr;
|
||||
static OOMErrorCallback g_oom_error_callback = nullptr;
|
||||
|
||||
static ScriptOrigin GetScriptOriginForScript(i::Isolate* i_isolate,
|
||||
@@ -235,9 +228,6 @@ void i::V8::FatalProcessOutOfMemory(i::Isolate* i_isolate, const char* location,
|
||||
// Give the embedder a chance to handle the condition. If it doesn't,
|
||||
// just crash.
|
||||
if (g_oom_error_callback) g_oom_error_callback(location, details);
|
||||
- if (g_legacy_oom_error_callback) {
|
||||
- g_legacy_oom_error_callback(location, details.is_heap_oom);
|
||||
- }
|
||||
FATAL("Fatal process out of memory: %s", location);
|
||||
UNREACHABLE();
|
||||
}
|
||||
@@ -313,9 +303,6 @@ void i::V8::FatalProcessOutOfMemory(i::Isolate* i_isolate, const char* location,
|
||||
}
|
||||
Utils::ReportOOMFailure(i_isolate, location, details);
|
||||
if (g_oom_error_callback) g_oom_error_callback(location, details);
|
||||
- if (g_legacy_oom_error_callback) {
|
||||
- g_legacy_oom_error_callback(location, details.is_heap_oom);
|
||||
- }
|
||||
// If the fatal error handler returns, we stop execution.
|
||||
FATAL("API fatal error handler returned after process out of memory");
|
||||
}
|
||||
@@ -347,8 +334,6 @@ void Utils::ReportOOMFailure(i::Isolate* i_isolate, const char* location,
|
||||
const OOMDetails& details) {
|
||||
if (auto oom_callback = i_isolate->oom_behavior()) {
|
||||
oom_callback(location, details);
|
||||
- } else if (auto legacy_oom_callback = i_isolate->legacy_oom_behavior()) {
|
||||
- legacy_oom_callback(location, details.is_heap_oom);
|
||||
} else {
|
||||
// TODO(wfh): Remove this fallback once Blink is setting OOM handler. See
|
||||
// crbug.com/614440.
|
||||
@@ -6175,11 +6160,6 @@ void v8::V8::SetFatalMemoryErrorCallback(
|
||||
g_oom_error_callback = oom_error_callback;
|
||||
}
|
||||
|
||||
-void v8::V8::SetFatalMemoryErrorCallback(
|
||||
- v8::LegacyOOMErrorCallback legacy_oom_error_callback) {
|
||||
- g_legacy_oom_error_callback = legacy_oom_error_callback;
|
||||
-}
|
||||
-
|
||||
void v8::V8::SetEntropySource(EntropySource entropy_source) {
|
||||
base::RandomNumberGenerator::SetEntropySource(entropy_source);
|
||||
}
|
||||
@@ -8702,8 +8682,6 @@ void Isolate::Initialize(Isolate* v8_isolate,
|
||||
#endif
|
||||
if (params.oom_error_callback) {
|
||||
v8_isolate->SetOOMErrorHandler(params.oom_error_callback);
|
||||
- } else if (params.legacy_oom_error_callback) {
|
||||
- v8_isolate->SetOOMErrorHandler(params.legacy_oom_error_callback);
|
||||
}
|
||||
#if __clang__
|
||||
#pragma clang diagnostic pop
|
||||
@@ -9445,8 +9423,6 @@ size_t Isolate::CopyCodePages(size_t capacity, MemoryRange* code_pages_out) {
|
||||
|
||||
CALLBACK_SETTER(FatalErrorHandler, FatalErrorCallback, exception_behavior)
|
||||
CALLBACK_SETTER(OOMErrorHandler, OOMErrorCallback, oom_behavior)
|
||||
-CALLBACK_SETTER(OOMErrorHandler, DeprecatedLegacyOOMErrorCallback,
|
||||
- legacy_oom_behavior)
|
||||
CALLBACK_SETTER(ModifyCodeGenerationFromStringsCallback,
|
||||
ModifyCodeGenerationFromStringsCallback2,
|
||||
modify_code_gen_callback2)
|
||||
diff --git a/src/execution/isolate.h b/src/execution/isolate.h
|
||||
index 13100146bdc981480a08156b54649b8f995789ae..9a117c4220704ed512b117aa2f50c3791f8e9189 100644
|
||||
--- a/src/execution/isolate.h
|
||||
+++ b/src/execution/isolate.h
|
||||
@@ -487,16 +487,9 @@ V8_EXPORT_PRIVATE void FreeCurrentEmbeddedBlob();
|
||||
|
||||
using DebugObjectCache = std::vector<Handle<HeapObject>>;
|
||||
|
||||
-// Redefine LegacyOOMErrorCallback here for internal usage. We still need to
|
||||
-// support it but it is deprecated so would trigger warnings.
|
||||
-// TODO(chromium:1323177): Remove this.
|
||||
-using DeprecatedLegacyOOMErrorCallback = void (*)(const char* location,
|
||||
- bool is_heap_oom);
|
||||
-
|
||||
#define ISOLATE_INIT_LIST(V) \
|
||||
/* Assembler state. */ \
|
||||
V(FatalErrorCallback, exception_behavior, nullptr) \
|
||||
- V(DeprecatedLegacyOOMErrorCallback, legacy_oom_behavior, nullptr) \
|
||||
V(OOMErrorCallback, oom_behavior, nullptr) \
|
||||
V(LogEventCallback, event_logger, nullptr) \
|
||||
V(AllowCodeGenerationFromStringsCallback, allow_code_gen_callback, nullptr) \
|
|
@ -20,3 +20,16 @@ index 149dd0555a69be576fd1eb97aa79b8aedafcac04..233e6d2ac511c4a7fa45d47bb7448bee
|
|||
DCHECK_NO_SCRIPT_NO_EXCEPTION_MAYBE_TEARDOWN(i_isolate)
|
||||
|
||||
#define ENTER_V8_NO_SCRIPT_NO_EXCEPTION(i_isolate) \
|
||||
diff --git a/src/execution/microtask-queue.cc b/src/execution/microtask-queue.cc
|
||||
index f47228f80b6a2b9e89afd50e6f67eba1185c0dd6..8adf3a9159b947f4fa567317d05cf0b9f204c862 100644
|
||||
--- a/src/execution/microtask-queue.cc
|
||||
+++ b/src/execution/microtask-queue.cc
|
||||
@@ -179,7 +179,7 @@ int MicrotaskQueue::RunMicrotasks(Isolate* isolate) {
|
||||
|
||||
if (isolate->is_execution_terminating()) {
|
||||
DCHECK(isolate->has_scheduled_exception());
|
||||
- DCHECK(maybe_result.is_null());
|
||||
+ // DCHECK(maybe_result.is_null());
|
||||
delete[] ring_buffer_;
|
||||
ring_buffer_ = nullptr;
|
||||
capacity_ = 0;
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: dcheck.patch
|
|||
https://github.com/auchenberg/volkswagen
|
||||
|
||||
diff --git a/src/api/api.cc b/src/api/api.cc
|
||||
index bbab4c72ac93fe7a5bba5de531e66be0775244ca..9fafa6b0089aabf55984b68cff85e353fe50ce52 100644
|
||||
index 0b6bdbc0328dfc979531dbbb25c5fc7b02f661bd..191ee0bb424471c1240835dedc7f25b84221f3b1 100644
|
||||
--- a/src/api/api.cc
|
||||
+++ b/src/api/api.cc
|
||||
@@ -9194,7 +9194,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
|
||||
@@ -9181,7 +9181,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
|
||||
}
|
||||
|
||||
void Isolate::PerformMicrotaskCheckpoint() {
|
||||
|
@ -19,10 +19,10 @@ index bbab4c72ac93fe7a5bba5de531e66be0775244ca..9fafa6b0089aabf55984b68cff85e353
|
|||
i_isolate->default_microtask_queue()->PerformCheckpoint(this);
|
||||
}
|
||||
diff --git a/src/heap/heap.cc b/src/heap/heap.cc
|
||||
index 5ed434303b6be71dc99abd7600f4ef489f763419..7e2952b9b14f915df72573d6be0813401da0cafb 100644
|
||||
index 41f2378ba770a96d9722b8d50d28f3562ebf5101..59338d1d293d5325e89052dd226a9ad4f9e8b46a 100644
|
||||
--- a/src/heap/heap.cc
|
||||
+++ b/src/heap/heap.cc
|
||||
@@ -6195,9 +6195,9 @@ void Heap::TearDown() {
|
||||
@@ -6165,9 +6165,9 @@ void Heap::TearDown() {
|
||||
void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback,
|
||||
GCType gc_type, void* data) {
|
||||
DCHECK_NOT_NULL(callback);
|
||||
|
|
|
@ -12,10 +12,10 @@ This patch can be safely removed if, when it is removed, `node.lib` does not
|
|||
contain any standard C++ library exports (e.g. `std::ostringstream`).
|
||||
|
||||
diff --git a/BUILD.gn b/BUILD.gn
|
||||
index 88d775bfe22d6f1ff738120d11cb1123c5ac106c..feab71df47427d6aaebddb581762fa1a2fd16887 100644
|
||||
index 09c3dc73292e2778baba3a0f7f1a02d875845d34..cf9dff8346bbe086464391758a5c11f228b3898c 100644
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -636,6 +636,10 @@ config("internal_config") {
|
||||
@@ -650,6 +650,10 @@ config("internal_config") {
|
||||
":cppgc_header_features",
|
||||
]
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: Export symbols needed for Windows build
|
|||
These symbols are required to build v8 with BUILD_V8_SHARED on Windows.
|
||||
|
||||
diff --git a/src/objects/objects.h b/src/objects/objects.h
|
||||
index 647fbb52bf1faaad92ef1b4537d6226344cb27b2..86b1123804058f1ecca5bd7076f5108cd1f28912 100644
|
||||
index fbdf5f029f19d8c231e70593e4860f8949e66e45..f98808fa74d79f8492f5a9aac92783b0775bfdf6 100644
|
||||
--- a/src/objects/objects.h
|
||||
+++ b/src/objects/objects.h
|
||||
@@ -929,7 +929,7 @@ enum AccessorComponent { ACCESSOR_GETTER, ACCESSOR_SETTER };
|
||||
@@ -930,7 +930,7 @@ enum AccessorComponent { ACCESSOR_GETTER, ACCESSOR_SETTER };
|
||||
// Utility superclass for stack-allocated objects that must be updated
|
||||
// on gc. It provides two ways for the gc to update instances, either
|
||||
// iterating or updating after gc.
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch
|
|||
Needed in order to target mksnapshot for mksnapshot zip.
|
||||
|
||||
diff --git a/BUILD.gn b/BUILD.gn
|
||||
index 15d0dcf9f6ea151f4dcacff0f3dc11b318a1e1cd..88d775bfe22d6f1ff738120d11cb1123c5ac106c 100644
|
||||
index f359ea10d6e83f94b698d9d728147944ea566018..09c3dc73292e2778baba3a0f7f1a02d875845d34 100644
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -6011,7 +6011,6 @@ if (current_toolchain == v8_generator_toolchain) {
|
||||
@@ -6136,7 +6136,6 @@ if (current_toolchain == v8_generator_toolchain) {
|
||||
|
||||
if (current_toolchain == v8_snapshot_toolchain) {
|
||||
v8_executable("mksnapshot") {
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: fix: usage of c++ [[deprecated]] attribute for older msvc versions
|
|||
This attribute can only be used in all contexts in Visual Studio 2019
|
||||
|
||||
diff --git a/include/v8config.h b/include/v8config.h
|
||||
index 6213da2ef434fff934b298eada084647d7a6ddc4..754743b0c82e2ccf9a330d18785f8cb59df80869 100644
|
||||
index 85bbfce01dff2b0b499e5c02b80e23b682443582..9cedeff64478d900bc6730537caff16f09dcfd46 100644
|
||||
--- a/include/v8config.h
|
||||
+++ b/include/v8config.h
|
||||
@@ -454,10 +454,13 @@ path. Add it with -I<path> to the command line
|
||||
@@ -469,10 +469,13 @@ path. Add it with -I<path> to the command line
|
||||
# define V8_NOINLINE /* NOT SUPPORTED */
|
||||
#endif
|
||||
|
||||
|
@ -25,7 +25,7 @@ index 6213da2ef434fff934b298eada084647d7a6ddc4..754743b0c82e2ccf9a330d18785f8cb5
|
|||
#else
|
||||
# define V8_DEPRECATED(message)
|
||||
#endif
|
||||
@@ -465,13 +468,17 @@ path. Add it with -I<path> to the command line
|
||||
@@ -480,7 +483,11 @@ path. Add it with -I<path> to the command line
|
||||
|
||||
// A macro (V8_DEPRECATE_SOON) to make it easier to see what will be deprecated.
|
||||
#if defined(V8_IMMINENT_DEPRECATION_WARNINGS)
|
||||
|
@ -38,6 +38,8 @@ index 6213da2ef434fff934b298eada084647d7a6ddc4..754743b0c82e2ccf9a330d18785f8cb5
|
|||
#else
|
||||
# define V8_DEPRECATE_SOON(message)
|
||||
#endif
|
||||
@@ -514,7 +521,7 @@ path. Add it with -I<path> to the command line
|
||||
END_ALLOW_USE_DEPRECATED()
|
||||
|
||||
|
||||
-#if defined(__GNUC__) && !defined(__clang__) && (__GNUC__ < 6)
|
||||
|
|
|
@ -18,10 +18,10 @@ index ca4b1dc557f573bfcde200201cbd2f05e3c6b530..9edc8ce00c524a63cb23911a474f1904
|
|||
StoreRoot(RootIndex::kCurrentMicrotask, microtask);
|
||||
TNode<IntPtrT> saved_entered_context_count = GetEnteredContextCount();
|
||||
diff --git a/src/codegen/code-stub-assembler.cc b/src/codegen/code-stub-assembler.cc
|
||||
index a984d2ce736a2c9a46eb7cc46eb03fc062f508d2..6bda9bc5878b1ee344eac9f9c4420db09a307792 100644
|
||||
index fe435ad067837df7f1ebc971083b6585952903f5..34660673e239cbc49e749732e95d16c20982a675 100644
|
||||
--- a/src/codegen/code-stub-assembler.cc
|
||||
+++ b/src/codegen/code-stub-assembler.cc
|
||||
@@ -6123,12 +6123,6 @@ void CodeStubAssembler::SetPendingMessage(TNode<HeapObject> message) {
|
||||
@@ -6124,12 +6124,6 @@ void CodeStubAssembler::SetPendingMessage(TNode<HeapObject> message) {
|
||||
StoreFullTaggedNoWriteBarrier(pending_message, message);
|
||||
}
|
||||
|
||||
|
@ -35,10 +35,10 @@ index a984d2ce736a2c9a46eb7cc46eb03fc062f508d2..6bda9bc5878b1ee344eac9f9c4420db0
|
|||
int type) {
|
||||
return Word32Equal(instance_type, Int32Constant(type));
|
||||
diff --git a/src/codegen/code-stub-assembler.h b/src/codegen/code-stub-assembler.h
|
||||
index 9633ba5333c4f1c37e706f655fe37c59c4993b86..6022d5d5063bc6c4db1c15e1ffaaf4d5420c0a01 100644
|
||||
index c4878044b149ec23f4ac9198f402ccc5114e219e..ba9be792cbcce3cbc85062daa524010dced2cfeb 100644
|
||||
--- a/src/codegen/code-stub-assembler.h
|
||||
+++ b/src/codegen/code-stub-assembler.h
|
||||
@@ -2518,7 +2518,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
@@ -2533,7 +2533,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
|
||||
|
||||
TNode<HeapObject> GetPendingMessage();
|
||||
void SetPendingMessage(TNode<HeapObject> message);
|
||||
|
@ -46,16 +46,3 @@ index 9633ba5333c4f1c37e706f655fe37c59c4993b86..6022d5d5063bc6c4db1c15e1ffaaf4d5
|
|||
|
||||
// Type checks.
|
||||
// Check whether the map is for an object with special properties, such as a
|
||||
diff --git a/src/execution/microtask-queue.cc b/src/execution/microtask-queue.cc
|
||||
index 2bea5d45bb0605877ad430882c914dddeb2c51c5..12a626900d0295be0b250cd6d4692ab4e329c681 100644
|
||||
--- a/src/execution/microtask-queue.cc
|
||||
+++ b/src/execution/microtask-queue.cc
|
||||
@@ -179,8 +179,6 @@ int MicrotaskQueue::RunMicrotasks(Isolate* isolate) {
|
||||
processed_microtask_count);
|
||||
}
|
||||
|
||||
- DCHECK_IMPLIES(isolate->has_scheduled_exception(),
|
||||
- maybe_result.is_null() && maybe_exception.is_null());
|
||||
// If execution is terminating, clean up and propagate that to TryCatch scope.
|
||||
if (maybe_result.is_null() && maybe_exception.is_null()) {
|
||||
delete[] ring_buffer_;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue