From eeafb263f458612403cb134ae95805ecfcfc9f5e Mon Sep 17 00:00:00 2001 From: Myles Borins Date: Tue, 1 Oct 2019 10:26:05 -0400 Subject: [PATCH] deps: patch V8 to 7.8.279.12 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/v8/v8/compare/7.8.279.10...7.8.279.12 PR-URL: https://github.com/nodejs/node/pull/29694 Reviewed-By: Colin Ihrig Reviewed-By: Anna Henningsen Reviewed-By: Gus Caplan Reviewed-By: Jiawen Geng Reviewed-By: Michaël Zasso Reviewed-By: Tobias Nießen Reviewed-By: Ujjwal Sharma --- deps/v8/include/v8-version.h | 2 +- deps/v8/infra/testing/builders.pyl | 116 ++++++++++-------- deps/v8/src/interpreter/bytecode-generator.cc | 4 +- .../test/mjsunit/regress/regress-1008414.js | 14 +++ 4 files changed, 85 insertions(+), 51 deletions(-) create mode 100644 deps/v8/test/mjsunit/regress/regress-1008414.js diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 2d1765b4319c7e..46fd905b3ce07b 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -11,7 +11,7 @@ #define V8_MAJOR_VERSION 7 #define V8_MINOR_VERSION 8 #define V8_BUILD_NUMBER 279 -#define V8_PATCH_LEVEL 10 +#define V8_PATCH_LEVEL 12 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/infra/testing/builders.pyl b/deps/v8/infra/testing/builders.pyl index 759d920b7b6a5c..0d340db00e70de 100644 --- a/deps/v8/infra/testing/builders.pyl +++ b/deps/v8/infra/testing/builders.pyl @@ -43,7 +43,7 @@ {'name': 'v8testing', 'variant': 'default', 'shards': 4}, {'name': 'v8testing', 'variant': 'trusted', 'shards': 4}, {'name': 'mozilla', 'variant': 'default'}, - {'name': 'test262_variants', 'variant': 'default', 'shards': 7}, + {'name': 'test262', 'variant': 'default', 'shards': 7}, ], }, ############################################################################## @@ -59,7 +59,7 @@ {'name': 'mjsunit_sp_frame_access'}, {'name': 'mozilla'}, {'name': 'mozilla', 'variant': 'extra'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'test262_variants', 'variant': 'extra', 'shards': 3}, {'name': 'v8testing', 'shards': 3}, {'name': 'v8testing', 'variant': 'extra', 'shards': 2}, @@ -175,6 +175,7 @@ { 'name': 'test262', 'suffix': 'nosse3', + 'variant': 'default', 'test_args': [ '--extra-flags', '--noenable-sse3 --noenable-ssse3 --noenable-sse4-1 --noenable-avx', @@ -198,6 +199,7 @@ { 'name': 'test262', 'suffix': 'nosse4', + 'variant': 'default', 'test_args': ['--extra-flags', '--noenable-sse4-1 --noenable-avx'], }, { @@ -225,7 +227,7 @@ 'tests': [ {'name': 'mjsunit_sp_frame_access'}, {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 7}, {'name': 'v8testing', 'variant': 'extra', 'shards': 3}, {'name': 'v8testing', 'variant': 'trusted', 'shards': 2}, @@ -246,7 +248,7 @@ 'tests': [ {'name': 'mjsunit_sp_frame_access', 'shards': 2}, {'name': 'mozilla', 'shards': 2}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 10}, {'name': 'v8testing', 'variant': 'extra', 'shards': 8}, {'name': 'v8testing', 'variant': 'trusted', 'shards': 2}, @@ -273,7 +275,7 @@ {'name': 'benchmarks'}, {'name': 'mozilla'}, {'name': 'optimize_for_size'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 2}, ], }, @@ -288,7 +290,7 @@ {'name': 'mjsunit_sp_frame_access'}, {'name': 'mozilla'}, {'name': 'mozilla', 'variant': 'extra'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'test262_variants', 'variant': 'extra', 'shards': 3}, {'name': 'v8testing', 'shards': 3}, {'name': 'v8testing', 'variant': 'extra', 'shards': 2}, @@ -325,7 +327,7 @@ 'os': 'Ubuntu-16.04', }, 'tests': [ - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 5}, ], }, @@ -413,7 +415,7 @@ 'tests': [ {'name': 'benchmarks'}, {'name': 'mozilla'}, - {'name': 'test262', 'shards': 3}, + {'name': 'test262', 'variant': 'default', 'shards': 3}, {'name': 'v8testing', 'shards': 5}, {'name': 'v8testing', 'variant': 'extra', 'shards': 3}, {'name': 'v8testing', 'variant': 'slow_path'}, @@ -452,7 +454,7 @@ 'tests': [ {'name': 'mjsunit_sp_frame_access'}, {'name': 'mozilla', 'shards': 2}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 10}, {'name': 'v8testing', 'variant': 'extra', 'shards': 6}, {'name': 'v8testing', 'variant': 'trusted', 'shards': 3}, @@ -473,7 +475,7 @@ 'tests': [ {'name': 'mjsunit_sp_frame_access', 'shards': 2}, {'name': 'mozilla', 'shards': 2}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 12}, {'name': 'v8testing', 'variant': 'extra', 'shards': 8}, {'name': 'v8testing', 'variant': 'trusted', 'shards': 3}, @@ -533,7 +535,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 2}, ], }, @@ -554,7 +556,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 3}, {'name': 'v8testing', 'variant': 'extra', 'shards': 2}, ], @@ -566,7 +568,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 2}, ], }, @@ -577,7 +579,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 2}, {'name': 'v8testing', 'variant': 'extra'}, ], @@ -600,7 +602,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 3}, {'name': 'v8testing', 'variant': 'extra', 'shards': 2}, ], @@ -621,7 +623,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 2}, {'name': 'v8testing', 'variant': 'extra'}, ], @@ -691,7 +693,7 @@ 'os': 'Ubuntu-16.04', }, 'tests': [ - {'name': 'test262', 'shards': 3}, + {'name': 'test262', 'variant': 'default', 'shards': 3}, {'name': 'v8testing', 'shards': 4}, ], }, @@ -730,6 +732,7 @@ { 'name': 'test262', 'suffix': 'nosse3', + 'variant': 'default', 'test_args': ['--extra-flags', '--noenable-sse3 --noenable-ssse3 --noenable-sse4-1 --noenable-avx'] }, { @@ -747,6 +750,7 @@ { 'name': 'test262', 'suffix': 'nosse4', + 'variant': 'default', 'test_args': ['--extra-flags', '--noenable-sse4-1 --noenable-avx'] }, { @@ -858,7 +862,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -911,6 +915,7 @@ { 'name': 'test262', 'suffix': 'noavx', + 'variant': 'default', 'test_args': ['--extra-flags', '--noenable-avx'] }, { @@ -928,7 +933,7 @@ {'name': 'benchmarks'}, {'name': 'mozilla'}, {'name': 'optimize_for_size'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -967,6 +972,7 @@ { 'name': 'test262', 'suffix': 'noavx', + 'variant': 'default', 'test_args': ['--extra-flags', '--noenable-avx'] }, { @@ -1044,7 +1050,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1086,7 +1092,7 @@ 'tests': [ {'name': 'benchmarks'}, {'name': 'mozilla'}, - {'name': 'test262', 'shards': 3}, + {'name': 'test262', 'variant': 'default', 'shards': 3}, {'name': 'v8testing', 'shards': 5}, {'name': 'v8testing', 'variant': 'extra', 'shards': 3}, {'name': 'v8testing', 'variant': 'slow_path', 'shards': 1}, @@ -1112,6 +1118,7 @@ }, { 'name': 'test262', + 'variant': 'default', 'test_args': ['--extra-flags=--stress-incremental-marking'], 'shards': 4, }, @@ -1136,7 +1143,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing'}, {'name': 'v8testing', 'variant': 'extra'}, ], @@ -1148,7 +1155,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 2}, {'name': 'v8testing', 'variant': 'extra'}, ], @@ -1160,7 +1167,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 4}, {'name': 'v8testing', 'variant': 'extra', 'shards': 2}, ], @@ -1190,7 +1197,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1201,7 +1208,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 5}, ], }, @@ -1220,7 +1227,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, {'name': 'v8testing', 'variant': 'extra'}, ], @@ -1231,7 +1238,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 4}, {'name': 'v8testing', 'variant': 'extra', 'shards': 3}, ], @@ -1242,7 +1249,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1353,7 +1360,7 @@ 'tests': [ {'name': 'mjsunit_sp_frame_access'}, {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 4}, {'name': 'v8testing', 'variant': 'extra'}, {'name': 'v8testing', 'variant': 'trusted'}, @@ -1366,6 +1373,7 @@ { 'name': 'test262', 'suffix': 'armv8-a', + 'variant': 'default', 'test_args': ['--extra-flags', '--enable-armv8'] }, { @@ -1375,8 +1383,17 @@ 'shards': 4 }, # Novfp3. - {'name': 'mozilla', 'suffix': 'novfp3', 'test_args': ['--novfp3']}, - {'name': 'test262', 'suffix': 'novfp3', 'test_args': ['--novfp3']}, + { + 'name': 'mozilla', + 'suffix': 'novfp3', + 'test_args': ['--novfp3'], + }, + { + 'name': 'test262', + 'suffix': 'novfp3', + 'variant': 'default', + 'test_args': ['--novfp3'], + }, { 'name': 'v8testing', 'suffix': 'novfp3', @@ -1392,7 +1409,7 @@ 'tests': [ {'name': 'mjsunit_sp_frame_access', 'shards': 4}, {'name': 'mozilla', 'shards': 4}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 8}, {'name': 'v8testing', 'variant': 'extra', 'shards': 4}, {'name': 'v8testing', 'variant': 'trusted', 'shards': 2}, @@ -1406,6 +1423,7 @@ { 'name': 'test262', 'suffix': 'armv8-a', + 'variant': 'default', 'test_args': ['--extra-flags', '--enable-armv8'], 'shards': 3, }, @@ -1460,7 +1478,7 @@ 'tests': [ {'name': 'mjsunit_sp_frame_access'}, {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 3}, {'name': 'v8testing', 'variant': 'extra'}, {'name': 'v8testing', 'variant': 'trusted'}, @@ -1477,7 +1495,7 @@ 'tests': [ {'name': 'mjsunit_sp_frame_access'}, {'name': 'mozilla', 'shards': 2}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 10}, {'name': 'v8testing', 'variant': 'extra', 'shards': 6}, {'name': 'v8testing', 'variant': 'trusted', 'shards': 2}, @@ -1510,7 +1528,7 @@ 'priority': 35, }, 'tests': [ - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 4}, ], }, @@ -1524,7 +1542,7 @@ 'priority': 35, }, 'tests': [ - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 4}, ], }, @@ -1710,7 +1728,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1720,7 +1738,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 3}, ], }, @@ -1730,7 +1748,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1740,7 +1758,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 3}, ], }, @@ -1750,7 +1768,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1760,7 +1778,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 3}, ], }, @@ -1770,7 +1788,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1780,7 +1798,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 3}, ], }, @@ -1790,7 +1808,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 4}, ], }, @@ -1800,7 +1818,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 8}, ], }, @@ -1810,7 +1828,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 4}, ], }, @@ -1820,7 +1838,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 8}, ], }, diff --git a/deps/v8/src/interpreter/bytecode-generator.cc b/deps/v8/src/interpreter/bytecode-generator.cc index 6a0b02d8527ea8..29065d6a55ac2b 100644 --- a/deps/v8/src/interpreter/bytecode-generator.cc +++ b/deps/v8/src/interpreter/bytecode-generator.cc @@ -3030,7 +3030,9 @@ void BytecodeGenerator::BuildVariableLoad(Variable* variable, case VariableMode::kDynamicGlobal: { int depth = current_scope()->ContextChainLengthUntilOutermostSloppyEval(); - FeedbackSlot slot = GetCachedLoadGlobalICSlot(typeof_mode, variable); + // TODO(1008414): Add back caching here when bug is fixed properly. + FeedbackSlot slot = feedback_spec()->AddLoadGlobalICSlot(typeof_mode); + builder()->LoadLookupGlobalSlot(variable->raw_name(), typeof_mode, feedback_index(slot), depth); break; diff --git a/deps/v8/test/mjsunit/regress/regress-1008414.js b/deps/v8/test/mjsunit/regress/regress-1008414.js new file mode 100644 index 00000000000000..5841af2055ad73 --- /dev/null +++ b/deps/v8/test/mjsunit/regress/regress-1008414.js @@ -0,0 +1,14 @@ +// Copyright 2019 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --throws + +(function bar() { + (function foo( + x = new class B extends A(eval) { } + ) { + eval(); + })(); + eval(); +})()