diff --git a/deps/v8/.gitignore b/deps/v8/.gitignore index cd72bebbd6b12d..8088214daa951b 100644 --- a/deps/v8/.gitignore +++ b/deps/v8/.gitignore @@ -54,7 +54,6 @@ shell_g /test/promises-aplus/promises-tests /test/promises-aplus/promises-tests.tar.gz /test/promises-aplus/sinon -/test/simdjs/data /test/test262/data /test/test262/data.tar /test/test262/harness @@ -102,5 +101,6 @@ v8.ignition_dispatches_table.json /test/fuzzer/wasm_asmjs.tar.gz /src/inspector/build/closure-compiler.tar.gz /src/inspector/build/closure-compiler +/test/wasm-js !/third_party/jinja2 !/third_party/markupsafe diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index 35edca97e5f105..756d1dc985e6ad 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -48,6 +48,7 @@ Bert Belder Burcu Dogan Caitlin Potter Craig Schlenter +Choongwoo Han Chris Nardi Christopher A. Taylor Daniel Andersson @@ -64,7 +65,6 @@ Filipe David Manana Franziska Hinkelmann Geoffrey Garside Gwang Yoon Hwang -Han Choongwoo Henrique Ferreiro Hirofumi Mako Honggyu Kim diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index 048420c7b9dd75..8895103222b4ee 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -30,7 +30,7 @@ declare_args() { v8_deprecation_warnings = false # Enable compiler warnings when using V8_DEPRECATE_SOON apis. - v8_imminent_deprecation_warnings = "" + v8_imminent_deprecation_warnings = false # Embeds the given script into the snapshot. v8_embed_script = "" @@ -41,12 +41,18 @@ declare_args() { # Sets -dENABLE_GDB_JIT_INTERFACE. v8_enable_gdbjit = "" + # Sets -dENABLE_VTUNE_JIT_INTERFACE. + v8_enable_vtunejit = false + # Sets -dENABLE_HANDLE_ZAPPING. v8_enable_handle_zapping = is_debug # Enable slow dchecks. v8_enable_slow_dchecks = false + # Enable code-generation-time checking of types in the CodeStubAssembler. + v8_enable_verify_csa = false + # Interpreted regexp engine exists as platform-independent alternative # based where the regular expression is compiled to a bytecode. v8_interpreted_regexp = false @@ -76,23 +82,22 @@ declare_args() { # Similar to the ARM hard float ABI but on MIPS. v8_use_mips_abi_hardfloat = true -} -# Set project-specific defaults for some args if not provided in args.gn. The -# defaults can be set in the respective build_overrides files. -if (v8_imminent_deprecation_warnings == "") { - if (defined(v8_imminent_deprecation_warnings_default)) { - v8_imminent_deprecation_warnings = v8_imminent_deprecation_warnings_default - } else { - v8_imminent_deprecation_warnings = false - } -} -if (v8_enable_gdbjit == "") { - if (defined(v8_enable_gdbjit_default)) { - v8_enable_gdbjit = v8_enable_gdbjit_default - } else { - v8_enable_gdbjit = false - } + # List of extra files to snapshot. They will be snapshotted in order so + # if files export symbols used by later files, they should go first. + # + # This default is used by cctests. Projects using V8 will want to override. + v8_extra_library_files = [ "//test/cctest/test-extra.js" ] + + # Like v8_extra_library_files but for experimental features. + # + # This default is used by cctests. Projects using V8 will want to override. + v8_experimental_extra_library_files = + [ "//test/cctest/test-experimental-extra.js" ] + + v8_enable_gdbjit = ((v8_current_cpu == "x86" || v8_current_cpu == "x64" || + v8_current_cpu == "x87") && (is_linux || is_mac)) || + (v8_current_cpu == "ppc64" && is_linux) } # Derived defaults. @@ -195,6 +200,9 @@ config("features") { if (v8_enable_gdbjit) { defines += [ "ENABLE_GDB_JIT_INTERFACE" ] } + if (v8_enable_vtunejit) { + defines += [ "ENABLE_VTUNE_JIT_INTERFACE" ] + } if (v8_enable_object_print) { defines += [ "OBJECT_PRINT" ] } @@ -381,6 +389,10 @@ config("toolchain") { defines += [ "DEBUG" ] } + if (v8_enable_verify_csa) { + defines += [ "ENABLE_VERIFY_CSA" ] + } + if (v8_no_inline) { cflags += [ "-fno-inline-functions", @@ -395,11 +407,10 @@ config("toolchain") { # TODO(hans): Remove once http://crbug.com/428099 is resolved. "-Winconsistent-missing-override", ] - - if (v8_current_cpu == "x64" || v8_current_cpu == "arm64" || - v8_current_cpu == "mips64el") { - cflags += [ "-Wshorten-64-to-32" ] - } + #if (v8_current_cpu == "x64" || v8_current_cpu == "arm64" || + # v8_current_cpu == "mips64el") { + # cflags += [ "-Wshorten-64-to-32" ] + #} } } @@ -437,7 +448,6 @@ action("js2c") { "src/js/templates.js", "src/js/spread.js", "src/js/proxy.js", - "src/js/async-await.js", "src/js/harmony-string-padding.js", "src/debug/mirrors.js", "src/debug/debug.js", @@ -482,20 +492,12 @@ action("js2c_experimental") { "src/js/macros.py", "src/messages.h", "src/js/harmony-atomics.js", - "src/js/harmony-simd.js", ] outputs = [ "$target_gen_dir/experimental-libraries.cc", ] - if (v8_enable_i18n_support) { - sources += [ - "src/js/datetime-format-to-parts.js", - "src/js/icu-case-mapping.js", - ] - } - args = [ rebase_path("$target_gen_dir/experimental-libraries.cc", root_build_dir), @@ -749,6 +751,7 @@ action("v8_dump_build_config") { ] 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", @@ -757,6 +760,7 @@ action("v8_dump_build_config") { "is_msan=$is_msan", "is_tsan=$is_tsan", "target_cpu=\"$target_cpu\"", + "v8_current_cpu=\"$v8_current_cpu\"", "v8_enable_i18n_support=$v8_enable_i18n_support", "v8_enable_inspector=$v8_enable_inspector", "v8_target_cpu=\"$v8_target_cpu\"", @@ -866,7 +870,7 @@ if (v8_use_external_startup_data) { # This is split out to be a non-code containing target that the Chromium browser # DLL can depend upon to get only a version string. -v8_source_set("v8_version") { +v8_header_set("v8_version") { configs = [ ":internal_config" ] sources = [ @@ -928,8 +932,6 @@ v8_source_set("v8_base") { "src/ast/ast-expression-rewriter.h", "src/ast/ast-function-literal-id-reindexer.cc", "src/ast/ast-function-literal-id-reindexer.h", - "src/ast/ast-literal-reindexer.cc", - "src/ast/ast-literal-reindexer.h", "src/ast/ast-numbering.cc", "src/ast/ast-numbering.h", "src/ast/ast-traversal-visitor.h", @@ -967,8 +969,14 @@ v8_source_set("v8_base") { "src/bootstrapper.cc", "src/bootstrapper.h", "src/builtins/builtins-api.cc", + "src/builtins/builtins-arguments.cc", + "src/builtins/builtins-arguments.h", "src/builtins/builtins-array.cc", "src/builtins/builtins-arraybuffer.cc", + "src/builtins/builtins-async-function.cc", + "src/builtins/builtins-async-iterator.cc", + "src/builtins/builtins-async.cc", + "src/builtins/builtins-async.h", "src/builtins/builtins-boolean.cc", "src/builtins/builtins-call.cc", "src/builtins/builtins-callsite.cc", @@ -990,16 +998,19 @@ v8_source_set("v8_base") { "src/builtins/builtins-math.cc", "src/builtins/builtins-number.cc", "src/builtins/builtins-object.cc", + "src/builtins/builtins-object.h", "src/builtins/builtins-promise.cc", "src/builtins/builtins-promise.h", "src/builtins/builtins-proxy.cc", "src/builtins/builtins-reflect.cc", "src/builtins/builtins-regexp.cc", + "src/builtins/builtins-regexp.h", "src/builtins/builtins-sharedarraybuffer.cc", "src/builtins/builtins-string.cc", "src/builtins/builtins-symbol.cc", "src/builtins/builtins-typedarray.cc", "src/builtins/builtins-utils.h", + "src/builtins/builtins-wasm.cc", "src/builtins/builtins.cc", "src/builtins/builtins.h", "src/cached-powers.cc", @@ -1132,8 +1143,6 @@ v8_source_set("v8_base") { "src/compiler/js-frame-specialization.h", "src/compiler/js-generic-lowering.cc", "src/compiler/js-generic-lowering.h", - "src/compiler/js-global-object-specialization.cc", - "src/compiler/js-global-object-specialization.h", "src/compiler/js-graph.cc", "src/compiler/js-graph.h", "src/compiler/js-inlining-heuristic.cc", @@ -1146,6 +1155,8 @@ v8_source_set("v8_base") { "src/compiler/js-native-context-specialization.h", "src/compiler/js-operator.cc", "src/compiler/js-operator.h", + "src/compiler/js-type-hint-lowering.cc", + "src/compiler/js-type-hint-lowering.h", "src/compiler/js-typed-lowering.cc", "src/compiler/js-typed-lowering.h", "src/compiler/jump-threading.cc", @@ -1324,6 +1335,8 @@ v8_source_set("v8_base") { "src/dateparser-inl.h", "src/dateparser.cc", "src/dateparser.h", + "src/debug/debug-coverage.cc", + "src/debug/debug-coverage.h", "src/debug/debug-evaluate.cc", "src/debug/debug-evaluate.h", "src/debug/debug-frames.cc", @@ -1380,10 +1393,13 @@ v8_source_set("v8_base") { "src/feedback-vector-inl.h", "src/feedback-vector.cc", "src/feedback-vector.h", + "src/ffi/ffi-compiler.cc", + "src/ffi/ffi-compiler.h", "src/field-index-inl.h", "src/field-index.h", "src/field-type.cc", "src/field-type.h", + "src/find-and-replace-pattern.h", "src/fixed-dtoa.cc", "src/fixed-dtoa.h", "src/flag-definitions.h", @@ -1453,7 +1469,6 @@ v8_source_set("v8_base") { "src/ic/access-compiler-data.h", "src/ic/access-compiler.cc", "src/ic/access-compiler.h", - "src/ic/accessor-assembler-impl.h", "src/ic/accessor-assembler.cc", "src/ic/accessor-assembler.h", "src/ic/call-optimization.cc", @@ -1462,8 +1477,6 @@ v8_source_set("v8_base") { "src/ic/handler-compiler.h", "src/ic/handler-configuration-inl.h", "src/ic/handler-configuration.h", - "src/ic/ic-compiler.cc", - "src/ic/ic-compiler.h", "src/ic/ic-inl.h", "src/ic/ic-state.cc", "src/ic/ic-state.h", @@ -1537,6 +1550,7 @@ v8_source_set("v8_base") { "src/json-stringifier.h", "src/keys.cc", "src/keys.h", + "src/label.h", "src/layout-descriptor-inl.h", "src/layout-descriptor.cc", "src/layout-descriptor.h", @@ -1557,6 +1571,7 @@ v8_source_set("v8_base") { "src/machine-type.cc", "src/machine-type.h", "src/macro-assembler.h", + "src/managed.h", "src/map-updater.cc", "src/map-updater.h", "src/messages.cc", @@ -1569,9 +1584,12 @@ v8_source_set("v8_base") { "src/objects-printer.cc", "src/objects.cc", "src/objects.h", + "src/objects/literal-objects.cc", + "src/objects/literal-objects.h", "src/objects/module-info.h", "src/objects/object-macros-undef.h", "src/objects/object-macros.h", + "src/objects/regexp-match-info.h", "src/objects/scope-info.cc", "src/objects/scope-info.h", "src/ostreams.cc", @@ -1594,6 +1612,8 @@ v8_source_set("v8_base") { "src/parsing/preparse-data-format.h", "src/parsing/preparse-data.cc", "src/parsing/preparse-data.h", + "src/parsing/preparsed-scope-data.cc", + "src/parsing/preparsed-scope-data.h", "src/parsing/preparser.cc", "src/parsing/preparser.h", "src/parsing/rewriter.cc", @@ -1692,7 +1712,6 @@ v8_source_set("v8_base") { "src/runtime/runtime-proxy.cc", "src/runtime/runtime-regexp.cc", "src/runtime/runtime-scopes.cc", - "src/runtime/runtime-simd.cc", "src/runtime/runtime-strings.cc", "src/runtime/runtime-symbol.cc", "src/runtime/runtime-test.cc", @@ -1780,14 +1799,16 @@ v8_source_set("v8_base") { "src/vm-state-inl.h", "src/vm-state.h", "src/wasm/decoder.h", + "src/wasm/function-body-decoder-impl.h", "src/wasm/function-body-decoder.cc", "src/wasm/function-body-decoder.h", "src/wasm/leb-helper.h", - "src/wasm/managed.h", "src/wasm/module-decoder.cc", "src/wasm/module-decoder.h", "src/wasm/signature-map.cc", "src/wasm/signature-map.h", + "src/wasm/wasm-code-specialization.cc", + "src/wasm/wasm-code-specialization.h", "src/wasm/wasm-debug.cc", "src/wasm/wasm-external-refs.cc", "src/wasm/wasm-external-refs.h", @@ -2532,6 +2553,21 @@ group("gn_all") { } } +group("v8_clusterfuzz") { + deps = [ + ":d8", + ] + + if (v8_multi_arch_build) { + deps += [ + ":d8(//build/toolchain/linux:clang_x64)", + ":d8(//build/toolchain/linux:clang_x64_v8_arm64)", + ":d8(//build/toolchain/linux:clang_x86)", + ":d8(//build/toolchain/linux:clang_x86_v8_arm)", + ] + } +} + group("v8_fuzzers") { testonly = true deps = [ @@ -2609,8 +2645,6 @@ v8_executable("d8") { "//build/win:default_exe_manifest", ] - # TODO(jochen): Add support for vtunejit. - if (is_posix) { sources += [ "src/d8-posix.cc" ] } else if (is_win) { @@ -2629,6 +2663,10 @@ v8_executable("d8") { if (v8_enable_inspector) { defines += [ "V8_INSPECTOR_ENABLED" ] } + + if (v8_enable_vtunejit) { + deps += [ "//src/third_party/vtune:v8_vtune" ] + } } v8_isolate_run("d8") { @@ -3064,3 +3102,23 @@ v8_source_set("wasm_data_section_fuzzer") { v8_fuzzer("wasm_data_section_fuzzer") { } + +v8_source_set("wasm_compile_fuzzer") { + sources = [ + "test/fuzzer/wasm-compile.cc", + ] + + deps = [ + ":fuzzer_support", + ":wasm_module_runner", + ":wasm_test_signatures", + ] + + configs = [ + ":external_config", + ":internal_config_base", + ] +} + +v8_fuzzer("wasm_compile_fuzzer") { +} diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index 1ff3b3bf8ca25c..f3cd421bca11ac 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,1534 @@ +2017-02-25: Version 5.8.283 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.282 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.281 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.280 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.279 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.278 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.277 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.276 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.275 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.274 + + Performance and stability improvements on all platforms. + + +2017-02-24: Version 5.8.273 + + Performance and stability improvements on all platforms. + + +2017-02-22: Version 5.8.272 + + Performance and stability improvements on all platforms. + + +2017-02-22: Version 5.8.271 + + Performance and stability improvements on all platforms. + + +2017-02-22: Version 5.8.270 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.269 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.268 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.267 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.266 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.265 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.264 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.263 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.262 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.261 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.260 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.259 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.258 + + Performance and stability improvements on all platforms. + + +2017-02-21: Version 5.8.257 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.256 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.255 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.254 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.253 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.252 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.251 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.250 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.249 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.248 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.247 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.246 + + Performance and stability improvements on all platforms. + + +2017-02-20: Version 5.8.245 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.244 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.243 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.242 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.241 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.240 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.239 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.238 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.237 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.236 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.235 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.234 + + Performance and stability improvements on all platforms. + + +2017-02-17: Version 5.8.233 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.232 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.231 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.230 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.229 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.228 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.227 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.226 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.225 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.224 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.223 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.222 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.221 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.220 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.219 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.218 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.217 + + Performance and stability improvements on all platforms. + + +2017-02-16: Version 5.8.216 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.215 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.214 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.213 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.212 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.211 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.210 + + Performance and stability improvements on all platforms. + + +2017-02-15: Version 5.8.209 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.208 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.207 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.206 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.205 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.204 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.203 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.202 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.201 + + Performance and stability improvements on all platforms. + + +2017-02-14: Version 5.8.200 + + Remove SIMD.js from V8 (issues 4124, 5948). + + Performance and stability improvements on all platforms. + + +2017-02-13: Version 5.8.199 + + Performance and stability improvements on all platforms. + + +2017-02-13: Version 5.8.198 + + Remove SIMD.js from V8 (issues 4124, 5948). + + Performance and stability improvements on all platforms. + + +2017-02-13: Version 5.8.197 + + Performance and stability improvements on all platforms. + + +2017-02-13: Version 5.8.196 + + Remove SIMD.js from V8 (issue 4124, Chromium issue 5948). + + Performance and stability improvements on all platforms. + + +2017-02-13: Version 5.8.195 + + Performance and stability improvements on all platforms. + + +2017-02-12: Version 5.8.194 + + Performance and stability improvements on all platforms. + + +2017-02-12: Version 5.8.193 + + Performance and stability improvements on all platforms. + + +2017-02-11: Version 5.8.192 + + Performance and stability improvements on all platforms. + + +2017-02-11: Version 5.8.191 + + Performance and stability improvements on all platforms. + + +2017-02-11: Version 5.8.190 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.189 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.188 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.187 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.186 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.185 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.184 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.183 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.182 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.181 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.180 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.179 + + Performance and stability improvements on all platforms. + + +2017-02-10: Version 5.8.178 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.177 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.176 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.175 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.174 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.173 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.172 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.171 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.170 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.169 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.168 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.167 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.166 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.165 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.164 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.163 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.162 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.161 + + Performance and stability improvements on all platforms. + + +2017-02-09: Version 5.8.160 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.159 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.158 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.157 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.156 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.155 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.154 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.153 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.152 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.151 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.150 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.149 + + Performance and stability improvements on all platforms. + + +2017-02-08: Version 5.8.148 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.147 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.146 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.145 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.144 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.143 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.142 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.141 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.140 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.139 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.138 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.137 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.136 + + Performance and stability improvements on all platforms. + + +2017-02-07: Version 5.8.135 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.134 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.133 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.132 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.131 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.130 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.129 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.128 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.127 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.126 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.125 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.124 + + Performance and stability improvements on all platforms. + + +2017-02-06: Version 5.8.123 + + Performance and stability improvements on all platforms. + + +2017-02-05: Version 5.8.122 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.121 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.120 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.119 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.118 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.117 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.116 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.115 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.114 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.113 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.112 + + Performance and stability improvements on all platforms. + + +2017-02-03: Version 5.8.111 + + Performance and stability improvements on all platforms. + + +2017-02-02: Version 5.8.110 + + Performance and stability improvements on all platforms. + + +2017-02-02: Version 5.8.109 + + Performance and stability improvements on all platforms. + + +2017-02-02: Version 5.8.108 + + Performance and stability improvements on all platforms. + + +2017-02-02: Version 5.8.107 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.106 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.105 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.104 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.103 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.102 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.101 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.100 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.99 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.98 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.97 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.96 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.95 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.94 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.93 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.92 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.91 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.90 + + Performance and stability improvements on all platforms. + + +2017-02-01: Version 5.8.89 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.88 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.87 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.86 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.85 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.84 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.83 + + Performance and stability improvements on all platforms. + + +2017-01-31: Version 5.8.82 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.81 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.80 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.79 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.78 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.77 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.76 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.75 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.74 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.73 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.72 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.71 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.70 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.69 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.68 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.67 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.66 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.65 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.64 + + Performance and stability improvements on all platforms. + + +2017-01-30: Version 5.8.63 + + Performance and stability improvements on all platforms. + + +2017-01-29: Version 5.8.62 + + Performance and stability improvements on all platforms. + + +2017-01-29: Version 5.8.61 + + Performance and stability improvements on all platforms. + + +2017-01-27: Version 5.8.60 + + Performance and stability improvements on all platforms. + + +2017-01-27: Version 5.8.59 + + Performance and stability improvements on all platforms. + + +2017-01-27: Version 5.8.58 + + Performance and stability improvements on all platforms. + + +2017-01-27: Version 5.8.57 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.56 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.55 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.54 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.53 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.52 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.51 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.50 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.49 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.48 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.47 + + Performance and stability improvements on all platforms. + + +2017-01-26: Version 5.8.46 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.45 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.44 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.43 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.42 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.41 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.40 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.39 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.38 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.37 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.36 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.35 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.34 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.33 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.32 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.31 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.30 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.29 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.28 + + Performance and stability improvements on all platforms. + + +2017-01-25: Version 5.8.27 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.26 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.25 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.24 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.23 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.22 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.21 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.20 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.19 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.18 + + Performance and stability improvements on all platforms. + + +2017-01-24: Version 5.8.17 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.16 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.15 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.14 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.13 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.12 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.11 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.10 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.9 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.8 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.7 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.6 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.5 + + Performance and stability improvements on all platforms. + + +2017-01-23: Version 5.8.4 + + Performance and stability improvements on all platforms. + + +2017-01-22: Version 5.8.3 + + Performance and stability improvements on all platforms. + + +2017-01-21: Version 5.8.2 + + Performance and stability improvements on all platforms. + + +2017-01-20: Version 5.8.1 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.514 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.513 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.512 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.511 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.510 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.509 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.508 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.507 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.506 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.505 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.504 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.503 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.502 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.501 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.500 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.499 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.498 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.497 + + Performance and stability improvements on all platforms. + + +2017-01-18: Version 5.7.496 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.495 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.494 + + Performance and stability improvements on all platforms. + + +2017-01-17: Version 5.7.493 + + Performance and stability improvements on all platforms. + + 2017-01-17: Version 5.7.492 Performance and stability improvements on all platforms. diff --git a/deps/v8/DEPS b/deps/v8/DEPS index 6f66ac36f7ef54..f8e00855d4f3bd 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -8,23 +8,23 @@ vars = { deps = { "v8/build": - Var("chromium_url") + "/chromium/src/build.git" + "@" + "f55127ddc3632dbd6fef285c71ab4cb103e08f0c", + Var("chromium_url") + "/chromium/src/build.git" + "@" + "c7c2db69cd571523ce728c4d3dceedbd1896b519", "v8/tools/gyp": Var("chromium_url") + "/external/gyp.git" + "@" + "e7079f0e0e14108ab0dba58728ff219637458563", "v8/third_party/icu": - Var("chromium_url") + "/chromium/deps/icu.git" + "@" + "9cd2828740572ba6f694b9365236a8356fd06147", + Var("chromium_url") + "/chromium/deps/icu.git" + "@" + "450be73c9ee8ae29d43d4fdc82febb2a5f62bfb5", "v8/third_party/instrumented_libraries": Var("chromium_url") + "/chromium/src/third_party/instrumented_libraries.git" + "@" + "5b6f777da671be977f56f0e8fc3469a3ccbb4474", "v8/buildtools": - Var("chromium_url") + "/chromium/buildtools.git" + "@" + "cb12d6e8641f0c9b0fbbfa4bf17c55c6c0d3c38f", + Var("chromium_url") + "/chromium/buildtools.git" + "@" + "94cdccbebc7a634c27145a3d84089e85fbb42e69", "v8/base/trace_event/common": Var("chromium_url") + "/chromium/src/base/trace_event/common.git" + "@" + "06294c8a4a6f744ef284cd63cfe54dbf61eea290", "v8/third_party/jinja2": - Var("chromium_url") + "/chromium/src/third_party/jinja2.git" + "@" + "b61a2c009a579593a259c1b300e0ad02bf48fd78", + Var("chromium_url") + "/chromium/src/third_party/jinja2.git" + "@" + "d34383206fa42d52faa10bb9931d6d538f3a57e0", "v8/third_party/markupsafe": - Var("chromium_url") + "/chromium/src/third_party/markupsafe.git" + "@" + "484a5661041cac13bfc688a26ec5434b05d18961", + Var("chromium_url") + "/chromium/src/third_party/markupsafe.git" + "@" + "8f45f5cfa0009d2a70589bcda0349b8cb2b72783", "v8/tools/swarming_client": - Var('chromium_url') + '/external/swarming.client.git' + '@' + "ebc8dab6f8b8d79ec221c94de39a921145abd404", + Var('chromium_url') + '/external/swarming.client.git' + '@' + "11e31afa5d330756ff87aa12064bb5d032896cb5", "v8/testing/gtest": Var("chromium_url") + "/external/github.com/google/googletest.git" + "@" + "6f8a66431cb592dad629028a50b3dd418a408c87", "v8/testing/gmock": @@ -33,13 +33,14 @@ deps = { Var("chromium_url") + "/v8/deps/third_party/benchmarks.git" + "@" + "05d7188267b4560491ff9155c5ee13e207ecd65f", "v8/test/mozilla/data": Var("chromium_url") + "/v8/deps/third_party/mozilla-tests.git" + "@" + "f6c578a10ea707b1a8ab0b88943fe5115ce2b9be", - "v8/test/simdjs/data": Var("chromium_url") + "/external/github.com/tc39/ecmascript_simd.git" + "@" + "baf493985cb9ea7cdbd0d68704860a8156de9556", "v8/test/test262/data": - Var("chromium_url") + "/external/github.com/tc39/test262.git" + "@" + "6a0f1189eb00d38ef9760cb65cbc41c066876cde", + Var("chromium_url") + "/external/github.com/tc39/test262.git" + "@" + "a72ee6d91275aa6524e84a9b7070103411ef2689", "v8/test/test262/harness": Var("chromium_url") + "/external/github.com/test262-utils/test262-harness-py.git" + "@" + "0f2acdd882c84cff43b9d60df7574a1901e2cdcd", "v8/tools/clang": - Var("chromium_url") + "/chromium/src/tools/clang.git" + "@" + "f7ce1a5678e5addc015aed5f1e7734bbd2caac7c", + Var("chromium_url") + "/chromium/src/tools/clang.git" + "@" + "9913fb19b687b0c858f697efd7bd2468d789a3d5", + "v8/test/wasm-js": + Var("chromium_url") + "/external/github.com/WebAssembly/spec.git" + "@" + "b8b919e4a0d52db4d3d762e731e615bc3a38b3b2", } deps_os = { @@ -47,7 +48,7 @@ deps_os = { "v8/third_party/android_tools": Var("chromium_url") + "/android_tools.git" + "@" + "b43a6a289a7588b1769814f04dd6c7d7176974cc", "v8/third_party/catapult": - Var('chromium_url') + "/external/github.com/catapult-project/catapult.git" + "@" + "143ba4ddeb05e6165fb8413c5f3f47d342922d24", + Var('chromium_url') + "/external/github.com/catapult-project/catapult.git" + "@" + "246a39a82c2213d913a96fff020a263838dc76e6", }, "win": { "v8/third_party/cygwin": diff --git a/deps/v8/Makefile b/deps/v8/Makefile index 6eeac09a14875b..299d4aa09c97ac 100644 --- a/deps/v8/Makefile +++ b/deps/v8/Makefile @@ -51,6 +51,10 @@ endif ifeq ($(objectprint), on) GYPFLAGS += -Dv8_object_print=1 endif +# verifycsa=on +ifeq ($(verifycsa), on) + GYPFLAGS += -Dv8_enable_verify_csa=1 +endif # verifyheap=on ifeq ($(verifyheap), on) GYPFLAGS += -Dv8_enable_verify_heap=1 diff --git a/deps/v8/PRESUBMIT.py b/deps/v8/PRESUBMIT.py index 8321f5cedfd67e..4cacf811336530 100644 --- a/deps/v8/PRESUBMIT.py +++ b/deps/v8/PRESUBMIT.py @@ -79,7 +79,7 @@ def _V8PresubmitChecks(input_api, output_api): "Copyright header, trailing whitespaces and two empty lines " \ "between declarations check failed")) if not StatusFilesProcessor().RunOnFiles( - input_api.AffectedFiles(include_deletes=False)): + input_api.AffectedFiles(include_deletes=True)): results.append(output_api.PresubmitError("Status file check failed")) results.extend(input_api.canned_checks.CheckAuthorizedAuthor( input_api, output_api)) diff --git a/deps/v8/build_overrides/v8.gni b/deps/v8/build_overrides/v8.gni deleted file mode 100644 index 15a50558610fa0..00000000000000 --- a/deps/v8/build_overrides/v8.gni +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 2015 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. - -import("//build/config/v8_target_cpu.gni") - -if (((v8_current_cpu == "x86" || v8_current_cpu == "x64" || - v8_current_cpu == "x87") && (is_linux || is_mac)) || - (v8_current_cpu == "ppc64" && is_linux)) { - v8_enable_gdbjit_default = true -} - -v8_imminent_deprecation_warnings_default = true - -# Add simple extras solely for the purpose of the cctests. -v8_extra_library_files = [ "//test/cctest/test-extra.js" ] -v8_experimental_extra_library_files = - [ "//test/cctest/test-experimental-extra.js" ] - -v8_enable_inspector_override = true - -declare_args() { - # Use static libraries instead of source_sets. - v8_static_library = false -} diff --git a/deps/v8/gni/isolate.gni b/deps/v8/gni/isolate.gni index 3906cf60ef9345..a347eeaa24e1ba 100644 --- a/deps/v8/gni/isolate.gni +++ b/deps/v8/gni/isolate.gni @@ -61,6 +61,11 @@ template("v8_isolate_run") { } else { asan = "0" } + if (is_lsan) { + lsan = "1" + } else { + lsan = "0" + } if (is_msan) { msan = "1" } else { @@ -158,6 +163,8 @@ template("v8_isolate_run") { "--config-variable", "is_gn=1", "--config-variable", + "lsan=$lsan", + "--config-variable", "msan=$msan", "--config-variable", "tsan=$tsan", diff --git a/deps/v8/gni/v8.gni b/deps/v8/gni/v8.gni index cb2bdf2cf5d9a5..ea628e00007c87 100644 --- a/deps/v8/gni/v8.gni +++ b/deps/v8/gni/v8.gni @@ -4,12 +4,14 @@ import("//build/config/sanitizers/sanitizers.gni") import("//build/config/v8_target_cpu.gni") -import("//build_overrides/v8.gni") declare_args() { # Includes files needed for correctness fuzzing. v8_correctness_fuzzer = false + # Adds additional compile target for building multiple architectures at once. + v8_multi_arch_build = false + # Indicate if valgrind was fetched as a custom deps to make it available on # swarming. v8_has_valgrind = false @@ -36,7 +38,10 @@ declare_args() { v8_enable_i18n_support = true # Enable inspector. See include/v8-inspector.h. - v8_enable_inspector = v8_enable_inspector_override + v8_enable_inspector = true + + # Use static libraries instead of source_sets. + v8_static_library = false } if (v8_use_external_startup_data == "") { @@ -107,6 +112,15 @@ template("v8_source_set") { } } +template("v8_header_set") { + source_set(target_name) { + forward_variables_from(invoker, "*", [ "configs" ]) + configs += invoker.configs + configs -= v8_remove_configs + configs += v8_add_configs + } +} + template("v8_executable") { executable(target_name) { forward_variables_from(invoker, diff --git a/deps/v8/gypfiles/all.gyp b/deps/v8/gypfiles/all.gyp index 12e1fdadb76936..d3e275e10fa552 100644 --- a/deps/v8/gypfiles/all.gyp +++ b/deps/v8/gypfiles/all.gyp @@ -47,7 +47,6 @@ '../test/optimize_for_size.gyp:*', '../test/perf.gyp:*', '../test/preparser/preparser.gyp:*', - '../test/simdjs/simdjs.gyp:*', '../test/test262/test262.gyp:*', '../test/webkit/webkit.gyp:*', '../tools/check-static-initializers.gyp:*', diff --git a/deps/v8/gypfiles/features.gypi b/deps/v8/gypfiles/features.gypi index 5a21a63e324f49..0c4873c3a5f107 100644 --- a/deps/v8/gypfiles/features.gypi +++ b/deps/v8/gypfiles/features.gypi @@ -33,6 +33,8 @@ 'v8_enable_gdbjit%': 0, + 'v8_enable_verify_csa%': 0, + 'v8_object_print%': 0, 'v8_enable_verify_heap%': 0, @@ -78,6 +80,9 @@ ['v8_enable_gdbjit==1', { 'defines': ['ENABLE_GDB_JIT_INTERFACE',], }], + ['v8_enable_verify_csa==1', { + 'defines': ['ENABLE_VERIFY_CSA',], + }], ['v8_object_print==1', { 'defines': ['OBJECT_PRINT',], }], diff --git a/deps/v8/gypfiles/isolate.gypi b/deps/v8/gypfiles/isolate.gypi index 8f53a153c6222c..c55f3ca782516a 100644 --- a/deps/v8/gypfiles/isolate.gypi +++ b/deps/v8/gypfiles/isolate.gypi @@ -75,6 +75,7 @@ '--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', 'lsan=<(lsan)', '--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 5105fff0700199..88afb8612e4be9 100644 --- a/deps/v8/gypfiles/toolchain.gypi +++ b/deps/v8/gypfiles/toolchain.gypi @@ -315,6 +315,8 @@ 'defines': [ 'V8_TARGET_ARCH_S390_LE_SIM', ], + }, { + 'cflags': [ '-march=z196' ], }], ], }], # s390 diff --git a/deps/v8/include/v8-debug.h b/deps/v8/include/v8-debug.h index 777b8aaa3e645a..797d23314e2fd4 100644 --- a/deps/v8/include/v8-debug.h +++ b/deps/v8/include/v8-debug.h @@ -116,9 +116,7 @@ class V8_EXPORT Debug { virtual Local GetCallbackData() const = 0; /** - * Client data passed to DebugBreakForCommand function. The - * debugger takes ownership of the data and will delete it even if - * there is no message handler. + * This is now a dummy that returns nullptr. */ virtual ClientData* GetClientData() const = 0; @@ -132,23 +130,18 @@ class V8_EXPORT Debug { * * \param event_details object providing information about the debug event * - * A EventCallback2 does not take possession of the event data, + * A EventCallback does not take possession of the event data, * and must not rely on the data persisting after the handler returns. */ typedef void (*EventCallback)(const EventDetails& event_details); /** - * Debug message callback function. - * - * \param message the debug message handler message object - * - * A MessageHandler does not take possession of the message data, - * and must not rely on the data persisting after the handler returns. + * This is now a no-op. */ typedef void (*MessageHandler)(const Message& message); /** - * Callback function for the host to ensure debug messages are processed. + * This is now a no-op. */ typedef void (*DebugMessageDispatchHandler)(); @@ -167,11 +160,12 @@ class V8_EXPORT Debug { V8_DEPRECATED("No longer supported", static bool CheckDebugBreak(Isolate* isolate)); - // Message based interface. The message protocol is JSON. + // This is now a no-op. V8_DEPRECATED("No longer supported", static void SetMessageHandler(Isolate* isolate, MessageHandler handler)); + // This is now a no-op. V8_DEPRECATED("No longer supported", static void SendCommand(Isolate* isolate, const uint16_t* command, int length, @@ -200,44 +194,7 @@ class V8_EXPORT Debug { v8::Local fun, Local data = Local()); - /** - * Returns a mirror object for the given object. - */ - V8_DEPRECATED("No longer supported", - static MaybeLocal GetMirror(Local context, - v8::Local obj)); - - /** - * Makes V8 process all pending debug messages. - * - * From V8 point of view all debug messages come asynchronously (e.g. from - * remote debugger) but they all must be handled synchronously: V8 cannot - * do 2 things at one time so normal script execution must be interrupted - * for a while. - * - * Generally when message arrives V8 may be in one of 3 states: - * 1. V8 is running script; V8 will automatically interrupt and process all - * pending messages; - * 2. V8 is suspended on debug breakpoint; in this state V8 is dedicated - * to reading and processing debug messages; - * 3. V8 is not running at all or has called some long-working C++ function; - * by default it means that processing of all debug messages will be deferred - * until V8 gets control again; however, embedding application may improve - * this by manually calling this method. - * - * Technically this method in many senses is equivalent to executing empty - * script: - * 1. It does nothing except for processing all pending debug messages. - * 2. It should be invoked with the same precautions and from the same context - * as V8 script would be invoked from, because: - * a. with "evaluate" command it can do whatever normal script can do, - * including all native calls; - * b. no other thread should call V8 while this method is running - * (v8::Locker may be used here). - * - * "Evaluate" debug command behavior currently is not specified in scope - * of this method. - */ + // This is now a no-op. V8_DEPRECATED("No longer supported", static void ProcessDebugMessages(Isolate* isolate)); diff --git a/deps/v8/include/v8-inspector.h b/deps/v8/include/v8-inspector.h index d0925adba0460c..c7209ed69aeae7 100644 --- a/deps/v8/include/v8-inspector.h +++ b/deps/v8/include/v8-inspector.h @@ -85,6 +85,8 @@ class V8_EXPORT V8ContextInfo { StringView auxData; bool hasMemoryOnConsole; + static int executionContextId(v8::Local context); + private: // Disallow copying and allocating this one. enum NotNullTagEnum { NotNullLiteral }; @@ -156,8 +158,6 @@ class V8_EXPORT V8InspectorSession { virtual void releaseObjectGroup(const StringView&) = 0; }; -enum class V8ConsoleAPIType { kClear, kDebug, kLog, kInfo, kWarning, kError }; - class V8_EXPORT V8InspectorClient { public: virtual ~V8InspectorClient() {} @@ -189,7 +189,8 @@ class V8_EXPORT V8InspectorClient { virtual void installAdditionalCommandLineAPI(v8::Local, v8::Local) {} - virtual void consoleAPIMessage(int contextGroupId, V8ConsoleAPIType, + virtual void consoleAPIMessage(int contextGroupId, + v8::Isolate::MessageErrorLevel level, const StringView& message, const StringView& url, unsigned lineNumber, unsigned columnNumber, V8StackTrace*) {} @@ -201,6 +202,7 @@ class V8_EXPORT V8InspectorClient { virtual void consoleTime(const StringView& title) {} virtual void consoleTimeEnd(const StringView& title) {} virtual void consoleTimeStamp(const StringView& title) {} + virtual void consoleClear(int contextGroupId) {} virtual double currentTimeMS() { return 0; } typedef void (*TimerCallback)(void*); virtual void startRepeatingTimer(double, TimerCallback, void* data) {} diff --git a/deps/v8/include/v8-profiler.h b/deps/v8/include/v8-profiler.h index 74c0613946d513..f7d182f8021e1f 100644 --- a/deps/v8/include/v8-profiler.h +++ b/deps/v8/include/v8-profiler.h @@ -5,6 +5,7 @@ #ifndef V8_V8_PROFILER_H_ #define V8_V8_PROFILER_H_ +#include #include #include "v8.h" // NOLINT(build/include) @@ -392,8 +393,7 @@ class V8_EXPORT HeapGraphNode { // snapshot items together. kConsString = 10, // Concatenated string. A pair of pointers to strings. kSlicedString = 11, // Sliced string. A fragment of another string. - kSymbol = 12, // A Symbol (ES6). - kSimdValue = 13 // A SIMD value stored in the heap (Proposed ES7). + kSymbol = 12 // A Symbol (ES6). }; /** Returns node type (see HeapGraphNode::Type). */ @@ -630,6 +630,24 @@ class V8_EXPORT HeapProfiler { kSamplingForceGC = 1 << 0, }; + typedef std::unordered_set*> + RetainerChildren; + typedef std::vector> + RetainerGroups; + typedef std::vector*, + const v8::PersistentBase*>> + RetainerEdges; + + struct RetainerInfos { + RetainerGroups groups; + RetainerEdges edges; + }; + + /** + * Callback function invoked to retrieve all RetainerInfos from the embedder. + */ + typedef RetainerInfos (*GetRetainerInfosCallback)(v8::Isolate* isolate); + /** * Callback function invoked for obtaining RetainedObjectInfo for * the given JavaScript wrapper object. It is prohibited to enter V8 @@ -782,6 +800,8 @@ class V8_EXPORT HeapProfiler { uint16_t class_id, WrapperInfoCallback callback); + void SetGetRetainerInfosCallback(GetRetainerInfosCallback callback); + /** * Default value of persistent handle class ID. Must not be used to * define a class. Can be used to reset a class of a persistent diff --git a/deps/v8/include/v8-util.h b/deps/v8/include/v8-util.h index 8133fdd49dcf4f..a04a5e84f80dc4 100644 --- a/deps/v8/include/v8-util.h +++ b/deps/v8/include/v8-util.h @@ -6,6 +6,7 @@ #define V8_UTIL_H_ #include "v8.h" // NOLINT(build/include) +#include #include #include @@ -210,7 +211,7 @@ class PersistentValueMapBase { * key. */ void RegisterExternallyReferencedObject(K& key) { - DCHECK(Contains(key)); + assert(Contains(key)); V8::RegisterExternallyReferencedObject( reinterpret_cast(FromVal(Traits::Get(&impl_, key))), reinterpret_cast(GetIsolate())); diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 2301f219b36198..2cc9821769a586 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -9,9 +9,9 @@ // NOTE these macros are used by some of the tool scripts and the build // system so their names cannot be changed without changing the scripts. #define V8_MAJOR_VERSION 5 -#define V8_MINOR_VERSION 7 -#define V8_BUILD_NUMBER 492 -#define V8_PATCH_LEVEL 69 +#define V8_MINOR_VERSION 8 +#define V8_BUILD_NUMBER 283 +#define V8_PATCH_LEVEL 38 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index f00ecc7465d84e..baf44170f03d07 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -962,20 +962,31 @@ class V8_EXPORT Data { class ScriptOriginOptions { public: V8_INLINE ScriptOriginOptions(bool is_shared_cross_origin = false, - bool is_opaque = false, bool is_wasm = false) + bool is_opaque = false, bool is_wasm = false, + bool is_module = false) : flags_((is_shared_cross_origin ? kIsSharedCrossOrigin : 0) | - (is_wasm ? kIsWasm : 0) | (is_opaque ? kIsOpaque : 0)) {} + (is_wasm ? kIsWasm : 0) | (is_opaque ? kIsOpaque : 0) | + (is_module ? kIsModule : 0)) {} V8_INLINE ScriptOriginOptions(int flags) - : flags_(flags & (kIsSharedCrossOrigin | kIsOpaque | kIsWasm)) {} + : flags_(flags & + (kIsSharedCrossOrigin | kIsOpaque | kIsWasm | kIsModule)) {} + bool IsSharedCrossOrigin() const { return (flags_ & kIsSharedCrossOrigin) != 0; } bool IsOpaque() const { return (flags_ & kIsOpaque) != 0; } bool IsWasm() const { return (flags_ & kIsWasm) != 0; } + bool IsModule() const { return (flags_ & kIsModule) != 0; } + int Flags() const { return flags_; } private: - enum { kIsSharedCrossOrigin = 1, kIsOpaque = 1 << 1, kIsWasm = 1 << 2 }; + enum { + kIsSharedCrossOrigin = 1, + kIsOpaque = 1 << 1, + kIsWasm = 1 << 2, + kIsModule = 1 << 3 + }; const int flags_; }; @@ -992,7 +1003,8 @@ class ScriptOrigin { Local script_id = Local(), Local source_map_url = Local(), Local resource_is_opaque = Local(), - Local is_wasm = Local()); + Local is_wasm = Local(), + Local is_module = Local()); V8_INLINE Local ResourceName() const; V8_INLINE Local ResourceLineOffset() const; @@ -1183,6 +1195,8 @@ class V8_EXPORT ScriptCompiler { // alive. V8_INLINE const CachedData* GetCachedData() const; + V8_INLINE const ScriptOriginOptions& GetResourceOptions() const; + // Prevent copying. Source(const Source&) = delete; Source& operator=(const Source&) = delete; @@ -1425,7 +1439,7 @@ class V8_EXPORT ScriptCompiler { private: static V8_WARN_UNUSED_RESULT MaybeLocal CompileUnboundInternal( - Isolate* isolate, Source* source, CompileOptions options, bool is_module); + Isolate* isolate, Source* source, CompileOptions options); }; @@ -1771,7 +1785,7 @@ class V8_EXPORT ValueSerializer { /* * Marks an ArrayBuffer as havings its contents transferred out of band. - * Pass the corresponding JSArrayBuffer in the deserializing context to + * Pass the corresponding ArrayBuffer in the deserializing context to * ValueDeserializer::TransferArrayBuffer. */ void TransferArrayBuffer(uint32_t transfer_id, @@ -2158,12 +2172,6 @@ class V8_EXPORT Value : public Data { */ bool IsFloat64Array() const; - /** - * Returns true if this value is a SIMD Float32x4. - * This is an experimental feature. - */ - bool IsFloat32x4() const; - /** * Returns true if this value is a DataView. */ @@ -2326,7 +2334,7 @@ class V8_EXPORT String : public Name { enum Encoding { UNKNOWN_ENCODING = 0x1, TWO_BYTE_ENCODING = 0x0, - ONE_BYTE_ENCODING = 0x4 + ONE_BYTE_ENCODING = 0x8 }; /** * Returns the number of characters in this string. @@ -2442,6 +2450,7 @@ class V8_EXPORT String : public Name { private: friend class internal::Heap; + friend class v8::String; }; /** @@ -4613,8 +4622,11 @@ class V8_EXPORT External : public Value { static void CheckCast(v8::Value* obj); }; - -#define V8_INTRINSICS_LIST(F) F(ArrayProto_values, array_values_iterator) +#define V8_INTRINSICS_LIST(F) \ + F(ArrayProto_entries, array_entries_iterator) \ + F(ArrayProto_forEach, array_for_each_iterator) \ + F(ArrayProto_keys, array_keys_iterator) \ + F(ArrayProto_values, array_values_iterator) enum Intrinsic { #define V8_DECL_INTRINSIC(name, iname) k##name, @@ -6360,7 +6372,8 @@ class V8_EXPORT Isolate { create_histogram_callback(nullptr), add_histogram_sample_callback(nullptr), array_buffer_allocator(nullptr), - external_references(nullptr) {} + external_references(nullptr), + allow_atomics_wait(true) {} /** * The optional entry_hook allows the host application to provide the @@ -6416,6 +6429,12 @@ class V8_EXPORT Isolate { * entire lifetime of the isolate. */ intptr_t* external_references; + + /** + * Whether calling Atomics.wait (a function that may block) is allowed in + * this isolate. + */ + bool allow_atomics_wait; }; @@ -6789,6 +6808,14 @@ class V8_EXPORT Isolate { /** Returns the last context entered through V8's C++ API. */ Local GetEnteredContext(); + /** + * Returns either the last context entered through V8's C++ API, or the + * context of the currently running microtask while processing microtasks. + * If a context is entered while executing a microtask, that context is + * returned. + */ + Local GetEnteredOrMicrotaskContext(); + /** * Schedules an exception to be thrown when returning to JavaScript. When an * exception has been scheduled it is illegal to invoke any JavaScript @@ -6809,9 +6836,9 @@ class V8_EXPORT Isolate { * for partially dependent handles only. */ template - V8_DEPRECATE_SOON("Use EmbedderHeapTracer", - void SetObjectGroupId(const Persistent& object, - UniqueId id)); + V8_DEPRECATED("Use EmbedderHeapTracer", + void SetObjectGroupId(const Persistent& object, + UniqueId id)); /** * Allows the host application to declare implicit references from an object @@ -6821,9 +6848,9 @@ class V8_EXPORT Isolate { * callback function. */ template - V8_DEPRECATE_SOON("Use EmbedderHeapTracer", - void SetReferenceFromGroup(UniqueId id, - const Persistent& child)); + V8_DEPRECATED("Use EmbedderHeapTracer", + void SetReferenceFromGroup(UniqueId id, + const Persistent& child)); /** * Allows the host application to declare implicit references from an object @@ -6832,9 +6859,9 @@ class V8_EXPORT Isolate { * is intended to be used in the before-garbage-collection callback function. */ template - V8_DEPRECATE_SOON("Use EmbedderHeapTracer", - void SetReference(const Persistent& parent, - const Persistent& child)); + V8_DEPRECATED("Use EmbedderHeapTracer", + void SetReference(const Persistent& parent, + const Persistent& child)); typedef void (*GCCallback)(Isolate* isolate, GCType type, GCCallbackFlags flags); @@ -8476,10 +8503,10 @@ class Internals { static const int kFixedArrayHeaderSize = 2 * kApiPointerSize; static const int kContextHeaderSize = 2 * kApiPointerSize; static const int kContextEmbedderDataIndex = 5; - static const int kFullStringRepresentationMask = 0x07; - static const int kStringEncodingMask = 0x4; + static const int kFullStringRepresentationMask = 0x0f; + static const int kStringEncodingMask = 0x8; static const int kExternalTwoByteRepresentationTag = 0x02; - static const int kExternalOneByteRepresentationTag = 0x06; + static const int kExternalOneByteRepresentationTag = 0x0a; static const int kIsolateEmbedderDataOffset = 0 * kApiPointerSize; static const int kExternalMemoryOffset = 4 * kApiPointerSize; @@ -8504,11 +8531,11 @@ class Internals { static const int kNodeIsIndependentShift = 3; static const int kNodeIsActiveShift = 4; - static const int kJSApiObjectType = 0xbb; - static const int kJSObjectType = 0xbc; + static const int kJSApiObjectType = 0xb9; + static const int kJSObjectType = 0xba; static const int kFirstNonstringType = 0x80; - static const int kOddballType = 0x83; - static const int kForeignType = 0x87; + static const int kOddballType = 0x82; + static const int kForeignType = 0x86; static const int kUndefinedOddballKind = 5; static const int kNullOddballKind = 3; @@ -9026,14 +9053,15 @@ ScriptOrigin::ScriptOrigin(Local resource_name, Local script_id, Local source_map_url, Local resource_is_opaque, - Local is_wasm) + Local is_wasm, Local is_module) : resource_name_(resource_name), resource_line_offset_(resource_line_offset), resource_column_offset_(resource_column_offset), options_(!resource_is_shared_cross_origin.IsEmpty() && resource_is_shared_cross_origin->IsTrue(), !resource_is_opaque.IsEmpty() && resource_is_opaque->IsTrue(), - !is_wasm.IsEmpty() && is_wasm->IsTrue()), + !is_wasm.IsEmpty() && is_wasm->IsTrue(), + !is_module.IsEmpty() && is_module->IsTrue()), script_id_(script_id), source_map_url_(source_map_url) {} @@ -9082,13 +9110,16 @@ const ScriptCompiler::CachedData* ScriptCompiler::Source::GetCachedData() return cached_data; } +const ScriptOriginOptions& ScriptCompiler::Source::GetResourceOptions() const { + return resource_options; +} Local Boolean::New(Isolate* isolate, bool value) { return value ? True(isolate) : False(isolate); } void Template::Set(Isolate* isolate, const char* name, Local value) { - Set(String::NewFromUtf8(isolate, name, NewStringType::kNormal) + Set(String::NewFromUtf8(isolate, name, NewStringType::kInternalized) .ToLocalChecked(), value); } diff --git a/deps/v8/infra/config/cq.cfg b/deps/v8/infra/config/cq.cfg index 6e6c725e6d53a4..72381ee38801c8 100644 --- a/deps/v8/infra/config/cq.cfg +++ b/deps/v8/infra/config/cq.cfg @@ -4,10 +4,11 @@ version: 1 cq_name: "v8" cq_status_url: "https://chromium-cq-status.appspot.com" +git_repo_url: "https://chromium.googlesource.com/v8/v8" commit_burst_delay: 60 max_commit_burst: 1 -target_ref: "refs/pending/heads/master" +gerrit {} rietveld { url: "https://codereview.chromium.org" } @@ -18,6 +19,11 @@ verifiers { dry_run_access_list: "project-v8-tryjob-access" } + gerrit_cq_ability { + committer_list: "project-v8-committers" + dry_run_access_list: "project-v8-tryjob-access" + } + tree_status { tree_status_url: "https://v8-status.appspot.com" } @@ -46,6 +52,11 @@ verifiers { name: "v8_linux64_rel_ng_triggered" triggered_by: "v8_linux64_rel_ng" } + builders { name: "v8_linux64_verify_csa_rel_ng" } + builders { + name: "v8_linux64_verify_csa_rel_ng_triggered" + triggered_by: "v8_linux64_verify_csa_rel_ng" + } builders { name: "v8_linux_arm64_rel_ng" } builders { name: "v8_linux_arm64_rel_ng_triggered" @@ -75,6 +86,11 @@ verifiers { name: "v8_linux_rel_ng_triggered" triggered_by: "v8_linux_rel_ng" } + builders { name: "v8_linux_verify_csa_rel_ng" } + builders { + name: "v8_linux_verify_csa_rel_ng_triggered" + triggered_by: "v8_linux_verify_csa_rel_ng" + } builders { name: "v8_mac_rel_ng" } builders { name: "v8_mac_rel_ng_triggered" diff --git a/deps/v8/infra/mb/mb_config.pyl b/deps/v8/infra/mb/mb_config.pyl index 2ac80d00f579a6..2a78d8627f52c0 100644 --- a/deps/v8/infra/mb/mb_config.pyl +++ b/deps/v8/infra/mb/mb_config.pyl @@ -18,6 +18,12 @@ 'ia32.debug': 'default_debug_x86', 'ia32.optdebug': 'default_optdebug_x86', 'ia32.release': 'default_release_x86', + 'mipsel.debug': 'default_debug_mipsel', + 'mipsel.optdebug': 'default_optdebug_mipsel', + 'mipsel.release': 'default_release_mipsel', + 'mips64el.debug': 'default_debug_mips64el', + 'mips64el.optdebug': 'default_optdebug_mips64el', + 'mips64el.release': 'default_release_mips64el', 'x64.debug': 'default_debug_x64', 'x64.optdebug': 'default_optdebug_x64', 'x64.release': 'default_release_x64', @@ -39,12 +45,14 @@ 'V8 Linux - nosnap debug builder': 'gn_debug_x86_no_snap', 'V8 Linux - shared': 'gn_release_x86_shared_verify_heap', 'V8 Linux - noi18n - debug': 'gn_debug_x86_no_i18n', + 'V8 Linux - verify csa': 'gn_release_x86_verify_csa', # Linux64. 'V8 Linux64 - builder': 'gn_release_x64_valgrind', 'V8 Linux64 - debug builder': 'gn_debug_x64_valgrind', 'V8 Linux64 - custom snapshot - debug builder': 'gn_debug_x64_custom', 'V8 Linux64 - internal snapshot': 'gn_release_x64_internal', 'V8 Linux64 - gyp': 'gyp_release_x64', + 'V8 Linux64 - verify csa': 'gn_release_x64_verify_csa', # Windows. 'V8 Win32 - builder': 'gn_release_x86_minimal_symbols', 'V8 Win32 - debug builder': 'gn_debug_x86_minimal_symbols', @@ -147,6 +155,7 @@ }, 'tryserver.v8': { 'v8_linux_rel_ng': 'gn_release_x86_gcmole_trybot', + 'v8_linux_verify_csa_rel_ng': 'gn_release_x86_verify_csa', 'v8_linux_avx2_dbg': 'gn_debug_x86_trybot', 'v8_linux_nodcheck_rel_ng': 'gn_release_x86_minimal_symbols', 'v8_linux_dbg_ng': 'gn_debug_x86_trybot', @@ -157,6 +166,7 @@ 'v8_linux_gcc_compile_rel': 'gn_release_x86_gcc_minimal_symbols', 'v8_linux_gcc_rel': 'gn_release_x86_gcc_minimal_symbols', 'v8_linux64_rel_ng': 'gn_release_x64_valgrind_trybot', + 'v8_linux64_verify_csa_rel_ng': 'gn_release_x64_verify_csa', 'v8_linux64_gyp_rel_ng': 'gyp_release_x64', 'v8_linux64_avx2_rel_ng': 'gn_release_x64_trybot', 'v8_linux64_avx2_dbg': 'gn_debug_x64_trybot', @@ -210,6 +220,20 @@ 'gn', 'debug', 'simulate_arm64', 'v8_enable_slow_dchecks'], 'default_release_arm64': [ 'gn', 'release', 'simulate_arm64'], + 'default_debug_mipsel': [ + 'gn', 'debug', 'simulate_mipsel', 'v8_enable_slow_dchecks', + 'v8_full_debug'], + 'default_optdebug_mipsel': [ + 'gn', 'debug', 'simulate_mipsel', 'v8_enable_slow_dchecks'], + 'default_release_mipsel': [ + 'gn', 'release', 'simulate_mipsel'], + 'default_debug_mips64el': [ + 'gn', 'debug', 'simulate_mips64el', 'v8_enable_slow_dchecks', + 'v8_full_debug'], + 'default_optdebug_mips64el': [ + 'gn', 'debug', 'simulate_mips64el', 'v8_enable_slow_dchecks'], + 'default_release_mips64el': [ + 'gn', 'release', 'simulate_mips64el'], 'default_debug_x64': [ 'gn', 'debug', 'x64', 'v8_enable_slow_dchecks', 'v8_full_debug'], 'default_optdebug_x64': [ @@ -302,6 +326,9 @@ 'gn', 'release_bot', 'x64', 'swarming', 'valgrind'], 'gn_release_x64_valgrind_trybot': [ 'gn', 'release_trybot', 'x64', 'swarming', 'valgrind'], + 'gn_release_x64_verify_csa': [ + 'gn', 'release_bot', 'x64', 'swarming', 'dcheck_always_on', + 'v8_enable_slow_dchecks', 'v8_verify_csa'], # GN debug configs for x64. 'gn_debug_x64': [ @@ -359,6 +386,9 @@ 'gn', 'release', 'x86', 'goma', 'shared', 'swarming', 'v8_verify_heap'], 'gn_release_x86_trybot': [ 'gn', 'release_trybot', 'x86', 'swarming'], + 'gn_release_x86_verify_csa': [ + 'gn', 'release_bot', 'x86', 'swarming', 'dcheck_always_on', + 'v8_enable_slow_dchecks', 'v8_verify_csa'], # Gyp debug configs for simulators. 'gyp_debug_simulate_x87': [ @@ -628,7 +658,7 @@ }, 'v8_correctness_fuzzer': { - 'gn_args': 'v8_correctness_fuzzer=true', + 'gn_args': 'v8_correctness_fuzzer=true v8_multi_arch_build=true', }, 'v8_disable_inspector': { @@ -694,6 +724,10 @@ 'gyp_defines': 'v8_enable_verify_heap=1', }, + 'v8_verify_csa': { + 'gn_args': 'v8_enable_verify_csa=true', + }, + 'x64': { 'gn_args': 'target_cpu="x64"', 'gyp_defines': 'target_arch=x64', diff --git a/deps/v8/src/accessors.h b/deps/v8/src/accessors.h index 218fb3572ff75e..a4d51fd18abfc4 100644 --- a/deps/v8/src/accessors.h +++ b/deps/v8/src/accessors.h @@ -8,7 +8,6 @@ #include "include/v8.h" #include "src/allocation.h" #include "src/globals.h" -#include "src/handles.h" #include "src/property-details.h" namespace v8 { @@ -16,6 +15,8 @@ namespace internal { // Forward declarations. class AccessorInfo; +template +class Handle; // The list of accessor descriptors. This is a second-order macro // taking a macro to be applied to all accessor descriptor names. diff --git a/deps/v8/src/api-experimental.h b/deps/v8/src/api-experimental.h index bc0bc55739b503..5b1bc1b04a2b18 100644 --- a/deps/v8/src/api-experimental.h +++ b/deps/v8/src/api-experimental.h @@ -5,11 +5,11 @@ #ifndef V8_API_EXPERIMENTAL_H_ #define V8_API_EXPERIMENTAL_H_ -#include "src/handles.h" - namespace v8 { namespace internal { class Code; +template +class MaybeHandle; } // internal; namespace experimental { class FastAccessorBuilder; diff --git a/deps/v8/src/api-natives.cc b/deps/v8/src/api-natives.cc index 87138bd5cf7d2c..045ff470ab232e 100644 --- a/deps/v8/src/api-natives.cc +++ b/deps/v8/src/api-natives.cc @@ -538,8 +538,6 @@ MaybeHandle ApiNatives::InstantiateRemoteObject( JSFunction::SetInitialMap(object_function, object_map, isolate->factory()->null_value()); object_map->set_is_access_check_needed(true); - object_map->set_is_callable(); - object_map->set_is_constructor(true); Handle object = isolate->factory()->NewJSObject(object_function); JSObject::ForceSetPrototype(object, isolate->factory()->null_value()); diff --git a/deps/v8/src/api.cc b/deps/v8/src/api.cc index 446b008a556eed..beefd61bdb6b9d 100644 --- a/deps/v8/src/api.cc +++ b/deps/v8/src/api.cc @@ -35,6 +35,7 @@ #include "src/contexts.h" #include "src/conversions-inl.h" #include "src/counters.h" +#include "src/debug/debug-coverage.h" #include "src/debug/debug.h" #include "src/deoptimizer.h" #include "src/execution.h" @@ -47,6 +48,7 @@ #include "src/json-parser.h" #include "src/json-stringifier.h" #include "src/messages.h" +#include "src/objects-inl.h" #include "src/parsing/parser.h" #include "src/parsing/scanner-character-streams.h" #include "src/pending-compilation-error-handler.h" @@ -283,7 +285,8 @@ static ScriptOrigin GetScriptOriginForScript(i::Isolate* isolate, v8::Integer::New(v8_isolate, script->id()), Utils::ToLocal(source_map_url), v8::Boolean::New(v8_isolate, options.IsOpaque()), - v8::Boolean::New(v8_isolate, script->type() == i::Script::TYPE_WASM)); + v8::Boolean::New(v8_isolate, script->type() == i::Script::TYPE_WASM), + v8::Boolean::New(v8_isolate, options.IsModule())); return origin; } @@ -2103,8 +2106,7 @@ MaybeLocal Module::Evaluate(Local context) { } MaybeLocal ScriptCompiler::CompileUnboundInternal( - Isolate* v8_isolate, Source* source, CompileOptions options, - bool is_module) { + Isolate* v8_isolate, Source* source, CompileOptions options) { i::Isolate* isolate = reinterpret_cast(v8_isolate); PREPARE_FOR_EXECUTION_WITH_ISOLATE(isolate, ScriptCompiler, CompileUnbound, UnboundScript); @@ -2149,7 +2151,7 @@ MaybeLocal ScriptCompiler::CompileUnboundInternal( result = i::Compiler::GetSharedFunctionInfoForScript( str, name_obj, line_offset, column_offset, source->resource_options, source_map_url, isolate->native_context(), NULL, &script_data, options, - i::NOT_NATIVES_CODE, is_module); + i::NOT_NATIVES_CODE); has_pending_exception = result.is_null(); if (has_pending_exception && script_data != NULL) { // This case won't happen during normal operation; we have compiled @@ -2178,24 +2180,34 @@ MaybeLocal ScriptCompiler::CompileUnboundInternal( MaybeLocal ScriptCompiler::CompileUnboundScript( Isolate* v8_isolate, Source* source, CompileOptions options) { - return CompileUnboundInternal(v8_isolate, source, options, false); + Utils::ApiCheck( + !source->GetResourceOptions().IsModule(), + "v8::ScriptCompiler::CompileUnboundScript", + "v8::ScriptCompiler::CompileModule must be used to compile modules"); + return CompileUnboundInternal(v8_isolate, source, options); } Local ScriptCompiler::CompileUnbound(Isolate* v8_isolate, Source* source, CompileOptions options) { - RETURN_TO_LOCAL_UNCHECKED( - CompileUnboundInternal(v8_isolate, source, options, false), - UnboundScript); + Utils::ApiCheck( + !source->GetResourceOptions().IsModule(), + "v8::ScriptCompiler::CompileUnbound", + "v8::ScriptCompiler::CompileModule must be used to compile modules"); + RETURN_TO_LOCAL_UNCHECKED(CompileUnboundInternal(v8_isolate, source, options), + UnboundScript); } MaybeLocal