Skip to content

Commit 48708be

Browse files
committed
deps: V8: cherry-pick 79a9d2eb3477
Original commit message: Fix destructor for EmbedderStateScope EmbedderState is forward declared in public header for EmbedderStateScope. Default std::unique_ptr's destructor needs a fully defined class. Defining default destructor in implementation file fixes this. Bug: chromium:1263871 Change-Id: I8ccc58f56a758927dc5d7a39387188185e7d3827 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3338697 Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#78363} Refs: v8/v8@79a9d2e PR-URL: #41610 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
1 parent ae5edcf commit 48708be

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

common.gypi

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
# Reset this number to 0 on major V8 upgrades.
3838
# Increment by one for each non-official patch applied to deps/v8.
39-
'v8_embedder_string': '-node.10',
39+
'v8_embedder_string': '-node.11',
4040

4141
##### V8 defaults for Node.js #####
4242

deps/v8/include/v8-embedder-state-scope.h

+2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ class V8_EXPORT EmbedderStateScope {
3232
EmbedderStateScope(Isolate* isolate, Local<v8::Context> context,
3333
EmbedderStateTag tag);
3434

35+
~EmbedderStateScope();
36+
3537
private:
3638
// Declaring operator new and delete as deleted is not spec compliant.
3739
// Therefore declare them private instead to disable dynamic alloc

deps/v8/src/api/api.cc

+5
Original file line numberDiff line numberDiff line change
@@ -10361,6 +10361,11 @@ EmbedderStateScope::EmbedderStateScope(Isolate* isolate,
1036110361
EmbedderStateTag tag)
1036210362
: embedder_state_(new internal::EmbedderState(isolate, context, tag)) {}
1036310363

10364+
// std::unique_ptr's destructor is not compatible with Forward declared
10365+
// EmbedderState class.
10366+
// Default destructor must be defined in implementation file.
10367+
EmbedderStateScope::~EmbedderStateScope() = default;
10368+
1036410369
void TracedReferenceBase::CheckValue() const {
1036510370
#ifdef V8_HOST_ARCH_64_BIT
1036610371
if (!val_) return;

0 commit comments

Comments
 (0)