Skip to content

Commit

Permalink
deps: patch V8 to 9.3.345.19
Browse files Browse the repository at this point in the history
Refs: v8/v8@9.3.345.16...9.3.345.19

PR-URL: #40108
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
  • Loading branch information
targos authored and BethGriggs committed Sep 21, 2021
1 parent 588257c commit 9c76c69
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 20 deletions.
2 changes: 1 addition & 1 deletion deps/v8/include/v8-version.h
Expand Up @@ -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.)
Expand Down
18 changes: 7 additions & 11 deletions deps/v8/src/compiler/js-native-context-specialization.cc
Expand Up @@ -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);
Expand Down Expand Up @@ -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(),
Expand Down
7 changes: 1 addition & 6 deletions deps/v8/testing/gmock/BUILD.gn
Expand Up @@ -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
Expand Down
25 changes: 23 additions & 2 deletions deps/v8/tools/mb/mb.py
Expand Up @@ -53,6 +53,25 @@ def cmp(x, y): # pylint: disable=redefined-builtin
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)
Expand Down Expand Up @@ -651,12 +670,14 @@ def ConfigFromArgs(self):
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' %
Expand Down

0 comments on commit 9c76c69

Please sign in to comment.