From 5231fee52385155112dced23e4a824d1f6aeaf27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Mon, 23 Oct 2017 16:08:40 +0200 Subject: [PATCH] deps: update V8 to 6.2.414.33 Refs: https://github.com/v8/v8/compare/6.2.414.32...6.2.414.33 --- deps/v8/BUILD.gn | 2 - deps/v8/gni/isolate.gni | 2 - deps/v8/gypfiles/isolate.gypi | 1 - deps/v8/gypfiles/toolchain.gypi | 1 + deps/v8/include/v8-version.h | 2 +- deps/v8/src/v8.gyp | 46 +++++++++++++++++- deps/v8/tools/foozzie/v8_foozzie.py | 2 +- deps/v8/tools/testrunner/testrunner.isolate | 8 +--- .../testrunner/utils/dump_build_config.py | 4 +- .../testrunner/utils/dump_build_config_gyp.py | 47 +++++++++++++++++++ 10 files changed, 98 insertions(+), 17 deletions(-) create mode 100644 deps/v8/tools/testrunner/utils/dump_build_config_gyp.py diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index 17759e1fbd233b..4d3fcd96488517 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -827,7 +827,6 @@ action("v8_dump_build_config") { is_gcov_coverage = v8_code_coverage && !is_clang args = [ rebase_path("$root_out_dir/v8_build_config.json", root_build_dir), - "current_cpu=\"$current_cpu\"", "dcheck_always_on=$dcheck_always_on", "is_asan=$is_asan", "is_cfi=$is_cfi", @@ -838,7 +837,6 @@ action("v8_dump_build_config") { "is_tsan=$is_tsan", "is_ubsan_vptr=$is_ubsan_vptr", "target_cpu=\"$target_cpu\"", - "v8_current_cpu=\"$v8_current_cpu\"", "v8_enable_i18n_support=$v8_enable_i18n_support", "v8_target_cpu=\"$v8_target_cpu\"", "v8_use_snapshot=$v8_use_snapshot", diff --git a/deps/v8/gni/isolate.gni b/deps/v8/gni/isolate.gni index 82dc8cf3fbc005..f5453e560653e6 100644 --- a/deps/v8/gni/isolate.gni +++ b/deps/v8/gni/isolate.gni @@ -156,8 +156,6 @@ template("v8_isolate_run") { "--config-variable", "icu_use_data_file_flag=$icu_use_data_file_flag", "--config-variable", - "is_gn=1", - "--config-variable", "msan=$msan", "--config-variable", "tsan=$tsan", diff --git a/deps/v8/gypfiles/isolate.gypi b/deps/v8/gypfiles/isolate.gypi index 11b05705307625..149818c8d0636f 100644 --- a/deps/v8/gypfiles/isolate.gypi +++ b/deps/v8/gypfiles/isolate.gypi @@ -74,7 +74,6 @@ '--config-variable', 'gcmole=<(gcmole)', '--config-variable', 'has_valgrind=<(has_valgrind)', '--config-variable', 'icu_use_data_file_flag=<(icu_use_data_file_flag)', - '--config-variable', 'is_gn=0', '--config-variable', 'msan=<(msan)', '--config-variable', 'tsan=<(tsan)', '--config-variable', 'coverage=<(coverage)', diff --git a/deps/v8/gypfiles/toolchain.gypi b/deps/v8/gypfiles/toolchain.gypi index 5733d2d54ca130..80844cecc671ef 100644 --- a/deps/v8/gypfiles/toolchain.gypi +++ b/deps/v8/gypfiles/toolchain.gypi @@ -32,6 +32,7 @@ 'msvs_use_common_release': 0, 'clang%': 0, 'asan%': 0, + 'cfi_vptr%': 0, 'lsan%': 0, 'msan%': 0, 'tsan%': 0, diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index bcd166b03e7153..78d423fc95ed02 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -11,7 +11,7 @@ #define V8_MAJOR_VERSION 6 #define V8_MINOR_VERSION 2 #define V8_BUILD_NUMBER 414 -#define V8_PATCH_LEVEL 32 +#define V8_PATCH_LEVEL 33 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/src/v8.gyp b/deps/v8/src/v8.gyp index e6665db2038cc1..ea0f8780d77216 100644 --- a/deps/v8/src/v8.gyp +++ b/deps/v8/src/v8.gyp @@ -42,7 +42,7 @@ { 'target_name': 'v8', 'dependencies_traverse': 1, - 'dependencies': ['v8_maybe_snapshot'], + 'dependencies': ['v8_maybe_snapshot', 'v8_dump_build_config'], 'conditions': [ ['want_separate_host_toolset==1', { 'toolsets': ['host', 'target'], @@ -2499,5 +2499,49 @@ }], ], }, + { + 'target_name': 'v8_dump_build_config', + 'type': 'none', + 'variables': { + }, + 'conditions': [ + [ 'want_separate_host_toolset==1', { + 'toolsets': ['host'], + }, { + 'toolsets': ['target'], + }] + ], + 'actions': [ + { + 'action_name': 'v8_dump_build_config', + 'inputs': [ + '../tools/testrunner/utils/dump_build_config_gyp.py', + ], + 'outputs': [ + '<(PRODUCT_DIR)/v8_build_config.json', + ], + 'action': [ + 'python', + '../tools/testrunner/utils/dump_build_config_gyp.py', + '<(PRODUCT_DIR)/v8_build_config.json', + 'dcheck_always_on=<(dcheck_always_on)', + 'is_asan=<(asan)', + 'is_cfi=<(cfi_vptr)', + 'is_component_build="<(component)"', + 'is_debug="<(CONFIGURATION_NAME)"', + # Not available in gyp. + 'is_gcov_coverage=0', + 'is_msan=<(msan)', + 'is_tsan=<(tsan)', + # Not available in gyp. + 'is_ubsan_vptr=0', + 'target_cpu="<(target_arch)"', + 'v8_enable_i18n_support=<(v8_enable_i18n_support)', + 'v8_target_cpu="<(v8_target_arch)"', + 'v8_use_snapshot=<(v8_use_snapshot)', + ], + }, + ], + }, ], } diff --git a/deps/v8/tools/foozzie/v8_foozzie.py b/deps/v8/tools/foozzie/v8_foozzie.py index 0c6d65d1e89ad6..217817865269e3 100755 --- a/deps/v8/tools/foozzie/v8_foozzie.py +++ b/deps/v8/tools/foozzie/v8_foozzie.py @@ -127,7 +127,7 @@ def infer_arch(d8): executable. """ with open(os.path.join(os.path.dirname(d8), 'v8_build_config.json')) as f: - arch = json.load(f)['v8_current_cpu'] + arch = json.load(f)['v8_target_cpu'] return 'ia32' if arch == 'x86' else arch diff --git a/deps/v8/tools/testrunner/testrunner.isolate b/deps/v8/tools/testrunner/testrunner.isolate index e29f1df98dfd00..56667c20215b51 100644 --- a/deps/v8/tools/testrunner/testrunner.isolate +++ b/deps/v8/tools/testrunner/testrunner.isolate @@ -7,6 +7,7 @@ '../run-tests.py', ], 'files': [ + '<(PRODUCT_DIR)/v8_build_config.json', '../run-tests.py', './' ], @@ -20,12 +21,5 @@ ], }, }], - ['is_gn==1', { - 'variables': { - 'files': [ - '<(PRODUCT_DIR)/v8_build_config.json', - ], - }, - }], ], } diff --git a/deps/v8/tools/testrunner/utils/dump_build_config.py b/deps/v8/tools/testrunner/utils/dump_build_config.py index bd57b5f34e2302..b691bb3dc8dc32 100644 --- a/deps/v8/tools/testrunner/utils/dump_build_config.py +++ b/deps/v8/tools/testrunner/utils/dump_build_config.py @@ -15,7 +15,7 @@ import os import sys -assert len(sys.argv) > 1 +assert len(sys.argv) > 2 def as_json(kv): assert '=' in kv @@ -23,4 +23,4 @@ def as_json(kv): return k, json.loads(v) with open(sys.argv[1], 'w') as f: - json.dump(dict(as_json(kv) for kv in sys.argv[2:]), f) + json.dump(dict(map(as_json, sys.argv[2:])), f) diff --git a/deps/v8/tools/testrunner/utils/dump_build_config_gyp.py b/deps/v8/tools/testrunner/utils/dump_build_config_gyp.py new file mode 100644 index 00000000000000..920459d929667f --- /dev/null +++ b/deps/v8/tools/testrunner/utils/dump_build_config_gyp.py @@ -0,0 +1,47 @@ +# Copyright 2017 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. + +"""The same as dump_build_config.py but for gyp legacy. + +Expected to be called like: +dump_build_config.py path/to/file.json [key1=value1 ...] + +Raw gyp values are supported - they will be tranformed into valid json. +""" +# TODO(machenbach): Remove this when gyp is deprecated. + +import json +import os +import sys + +assert len(sys.argv) > 2 + + +GYP_GN_CONVERSION = { + 'is_component_build': { + '"shared_library"': 'true', + '"static_library"': 'false', + }, + 'is_debug': { + '"Debug"': 'true', + '"Release"': 'false', + }, +} + +DEFAULT_CONVERSION ={ + '0': 'false', + '1': 'true', + '"ia32"': '"x86"', +} + +def gyp_to_gn(key, value): + return GYP_GN_CONVERSION.get(key, DEFAULT_CONVERSION).get(value, value) + +def as_json(kv): + assert '=' in kv + k, v = kv.split('=', 1) + return k, json.loads(gyp_to_gn(k, v)) + +with open(sys.argv[1], 'w') as f: + json.dump(dict(map(as_json, sys.argv[2:])), f)