Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deps: patch V8 to 9.3.345.19 #40108

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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