summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichaƫl Zasso <targos@protonmail.com>2021-09-14 15:17:57 +0200
committerBeth Griggs <bgriggs@redhat.com>2021-09-22 00:27:08 +0100
commit9c76c699720df354d2c6a3cb8c6cd9d2a9a3f5c4 (patch)
treefffbb2314dd59bc31884e6f80688f87beca9949a
parent588257c00a7dfef96582a72c55d1bc14a3c3db97 (diff)
downloadnode-new-9c76c699720df354d2c6a3cb8c6cd9d2a9a3f5c4.tar.gz
deps: patch V8 to 9.3.345.19
Refs: https://github.com/v8/v8/compare/9.3.345.16...9.3.345.19 PR-URL: https://github.com/nodejs/node/pull/40108 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
-rw-r--r--deps/v8/include/v8-version.h2
-rw-r--r--deps/v8/src/compiler/js-native-context-specialization.cc18
-rw-r--r--deps/v8/testing/gmock/BUILD.gn7
-rwxr-xr-xdeps/v8/tools/mb/mb.py25
4 files changed, 32 insertions, 20 deletions
diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h
index 213d8805b8..30a4182357 100644
--- a/deps/v8/include/v8-version.h
+++ b/deps/v8/include/v8-version.h
@@ -11,7 +11,7 @@
#define V8_MAJOR_VERSION 9
#define V8_MINOR_VERSION 3
#define V8_BUILD_NUMBER 345
-#define V8_PATCH_LEVEL 16
+#define V8_PATCH_LEVEL 19
// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)
diff --git a/deps/v8/src/compiler/js-native-context-specialization.cc b/deps/v8/src/compiler/js-native-context-specialization.cc
index 61fa46e94d..30cab3ae26 100644
--- a/deps/v8/src/compiler/js-native-context-specialization.cc
+++ b/deps/v8/src/compiler/js-native-context-specialization.cc
@@ -825,6 +825,12 @@ Reduction JSNativeContextSpecialization::ReduceGlobalAccess(
return NoChange();
} else if (property_cell_type == PropertyCellType::kUndefined) {
return NoChange();
+ } else if (property_cell_type == PropertyCellType::kConstantType) {
+ // We rely on stability further below.
+ if (property_cell_value.IsHeapObject() &&
+ !property_cell_value.AsHeapObject().map().is_stable()) {
+ return NoChange();
+ }
}
} else if (access_mode == AccessMode::kHas) {
DCHECK_EQ(receiver, lookup_start_object);
@@ -943,17 +949,7 @@ Reduction JSNativeContextSpecialization::ReduceGlobalAccess(
if (property_cell_value.IsHeapObject()) {
MapRef property_cell_value_map =
property_cell_value.AsHeapObject().map();
- if (property_cell_value_map.is_stable()) {
- dependencies()->DependOnStableMap(property_cell_value_map);
- } else {
- // The value's map is already unstable. If this store were to go
- // through the C++ runtime, it would transition the PropertyCell to
- // kMutable. We don't want to change the cell type from generated
- // code (to simplify concurrent heap access), however, so we keep
- // it as kConstantType and do the store anyways (if the new value's
- // map matches). This is safe because it merely prolongs the limbo
- // state that we are in already.
- }
+ dependencies()->DependOnStableMap(property_cell_value_map);
// Check that the {value} is a HeapObject.
value = effect = graph()->NewNode(simplified()->CheckHeapObject(),
diff --git a/deps/v8/testing/gmock/BUILD.gn b/deps/v8/testing/gmock/BUILD.gn
index de5ae53909..c20d33511a 100644
--- a/deps/v8/testing/gmock/BUILD.gn
+++ b/deps/v8/testing/gmock/BUILD.gn
@@ -15,12 +15,7 @@ source_set("gmock") {
"include/gmock/gmock-matchers.h",
"include/gmock/gmock.h",
]
- deps = [ "//third_party/googletest:gmock" ]
-
- public_configs = [
- "//third_party/googletest:gmock_config",
- "//third_party/googletest:gtest_config",
- ]
+ public_deps = [ "//third_party/googletest:gmock" ]
}
# The file/directory layout of Google Test is not yet considered stable. Until
diff --git a/deps/v8/tools/mb/mb.py b/deps/v8/tools/mb/mb.py
index 7031ba50db..42ed60c7ef 100755
--- a/deps/v8/tools/mb/mb.py
+++ b/deps/v8/tools/mb/mb.py
@@ -53,6 +53,25 @@ except NameError: # Python 3
return (x > y) - (x < y)
+def _v8_builder_fallback(builder, builder_group):
+ """Fallback to V8 builder names before splitting builder/tester.
+
+ This eases splitting builders and testers on release branches and
+ can be removed as soon as all builder have been split and all MB configs
+ exist on all branches.
+ """
+ builders = [builder]
+ if builder.endswith(' - builder'):
+ builders.append(builder[:-len(' - builder')])
+ elif builder.endswith(' builder'):
+ builders.append(builder[:-len(' builder')])
+
+ for builder in builders:
+ if builder in builder_group:
+ return builder_group[builder]
+ return None
+
+
def main(args):
mbw = MetaBuildWrapper()
return mbw.Main(args)
@@ -651,12 +670,14 @@ class MetaBuildWrapper(object):
raise MBErr('Builder groups name "%s" not found in "%s"' %
(self.args.builder_group, self.args.config_file))
- if not self.args.builder in self.builder_groups[self.args.builder_group]:
+ config = _v8_builder_fallback(
+ self.args.builder, self.builder_groups[self.args.builder_group])
+
+ if not config:
raise MBErr(
'Builder name "%s" not found under builder_groups[%s] in "%s"' %
(self.args.builder, self.args.builder_group, self.args.config_file))
- config = self.builder_groups[self.args.builder_group][self.args.builder]
if isinstance(config, dict):
if self.args.phase is None:
raise MBErr('Must specify a build --phase for %s on %s' %