Skip to content

Commit e6af220

Browse files
addaleaxrefack
authored andcommitted
deps: V8: cherry-pick d5f08e4
Original commit message: [api] Remove unowned Extensions interface Extensions are now always passed via unique_ptr and are owned by V8. This CL removes the deprecated API where the embedder would own the Extension, but has no mechanism for deleting it. [email protected] Bug: v8:8725 Change-Id: Icb83660fad9d04c66f8db2265091ebabcbb197c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1514493 Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Clemens Hammacher <[email protected]> Cr-Commit-Position: refs/heads/master@{#60186} Refs: v8/v8@d5f08e4 PR-URL: #26685 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
1 parent 963061b commit e6af220

File tree

4 files changed

+2
-24
lines changed

4 files changed

+2
-24
lines changed

common.gypi

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
# Reset this number to 0 on major V8 upgrades.
3939
# Increment by one for each non-official patch applied to deps/v8.
40-
'v8_embedder_string': '-node.6',
40+
'v8_embedder_string': '-node.7',
4141

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

deps/v8/include/v8.h

-4
Original file line numberDiff line numberDiff line change
@@ -6497,10 +6497,6 @@ class V8_EXPORT Extension { // NOLINT
64976497
bool auto_enable_;
64986498
};
64996499

6500-
V8_DEPRECATED(
6501-
"Use unique_ptr version or stop using extension (http://crbug.com/334679).",
6502-
void V8_EXPORT RegisterExtension(Extension* extension));
6503-
65046500
void V8_EXPORT RegisterExtension(std::unique_ptr<Extension>);
65056501

65066502
// --- Statics ---

deps/v8/src/api.cc

-12
Original file line numberDiff line numberDiff line change
@@ -898,19 +898,9 @@ void V8::SetFlagsFromCommandLine(int* argc, char** argv, bool remove_flags) {
898898

899899
RegisteredExtension* RegisteredExtension::first_extension_ = nullptr;
900900

901-
RegisteredExtension::RegisteredExtension(Extension* extension)
902-
: legacy_unowned_extension_(extension) {}
903-
904901
RegisteredExtension::RegisteredExtension(std::unique_ptr<Extension> extension)
905902
: extension_(std::move(extension)) {}
906903

907-
// static
908-
void RegisteredExtension::Register(Extension* extension) {
909-
RegisteredExtension* new_extension = new RegisteredExtension(extension);
910-
new_extension->next_ = first_extension_;
911-
first_extension_ = new_extension;
912-
}
913-
914904
// static
915905
void RegisteredExtension::Register(std::unique_ptr<Extension> extension) {
916906
RegisteredExtension* new_extension =
@@ -946,8 +936,6 @@ class ExtensionResource : public String::ExternalOneByteStringResource {
946936
};
947937
} // anonymous namespace
948938

949-
void RegisterExtension(Extension* that) { RegisteredExtension::Register(that); }
950-
951939
void RegisterExtension(std::unique_ptr<Extension> extension) {
952940
RegisteredExtension::Register(std::move(extension));
953941
}

deps/v8/src/api.h

+1-7
Original file line numberDiff line numberDiff line change
@@ -71,20 +71,14 @@ class ApiFunction {
7171

7272
class RegisteredExtension {
7373
public:
74-
static void Register(Extension*);
7574
static void Register(std::unique_ptr<Extension>);
7675
static void UnregisterAll();
77-
Extension* extension() const {
78-
return legacy_unowned_extension_ ? legacy_unowned_extension_
79-
: extension_.get();
80-
}
76+
Extension* extension() const { return extension_.get(); }
8177
RegisteredExtension* next() const { return next_; }
8278
static RegisteredExtension* first_extension() { return first_extension_; }
8379
private:
8480
explicit RegisteredExtension(Extension*);
8581
explicit RegisteredExtension(std::unique_ptr<Extension>);
86-
// TODO(clemensh): Remove this after the 7.4 branch.
87-
Extension* legacy_unowned_extension_ = nullptr;
8882
std::unique_ptr<Extension> extension_;
8983
RegisteredExtension* next_ = nullptr;
9084
static RegisteredExtension* first_extension_;

0 commit comments

Comments
 (0)