From 895ac952e7042033337c6a5c4cb636097750c59d Mon Sep 17 00:00:00 2001 From: Vasili Skurydzin Date: Mon, 15 Oct 2018 16:34:29 -0400 Subject: [PATCH 1/6] deps: cherry-pick d9e7832 from V8 upstream Original commit message: fix gn builds on aix Change-Id: I60aed7bf8207703fa6ceddb6165e173e68b5ff5f Reviewed-on: https://chromium-review.googlesource.com/1103533 Commit-Queue: Michael Achenbach Reviewed-by: Michael Achenbach Cr-Commit-Position: refs/heads/master@{#54386} --- common.gypi | 2 +- deps/v8/infra/mb/mb_config.pyl | 50 ++++++++++++++++++----------- deps/v8/third_party/antlr4/BUILD.gn | 3 ++ deps/v8/tools/mb/mb.py | 2 ++ 4 files changed, 38 insertions(+), 19 deletions(-) diff --git a/common.gypi b/common.gypi index da85dc58fd4825..0b05986cc22f61 100644 --- a/common.gypi +++ b/common.gypi @@ -33,7 +33,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.38', + 'v8_embedder_string': '-node.39', # Enable disassembler for `--print-code` v8 options 'v8_enable_disassembler': 1, diff --git a/deps/v8/infra/mb/mb_config.pyl b/deps/v8/infra/mb/mb_config.pyl index 23b00624557606..f018eaa2c1cf51 100644 --- a/deps/v8/infra/mb/mb_config.pyl +++ b/deps/v8/infra/mb/mb_config.pyl @@ -27,18 +27,21 @@ 'mips64el.debug': 'default_debug_mips64el', 'mips64el.optdebug': 'default_optdebug_mips64el', 'mips64el.release': 'default_release_mips64el', - 'ppc.debug': 'default_debug_ppc', - 'ppc.optdebug': 'default_optdebug_ppc', - 'ppc.release': 'default_release_ppc', + 'ppc.debug.sim': 'default_debug_ppc_sim', + 'ppc.optdebug.sim': 'default_optdebug_ppc_sim', + 'ppc.release.sim': 'default_release_ppc_sim', 'ppc64.debug': 'default_debug_ppc64', + 'ppc64.debug.sim': 'default_debug_ppc64_sim', 'ppc64.optdebug': 'default_optdebug_ppc64', + 'ppc64.optdebug.sim': 'default_optdebug_ppc64_sim', 'ppc64.release': 'default_release_ppc64', - 's390.debug': 'default_debug_s390', - 's390.optdebug': 'default_optdebug_s390', - 's390.release': 'default_release_s390', - 's390x.debug': 'default_debug_s390x', - 's390x.optdebug': 'default_optdebug_s390x', - 's390x.release': 'default_release_s390x', + 'ppc64.release.sim': 'default_release_ppc64_sim', + 's390.debug.sim': 'default_debug_s390_sim', + 's390.optdebug.sim': 'default_optdebug_s390_sim', + 's390.release.sim': 'default_release_s390_sim', + 's390x.debug.sim': 'default_debug_s390x_sim', + 's390x.optdebug.sim': 'default_optdebug_s390x_sim', + 's390x.release.sim': 'default_release_s390x_sim', 'x64.debug': 'default_debug_x64', 'x64.optdebug': 'default_optdebug_x64', 'x64.release': 'default_release_x64', @@ -252,6 +255,7 @@ # To ease readability, config values are ordered by: # release/debug, arch type, other values alphabetically. + # TODO: create separate native configurations for ppc,s390[x]. 'configs': { # Developer default configs. 'default_debug_arm': [ @@ -284,29 +288,35 @@ 'debug', 'simulate_mips64el', 'v8_enable_slow_dchecks'], 'default_release_mips64el': [ 'release', 'simulate_mips64el'], - 'default_debug_ppc': [ + 'default_debug_ppc_sim': [ 'debug', 'simulate_ppc', 'v8_enable_slow_dchecks', 'v8_full_debug'], - 'default_optdebug_ppc': [ + 'default_optdebug_ppc_sim': [ 'debug', 'simulate_ppc', 'v8_enable_slow_dchecks'], - 'default_release_ppc': [ + 'default_release_ppc_sim': [ 'release', 'simulate_ppc'], 'default_debug_ppc64': [ + 'debug', 'ppc64', 'gcc', 'v8_enable_slow_dchecks', 'v8_full_debug'], + 'default_debug_ppc64_sim': [ 'debug', 'simulate_ppc64', 'v8_enable_slow_dchecks', 'v8_full_debug'], 'default_optdebug_ppc64': [ + 'debug', 'ppc64', 'gcc', 'v8_enable_slow_dchecks'], + 'default_optdebug_ppc64_sim': [ 'debug', 'simulate_ppc64', 'v8_enable_slow_dchecks'], 'default_release_ppc64': [ + 'release', 'ppc64', 'gcc'], + 'default_release_ppc64_sim': [ 'release', 'simulate_ppc64'], - 'default_debug_s390': [ + 'default_debug_s390_sim': [ 'debug', 'simulate_s390', 'v8_enable_slow_dchecks', 'v8_full_debug'], - 'default_optdebug_s390': [ + 'default_optdebug_s390_sim': [ 'debug', 'simulate_s390', 'v8_enable_slow_dchecks'], - 'default_release_s390': [ + 'default_release_s390_sim': [ 'release', 'simulate_s390'], - 'default_debug_s390x': [ + 'default_debug_s390x_sim': [ 'debug', 'simulate_s390x', 'v8_enable_slow_dchecks', 'v8_full_debug'], - 'default_optdebug_s390x': [ + 'default_optdebug_s390x_sim': [ 'debug', 'simulate_s390x', 'v8_enable_slow_dchecks'], - 'default_release_s390x': [ + 'default_release_s390x_sim': [ 'release', 'simulate_s390x'], 'default_debug_x64': [ 'debug', 'x64', 'v8_enable_slow_dchecks', 'v8_full_debug'], @@ -823,5 +833,9 @@ 'x86': { 'gn_args': 'target_cpu="x86"', }, + + 'ppc64': { + 'gn_args': 'target_cpu="ppc64"', + }, }, } diff --git a/deps/v8/third_party/antlr4/BUILD.gn b/deps/v8/third_party/antlr4/BUILD.gn index bd58a1804d1558..65e2a78eb4c398 100644 --- a/deps/v8/third_party/antlr4/BUILD.gn +++ b/deps/v8/third_party/antlr4/BUILD.gn @@ -9,6 +9,9 @@ config("antlr-compatibility") { "-Wno-unused-but-set-variable", ] } + if (is_aix) { + cflags += [ "-fdollars-in-identifiers" ] + } } source_set("antlr4") { diff --git a/deps/v8/tools/mb/mb.py b/deps/v8/tools/mb/mb.py index b2ae0c763f6a15..189de8b6b7f2d7 100755 --- a/deps/v8/tools/mb/mb.py +++ b/deps/v8/tools/mb/mb.py @@ -832,6 +832,8 @@ def GNCmd(self, subcommand, path, *args): subdir, exe = 'linux64', 'gn' elif self.platform == 'darwin': subdir, exe = 'mac', 'gn' + elif self.platform == 'aix6': + subdir, exe = 'aix', 'gn' else: subdir, exe = 'win', 'gn.exe' From 74ea4dd7ad79a3768e9365c6c6132e2e66267fb1 Mon Sep 17 00:00:00 2001 From: Vasili Skurydzin Date: Mon, 15 Oct 2018 16:40:50 -0400 Subject: [PATCH 2/6] deps: cherry-pick abab9fb from V8 upstream Original commit message: s390, ppc64: Enable v8gen.py on Linux s390, ppc64 Change-Id: Ia05e949e1a823e30a45894c47f6f6df2e159befe Reviewed-on: https://chromium-review.googlesource.com/1135540 Commit-Queue: Michael Achenbach Reviewed-by: Michael Achenbach Cr-Commit-Position: refs/heads/master@{#54485} --- common.gypi | 2 +- deps/v8/infra/mb/mb_config.pyl | 59 ++++++++++++++++++++++++++++------ deps/v8/tools/mb/mb.py | 8 ++++- 3 files changed, 57 insertions(+), 12 deletions(-) diff --git a/common.gypi b/common.gypi index 0b05986cc22f61..1a1bdb5f005a16 100644 --- a/common.gypi +++ b/common.gypi @@ -33,7 +33,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.39', + 'v8_embedder_string': '-node.40', # Enable disassembler for `--print-code` v8 options 'v8_enable_disassembler': 1, diff --git a/deps/v8/infra/mb/mb_config.pyl b/deps/v8/infra/mb/mb_config.pyl index f018eaa2c1cf51..f863cedee87e5a 100644 --- a/deps/v8/infra/mb/mb_config.pyl +++ b/deps/v8/infra/mb/mb_config.pyl @@ -27,18 +27,27 @@ 'mips64el.debug': 'default_debug_mips64el', 'mips64el.optdebug': 'default_optdebug_mips64el', 'mips64el.release': 'default_release_mips64el', + 'ppc.debug': 'default_debug_ppc', + 'ppc.optdebug': 'default_optdebug_ppc', + 'ppc.release': 'default_release_ppc', 'ppc.debug.sim': 'default_debug_ppc_sim', 'ppc.optdebug.sim': 'default_optdebug_ppc_sim', 'ppc.release.sim': 'default_release_ppc_sim', 'ppc64.debug': 'default_debug_ppc64', - 'ppc64.debug.sim': 'default_debug_ppc64_sim', 'ppc64.optdebug': 'default_optdebug_ppc64', - 'ppc64.optdebug.sim': 'default_optdebug_ppc64_sim', 'ppc64.release': 'default_release_ppc64', + 'ppc64.debug.sim': 'default_debug_ppc64_sim', + 'ppc64.optdebug.sim': 'default_optdebug_ppc64_sim', 'ppc64.release.sim': 'default_release_ppc64_sim', + 's390.debug': 'default_debug_s390', + 's390.optdebug': 'default_optdebug_s390', + 's390.release': 'default_release_s390', 's390.debug.sim': 'default_debug_s390_sim', 's390.optdebug.sim': 'default_optdebug_s390_sim', 's390.release.sim': 'default_release_s390_sim', + 's390x.debug': 'default_debug_s390x', + 's390x.optdebug': 'default_optdebug_s390x', + 's390x.release': 'default_release_s390x', 's390x.debug.sim': 'default_debug_s390x_sim', 's390x.optdebug.sim': 'default_optdebug_s390x_sim', 's390x.release.sim': 'default_release_s390x_sim', @@ -255,7 +264,6 @@ # To ease readability, config values are ordered by: # release/debug, arch type, other values alphabetically. - # TODO: create separate native configurations for ppc,s390[x]. 'configs': { # Developer default configs. 'default_debug_arm': [ @@ -288,6 +296,12 @@ 'debug', 'simulate_mips64el', 'v8_enable_slow_dchecks'], 'default_release_mips64el': [ 'release', 'simulate_mips64el'], + 'default_debug_ppc': [ + 'debug', 'ppc', 'v8_enable_slow_dchecks', 'v8_full_debug'], + 'default_optdebug_ppc': [ + 'debug', 'ppc', 'v8_enable_slow_dchecks'], + 'default_release_ppc': [ + 'release', 'ppc'], 'default_debug_ppc_sim': [ 'debug', 'simulate_ppc', 'v8_enable_slow_dchecks', 'v8_full_debug'], 'default_optdebug_ppc_sim': [ @@ -296,22 +310,34 @@ 'release', 'simulate_ppc'], 'default_debug_ppc64': [ 'debug', 'ppc64', 'gcc', 'v8_enable_slow_dchecks', 'v8_full_debug'], - 'default_debug_ppc64_sim': [ - 'debug', 'simulate_ppc64', 'v8_enable_slow_dchecks', 'v8_full_debug'], 'default_optdebug_ppc64': [ 'debug', 'ppc64', 'gcc', 'v8_enable_slow_dchecks'], - 'default_optdebug_ppc64_sim': [ - 'debug', 'simulate_ppc64', 'v8_enable_slow_dchecks'], 'default_release_ppc64': [ 'release', 'ppc64', 'gcc'], + 'default_debug_ppc64_sim': [ + 'debug', 'simulate_ppc64', 'v8_enable_slow_dchecks', 'v8_full_debug'], + 'default_optdebug_ppc64_sim': [ + 'debug', 'simulate_ppc64', 'v8_enable_slow_dchecks'], 'default_release_ppc64_sim': [ 'release', 'simulate_ppc64'], + 'default_debug_s390': [ + 'debug', 's390', 'v8_enable_slow_dchecks', 'v8_full_debug'], + 'default_optdebug_s390': [ + 'debug', 's390', 'v8_enable_slow_dchecks'], + 'default_release_s390': [ + 'release', 's390'], 'default_debug_s390_sim': [ 'debug', 'simulate_s390', 'v8_enable_slow_dchecks', 'v8_full_debug'], 'default_optdebug_s390_sim': [ 'debug', 'simulate_s390', 'v8_enable_slow_dchecks'], 'default_release_s390_sim': [ 'release', 'simulate_s390'], + 'default_debug_s390x': [ + 'debug', 's390x', 'v8_enable_slow_dchecks', 'v8_full_debug'], + 'default_optdebug_s390x': [ + 'debug', 's390x', 'v8_enable_slow_dchecks'], + 'default_release_s390x': [ + 'release', 's390x'], 'default_debug_s390x_sim': [ 'debug', 'simulate_s390x', 'v8_enable_slow_dchecks', 'v8_full_debug'], 'default_optdebug_s390x_sim': [ @@ -826,6 +852,22 @@ 'gn_args': 'v8_enable_verify_csa=true', }, + 's390': { + 'gn_args': 'target_cpu="s390x" v8_target_cpu="s390"', + }, + + 's390x': { + 'gn_args': 'target_cpu="s390x" v8_target_cpu="s390x"', + }, + + 'ppc': { + 'gn_args': 'target_cpu="ppc"', + }, + + 'ppc64': { + 'gn_args': 'target_cpu="ppc64" use_custom_libcxx=false', + }, + 'x64': { 'gn_args': 'target_cpu="x64"', }, @@ -834,8 +876,5 @@ 'gn_args': 'target_cpu="x86"', }, - 'ppc64': { - 'gn_args': 'target_cpu="ppc64"', - }, }, } diff --git a/deps/v8/tools/mb/mb.py b/deps/v8/tools/mb/mb.py index 189de8b6b7f2d7..0c768886bf190b 100755 --- a/deps/v8/tools/mb/mb.py +++ b/deps/v8/tools/mb/mb.py @@ -837,7 +837,13 @@ def GNCmd(self, subcommand, path, *args): else: subdir, exe = 'win', 'gn.exe' - gn_path = self.PathJoin(self.chromium_src_dir, 'buildtools', subdir, exe) + arch = platform.machine() + if (self.platform == 'linux2' and + (arch.startswith('s390') or arch.startswith('ppc'))): + # use gn in PATH + gn_path = 'gn' + else: + gn_path = self.PathJoin(self.chromium_src_dir, 'buildtools', subdir, exe) return [gn_path, subcommand, path] + list(args) From 997c075c8330283149235bdeef16eb695f3b58dc Mon Sep 17 00:00:00 2001 From: Vasili Skurydzin Date: Mon, 15 Oct 2018 16:44:38 -0400 Subject: [PATCH 3/6] deps: cherry-pick a51f429 from V8 upstream: Original commit message: Use gn from PATH on aix Change-Id: I853f7899dbba9112ba1ca2ce78e2838b5a09c975 Reviewed-on: https://chromium-review.googlesource.com/1168087 Commit-Queue: John Barboza Reviewed-by: Michael Achenbach Cr-Commit-Position: refs/heads/master@{#55028} --- common.gypi | 2 +- deps/v8/tools/mb/mb.py | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/common.gypi b/common.gypi index 1a1bdb5f005a16..24702b7f62bdf5 100644 --- a/common.gypi +++ b/common.gypi @@ -33,7 +33,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.40', + 'v8_embedder_string': '-node.41', # Enable disassembler for `--print-code` v8 options 'v8_enable_disassembler': 1, diff --git a/deps/v8/tools/mb/mb.py b/deps/v8/tools/mb/mb.py index 0c768886bf190b..cbb5b5dd6d5bd6 100755 --- a/deps/v8/tools/mb/mb.py +++ b/deps/v8/tools/mb/mb.py @@ -832,14 +832,12 @@ def GNCmd(self, subcommand, path, *args): subdir, exe = 'linux64', 'gn' elif self.platform == 'darwin': subdir, exe = 'mac', 'gn' - elif self.platform == 'aix6': - subdir, exe = 'aix', 'gn' else: subdir, exe = 'win', 'gn.exe' arch = platform.machine() - if (self.platform == 'linux2' and - (arch.startswith('s390') or arch.startswith('ppc'))): + if (arch.startswith('s390') or arch.startswith('ppc') or + self.platform.startswith('aix')): # use gn in PATH gn_path = 'gn' else: From 657108415de258a273191571fd65e533ef3ac3da Mon Sep 17 00:00:00 2001 From: Vasili Skurydzin Date: Mon, 15 Oct 2018 16:59:52 -0400 Subject: [PATCH 4/6] deps: cherry-pick d2e0166 from V8 upstream Original commit message: ppc64, aix: Pass CallFrequency object by const reference to avoid value copy error. Bug: v8:8193 GCC bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61976 Change-Id: I0d4efca4da03ef82651325e15ddf2160022bc8de Reviewed-on: https://chromium-review.googlesource.com/1228633 Reviewed-by: Michael Starzinger Reviewed-by: Daniel Clifford Reviewed-by: Junliang Yan Commit-Queue: Junliang Yan Cr-Commit-Position: refs/heads/master@{#56275} --- common.gypi | 2 +- deps/v8/src/compiler/bytecode-graph-builder.cc | 2 +- deps/v8/src/compiler/bytecode-graph-builder.h | 2 +- deps/v8/src/compiler/js-inlining.cc | 3 ++- deps/v8/src/compiler/js-operator.cc | 7 ++++--- deps/v8/src/compiler/js-operator.h | 8 ++++---- deps/v8/src/compiler/pipeline.cc | 3 ++- 7 files changed, 15 insertions(+), 12 deletions(-) diff --git a/common.gypi b/common.gypi index 24702b7f62bdf5..589c82526cd093 100644 --- a/common.gypi +++ b/common.gypi @@ -33,7 +33,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.41', + 'v8_embedder_string': '-node.42', # Enable disassembler for `--print-code` v8 options 'v8_enable_disassembler': 1, diff --git a/deps/v8/src/compiler/bytecode-graph-builder.cc b/deps/v8/src/compiler/bytecode-graph-builder.cc index ade917de476ef7..8a60d680332e61 100644 --- a/deps/v8/src/compiler/bytecode-graph-builder.cc +++ b/deps/v8/src/compiler/bytecode-graph-builder.cc @@ -514,7 +514,7 @@ Node* BytecodeGraphBuilder::Environment::Checkpoint( BytecodeGraphBuilder::BytecodeGraphBuilder( Zone* local_zone, Handle shared_info, Handle feedback_vector, BailoutId osr_offset, - JSGraph* jsgraph, CallFrequency invocation_frequency, + JSGraph* jsgraph, CallFrequency& invocation_frequency, SourcePositionTable* source_positions, Handle native_context, int inlining_id, JSTypeHintLowering::Flags flags, bool stack_check, bool analyze_environment_liveness) diff --git a/deps/v8/src/compiler/bytecode-graph-builder.h b/deps/v8/src/compiler/bytecode-graph-builder.h index 9025d477d57fe3..15eef5d844e140 100644 --- a/deps/v8/src/compiler/bytecode-graph-builder.h +++ b/deps/v8/src/compiler/bytecode-graph-builder.h @@ -31,7 +31,7 @@ class BytecodeGraphBuilder { BytecodeGraphBuilder( Zone* local_zone, Handle shared, Handle feedback_vector, BailoutId osr_offset, - JSGraph* jsgraph, CallFrequency invocation_frequency, + JSGraph* jsgraph, CallFrequency& invocation_frequency, SourcePositionTable* source_positions, Handle native_context, int inlining_id = SourcePosition::kNotInlined, JSTypeHintLowering::Flags flags = JSTypeHintLowering::kNoFlags, diff --git a/deps/v8/src/compiler/js-inlining.cc b/deps/v8/src/compiler/js-inlining.cc index 08917ab78bd93d..075155c2496ba7 100644 --- a/deps/v8/src/compiler/js-inlining.cc +++ b/deps/v8/src/compiler/js-inlining.cc @@ -484,9 +484,10 @@ Reduction JSInliner::ReduceJSCall(Node* node) { if (info_->is_bailout_on_uninitialized()) { flags |= JSTypeHintLowering::kBailoutOnUninitialized; } + CallFrequency frequency = call.frequency(); BytecodeGraphBuilder graph_builder( zone(), shared_info, feedback_vector, BailoutId::None(), jsgraph(), - call.frequency(), source_positions_, native_context(), inlining_id, + frequency, source_positions_, native_context(), inlining_id, flags, false, info_->is_analyze_environment_liveness()); graph_builder.CreateGraph(); diff --git a/deps/v8/src/compiler/js-operator.cc b/deps/v8/src/compiler/js-operator.cc index 8fe10bb36a83d7..04feec6827aad0 100644 --- a/deps/v8/src/compiler/js-operator.cc +++ b/deps/v8/src/compiler/js-operator.cc @@ -794,7 +794,8 @@ const Operator* JSOperatorBuilder::CallForwardVarargs(size_t arity, parameters); // parameter } -const Operator* JSOperatorBuilder::Call(size_t arity, CallFrequency frequency, +const Operator* JSOperatorBuilder::Call(size_t arity, + CallFrequency const& frequency, VectorSlotPair const& feedback, ConvertReceiverMode convert_mode, SpeculationMode speculation_mode) { @@ -818,8 +819,8 @@ const Operator* JSOperatorBuilder::CallWithArrayLike(CallFrequency frequency) { } const Operator* JSOperatorBuilder::CallWithSpread( - uint32_t arity, CallFrequency frequency, VectorSlotPair const& feedback, - SpeculationMode speculation_mode) { + uint32_t arity, CallFrequency const& frequency, + VectorSlotPair const& feedback, SpeculationMode speculation_mode) { DCHECK_IMPLIES(speculation_mode == SpeculationMode::kAllowSpeculation, feedback.IsValid()); CallParameters parameters(arity, frequency, feedback, diff --git a/deps/v8/src/compiler/js-operator.h b/deps/v8/src/compiler/js-operator.h index 6d89e5ac09a9de..ac09ed229bd7b2 100644 --- a/deps/v8/src/compiler/js-operator.h +++ b/deps/v8/src/compiler/js-operator.h @@ -160,7 +160,7 @@ CallForwardVarargsParameters const& CallForwardVarargsParametersOf( // used as a parameter by JSCall and JSCallWithSpread operators. class CallParameters final { public: - CallParameters(size_t arity, CallFrequency frequency, + CallParameters(size_t arity, CallFrequency const& frequency, VectorSlotPair const& feedback, ConvertReceiverMode convert_mode, SpeculationMode speculation_mode) @@ -171,7 +171,7 @@ class CallParameters final { feedback_(feedback) {} size_t arity() const { return ArityField::decode(bit_field_); } - CallFrequency frequency() const { return frequency_; } + CallFrequency const& frequency() const { return frequency_; } ConvertReceiverMode convert_mode() const { return ConvertReceiverModeField::decode(bit_field_); } @@ -721,13 +721,13 @@ class V8_EXPORT_PRIVATE JSOperatorBuilder final const Operator* CallForwardVarargs(size_t arity, uint32_t start_index); const Operator* Call( - size_t arity, CallFrequency frequency = CallFrequency(), + size_t arity, CallFrequency const& frequency = CallFrequency(), VectorSlotPair const& feedback = VectorSlotPair(), ConvertReceiverMode convert_mode = ConvertReceiverMode::kAny, SpeculationMode speculation_mode = SpeculationMode::kDisallowSpeculation); const Operator* CallWithArrayLike(CallFrequency frequency); const Operator* CallWithSpread( - uint32_t arity, CallFrequency frequency = CallFrequency(), + uint32_t arity, CallFrequency const& frequency = CallFrequency(), VectorSlotPair const& feedback = VectorSlotPair(), SpeculationMode speculation_mode = SpeculationMode::kDisallowSpeculation); const Operator* CallRuntime(Runtime::FunctionId id); diff --git a/deps/v8/src/compiler/pipeline.cc b/deps/v8/src/compiler/pipeline.cc index 779457bcf76c34..0bc4bdd41428e2 100644 --- a/deps/v8/src/compiler/pipeline.cc +++ b/deps/v8/src/compiler/pipeline.cc @@ -1059,10 +1059,11 @@ struct GraphBuilderPhase { if (data->info()->is_bailout_on_uninitialized()) { flags |= JSTypeHintLowering::kBailoutOnUninitialized; } + CallFrequency frequency = CallFrequency(1.0f); BytecodeGraphBuilder graph_builder( temp_zone, data->info()->shared_info(), handle(data->info()->closure()->feedback_vector()), - data->info()->osr_offset(), data->jsgraph(), CallFrequency(1.0f), + data->info()->osr_offset(), data->jsgraph(), frequency, data->source_positions(), data->native_context(), SourcePosition::kNotInlined, flags, true, data->info()->is_analyze_environment_liveness()); From c6db967f61e2107a178ed7954f93a5469ce97aa7 Mon Sep 17 00:00:00 2001 From: Vasili Skurydzin Date: Mon, 15 Oct 2018 17:02:48 -0400 Subject: [PATCH 5/6] deps: cherry-pick 67b5499 from V8 upstream Original commit message: PPC: disable failing cctest on AIX temporarily Change-Id: I8a0081acb9c5eb662bf43eceb52218096eac327c Reviewed-on: https://chromium-review.googlesource.com/1174560 Reviewed-by: Adam Klein Reviewed-by: Camillo Bruni Reviewed-by: Junliang Yan Commit-Queue: Junliang Yan Cr-Commit-Position: refs/heads/master@{#55229} --- common.gypi | 2 +- deps/v8/test/cctest/cctest.status | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/common.gypi b/common.gypi index 589c82526cd093..7d11d9e1382588 100644 --- a/common.gypi +++ b/common.gypi @@ -33,7 +33,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.42', + 'v8_embedder_string': '-node.43', # Enable disassembler for `--print-code` v8 options 'v8_enable_disassembler': 1, diff --git a/deps/v8/test/cctest/cctest.status b/deps/v8/test/cctest/cctest.status index da069e0a269386..85e2554f5ec77f 100644 --- a/deps/v8/test/cctest/cctest.status +++ b/deps/v8/test/cctest/cctest.status @@ -390,6 +390,7 @@ # TODO(ppc): Implement load/store reverse byte instructions 'test-run-wasm-simd/RunWasmCompiled_SimdLoadStoreLoad': [SKIP], 'test-run-wasm-simd/RunWasm_SimdLoadStoreLoad': [SKIP], + 'test-run-wasm-simd/RunWasm_SimdLoadStoreLoad_turbofan': [SKIP], }], # 'system == aix or (arch == ppc64 and byteorder == big)' From 21c50f1cf08ff4c5087473ae43b8608ebb1f003d Mon Sep 17 00:00:00 2001 From: Vasili Skurydzin Date: Tue, 16 Oct 2018 10:36:48 -0400 Subject: [PATCH 6/6] deps/v8/src/torque/file-visitor.h: Add virtual dtor to avoid gcc error on Aix. (Not currently present in v8/master) deps/v8/third_party/antlr4/BUILD.gn: Use current_os variable to avoid is_aix being undefined. The following patch to v8/build solves this issue for v8/master: a1a12ef3b343f9e75c630ed6dc8f1ea44a8a747b However, the version of '/chromium/src/build.git' cannot be updated to include this patch in v8/DEPS file. (could potentially cause issues for other platforms) The change to deps/v8/src/torque/file-visitor.h is a workaround for origin/v10.x-staging branch. --- common.gypi | 2 +- deps/v8/src/torque/file-visitor.h | 4 ++++ deps/v8/third_party/antlr4/BUILD.gn | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/common.gypi b/common.gypi index 7d11d9e1382588..f0315b198a85a0 100644 --- a/common.gypi +++ b/common.gypi @@ -33,7 +33,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.43', + 'v8_embedder_string': '-node.44', # Enable disassembler for `--print-code` v8 options 'v8_enable_disassembler': 1, diff --git a/deps/v8/src/torque/file-visitor.h b/deps/v8/src/torque/file-visitor.h index 5aac1bad46d6a4..45820c5b6bf8ef 100644 --- a/deps/v8/src/torque/file-visitor.h +++ b/deps/v8/src/torque/file-visitor.h @@ -21,6 +21,10 @@ namespace torque { class FileVisitor { public: +#if defined(__GNUC__) && V8_OS_AIX + // prevent non-virtual-dtor gcc error on Aix + virtual ~FileVisitor() = default; +#endif explicit FileVisitor(GlobalContext& global_context) : global_context_(global_context), declarations_(global_context.declarations()), diff --git a/deps/v8/third_party/antlr4/BUILD.gn b/deps/v8/third_party/antlr4/BUILD.gn index 65e2a78eb4c398..8d3d98a399f0f6 100644 --- a/deps/v8/third_party/antlr4/BUILD.gn +++ b/deps/v8/third_party/antlr4/BUILD.gn @@ -9,7 +9,7 @@ config("antlr-compatibility") { "-Wno-unused-but-set-variable", ] } - if (is_aix) { + if (current_os == "aix") { cflags += [ "-fdollars-in-identifiers" ] } }