From 3d88b766803ecf46cf3eb7a2acf4490b07143b90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Mon, 7 Oct 2019 10:20:28 +0200 Subject: [PATCH] deps: patch V8 to 7.7.299.13 Refs: https://github.com/v8/v8/compare/7.7.299.11...7.7.299.13 PR-URL: https://github.com/nodejs/node/pull/29869 Reviewed-By: Colin Ihrig Reviewed-By: Michael Dawson Reviewed-By: Beth Griggs --- deps/v8/include/v8-version.h | 2 +- deps/v8/infra/testing/builders.pyl | 116 ++++++++++-------- deps/v8/src/execution/frames.cc | 11 +- .../test/mjsunit/regress/regress-1000635.js | 15 +++ 4 files changed, 89 insertions(+), 55 deletions(-) create mode 100644 deps/v8/test/mjsunit/regress/regress-1000635.js diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 0406f65b08e684..a87655058a058d 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 7 #define V8_BUILD_NUMBER 299 -#define V8_PATCH_LEVEL 11 +#define V8_PATCH_LEVEL 13 // 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 13a73f3e94cd90..965300da7735f2 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}, @@ -538,7 +540,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 2}, ], }, @@ -559,7 +561,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 3}, {'name': 'v8testing', 'variant': 'extra', 'shards': 2}, ], @@ -571,7 +573,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 2}, ], }, @@ -582,7 +584,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 2}, {'name': 'v8testing', 'variant': 'extra'}, ], @@ -605,7 +607,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 3}, {'name': 'v8testing', 'variant': 'extra', 'shards': 2}, ], @@ -626,7 +628,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 2}, {'name': 'v8testing', 'variant': 'extra'}, ], @@ -696,7 +698,7 @@ 'os': 'Ubuntu-16.04', }, 'tests': [ - {'name': 'test262', 'shards': 3}, + {'name': 'test262', 'variant': 'default', 'shards': 3}, {'name': 'v8testing', 'shards': 4}, ], }, @@ -735,6 +737,7 @@ { 'name': 'test262', 'suffix': 'nosse3', + 'variant': 'default', 'test_args': ['--extra-flags', '--noenable-sse3 --noenable-ssse3 --noenable-sse4-1 --noenable-avx'] }, { @@ -752,6 +755,7 @@ { 'name': 'test262', 'suffix': 'nosse4', + 'variant': 'default', 'test_args': ['--extra-flags', '--noenable-sse4-1 --noenable-avx'] }, { @@ -863,7 +867,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -916,6 +920,7 @@ { 'name': 'test262', 'suffix': 'noavx', + 'variant': 'default', 'test_args': ['--extra-flags', '--noenable-avx'] }, { @@ -933,7 +938,7 @@ {'name': 'benchmarks'}, {'name': 'mozilla'}, {'name': 'optimize_for_size'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -972,6 +977,7 @@ { 'name': 'test262', 'suffix': 'noavx', + 'variant': 'default', 'test_args': ['--extra-flags', '--noenable-avx'] }, { @@ -1049,7 +1055,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1091,7 +1097,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}, @@ -1117,6 +1123,7 @@ }, { 'name': 'test262', + 'variant': 'default', 'test_args': ['--extra-flags=--stress-incremental-marking'], 'shards': 4, }, @@ -1141,7 +1148,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing'}, {'name': 'v8testing', 'variant': 'extra'}, ], @@ -1153,7 +1160,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 2}, {'name': 'v8testing', 'variant': 'extra'}, ], @@ -1165,7 +1172,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262', 'shards': 2}, + {'name': 'test262', 'variant': 'default', 'shards': 2}, {'name': 'v8testing', 'shards': 4}, {'name': 'v8testing', 'variant': 'extra', 'shards': 2}, ], @@ -1195,7 +1202,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1206,7 +1213,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 5}, ], }, @@ -1225,7 +1232,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, {'name': 'v8testing', 'variant': 'extra'}, ], @@ -1236,7 +1243,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 4}, {'name': 'v8testing', 'variant': 'extra', 'shards': 3}, ], @@ -1247,7 +1254,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1358,7 +1365,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'}, @@ -1371,6 +1378,7 @@ { 'name': 'test262', 'suffix': 'armv8-a', + 'variant': 'default', 'test_args': ['--extra-flags', '--enable-armv8'] }, { @@ -1380,8 +1388,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', @@ -1397,7 +1414,7 @@ 'tests': [ {'name': 'mjsunit_sp_frame_access'}, {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 8}, {'name': 'v8testing', 'variant': 'extra', 'shards': 4}, {'name': 'v8testing', 'variant': 'trusted', 'shards': 2}, @@ -1411,6 +1428,7 @@ { 'name': 'test262', 'suffix': 'armv8-a', + 'variant': 'default', 'test_args': ['--extra-flags', '--enable-armv8'], 'shards': 2, }, @@ -1465,7 +1483,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'}, @@ -1482,7 +1500,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}, @@ -1515,7 +1533,7 @@ 'priority': 35, }, 'tests': [ - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 4}, ], }, @@ -1529,7 +1547,7 @@ 'priority': 35, }, 'tests': [ - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 4}, ], }, @@ -1715,7 +1733,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1725,7 +1743,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 3}, ], }, @@ -1735,7 +1753,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1745,7 +1763,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 3}, ], }, @@ -1755,7 +1773,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1765,7 +1783,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 3}, ], }, @@ -1775,7 +1793,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing'}, ], }, @@ -1785,7 +1803,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 3}, ], }, @@ -1795,7 +1813,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 4}, ], }, @@ -1805,7 +1823,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 8}, ], }, @@ -1815,7 +1833,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 4}, ], }, @@ -1825,7 +1843,7 @@ }, 'tests': [ {'name': 'mozilla'}, - {'name': 'test262'}, + {'name': 'test262', 'variant': 'default'}, {'name': 'v8testing', 'shards': 8}, ], }, diff --git a/deps/v8/src/execution/frames.cc b/deps/v8/src/execution/frames.cc index 126cb9530ee7b9..f88e4c2788c530 100644 --- a/deps/v8/src/execution/frames.cc +++ b/deps/v8/src/execution/frames.cc @@ -1136,11 +1136,11 @@ void JavaScriptFrame::Summarize(std::vector* functions) const { DCHECK(functions->empty()); Code code = LookupCode(); int offset = static_cast(pc() - code.InstructionStart()); - AbstractCode abstract_code = AbstractCode::cast(code); + Handle abstract_code(AbstractCode::cast(code), isolate()); Handle params = GetParameters(); FrameSummary::JavaScriptFrameSummary summary( - isolate(), receiver(), function(), abstract_code, offset, IsConstructor(), - *params); + isolate(), receiver(), function(), *abstract_code, offset, + IsConstructor(), *params); functions->push_back(summary); } @@ -1813,10 +1813,11 @@ void InterpretedFrame::WriteInterpreterRegister(int register_index, void InterpretedFrame::Summarize(std::vector* functions) const { DCHECK(functions->empty()); - AbstractCode abstract_code = AbstractCode::cast(GetBytecodeArray()); + Handle abstract_code(AbstractCode::cast(GetBytecodeArray()), + isolate()); Handle params = GetParameters(); FrameSummary::JavaScriptFrameSummary summary( - isolate(), receiver(), function(), abstract_code, GetBytecodeOffset(), + isolate(), receiver(), function(), *abstract_code, GetBytecodeOffset(), IsConstructor(), *params); functions->push_back(summary); } diff --git a/deps/v8/test/mjsunit/regress/regress-1000635.js b/deps/v8/test/mjsunit/regress/regress-1000635.js new file mode 100644 index 00000000000000..2a02774f999d2d --- /dev/null +++ b/deps/v8/test/mjsunit/regress/regress-1000635.js @@ -0,0 +1,15 @@ +// 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: --stress-compaction --detailed-error-stack-trace --gc-interval=1 + +function add(a, b) { + throw new Error(); +} +for (let i = 0; i < 100; ++i) { + try { + add(1, 2); + } catch (e) { + } +}