diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1ab73471c87b8a..e3c26a907b67f4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -33,7 +33,8 @@ release.
-10.3.0
+10.4.0
+10.3.0
10.2.1
10.2.0
10.1.0
diff --git a/Makefile b/Makefile
index a7099947c72a78..b11168aaa456af 100644
--- a/Makefile
+++ b/Makefile
@@ -643,7 +643,7 @@ available-node = \
exit 1; \
fi;
-run-npm-install = $(PWD)/$(NPM) install --production
+run-npm-install = $(PWD)/$(NPM) install --production --no-package-lock
tools/doc/node_modules/js-yaml/package.json:
cd tools/doc && $(call available-node,$(run-npm-install))
diff --git a/benchmark/assert/deepequal-buffer.js b/benchmark/assert/deepequal-buffer.js
index 9556a81ec3b151..fe3f6f9754c3a0 100644
--- a/benchmark/assert/deepequal-buffer.js
+++ b/benchmark/assert/deepequal-buffer.js
@@ -14,6 +14,8 @@ const bench = common.createBenchmark(main, {
});
function main({ len, n, method }) {
+ if (!method)
+ method = 'deepEqual';
const data = Buffer.allocUnsafe(len + 1);
const actual = Buffer.alloc(len);
const expected = Buffer.alloc(len);
@@ -22,8 +24,7 @@ function main({ len, n, method }) {
data.copy(expected);
data.copy(expectedWrong);
- // eslint-disable-next-line no-restricted-properties
- const fn = method !== '' ? assert[method] : assert.deepEqual;
+ const fn = assert[method];
const value2 = method.includes('not') ? expectedWrong : expected;
bench.start();
diff --git a/benchmark/assert/deepequal-map.js b/benchmark/assert/deepequal-map.js
index bdd3c5c6b8c514..c6c7173fe8ed6d 100644
--- a/benchmark/assert/deepequal-map.js
+++ b/benchmark/assert/deepequal-map.js
@@ -1,9 +1,8 @@
'use strict';
-/* eslint-disable no-restricted-properties */
-
const common = require('../common.js');
-const assert = require('assert');
+const { deepEqual, deepStrictEqual, notDeepEqual, notDeepStrictEqual } =
+ require('assert');
const bench = common.createBenchmark(main, {
n: [5e2],
@@ -47,74 +46,74 @@ function main({ n, len, method }) {
// Empty string falls through to next line as default, mostly for tests.
case 'deepEqual_primitiveOnly':
values = array.map((_, i) => [`str_${i}`, 123]);
- benchmark(assert.deepEqual, n, values);
+ benchmark(deepEqual, n, values);
break;
case 'deepStrictEqual_primitiveOnly':
values = array.map((_, i) => [`str_${i}`, 123]);
- benchmark(assert.deepStrictEqual, n, values);
+ benchmark(deepStrictEqual, n, values);
break;
case 'deepEqual_objectOnly':
values = array.map((_, i) => [[`str_${i}`, 1], 123]);
- benchmark(assert.deepEqual, n, values);
+ benchmark(deepEqual, n, values);
break;
case 'deepStrictEqual_objectOnly':
values = array.map((_, i) => [[`str_${i}`, 1], 123]);
- benchmark(assert.deepStrictEqual, n, values);
+ benchmark(deepStrictEqual, n, values);
break;
case 'deepEqual_mixed':
values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]);
- benchmark(assert.deepEqual, n, values);
+ benchmark(deepEqual, n, values);
break;
case 'deepStrictEqual_mixed':
values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]);
- benchmark(assert.deepStrictEqual, n, values);
+ benchmark(deepStrictEqual, n, values);
break;
case 'deepEqual_looseMatches':
values = array.map((_, i) => [i, i]);
values2 = values.slice().map((v) => [String(v[0]), String(v[1])]);
- benchmark(assert.deepEqual, n, values, values2);
+ benchmark(deepEqual, n, values, values2);
break;
case 'notDeepEqual_primitiveOnly':
values = array.map((_, i) => [`str_${i}`, 123]);
values2 = values.slice(0);
values2[Math.floor(len / 2)] = ['w00t', 123];
- benchmark(assert.notDeepEqual, n, values, values2);
+ benchmark(notDeepEqual, n, values, values2);
break;
case 'notDeepStrictEqual_primitiveOnly':
values = array.map((_, i) => [`str_${i}`, 123]);
values2 = values.slice(0);
values2[Math.floor(len / 2)] = ['w00t', 123];
- benchmark(assert.notDeepStrictEqual, n, values, values2);
+ benchmark(notDeepStrictEqual, n, values, values2);
break;
case 'notDeepEqual_objectOnly':
values = array.map((_, i) => [[`str_${i}`, 1], 123]);
values2 = values.slice(0);
values2[Math.floor(len / 2)] = [['w00t'], 123];
- benchmark(assert.notDeepEqual, n, values, values2);
+ benchmark(notDeepEqual, n, values, values2);
break;
case 'notDeepStrictEqual_objectOnly':
values = array.map((_, i) => [[`str_${i}`, 1], 123]);
values2 = values.slice(0);
values2[Math.floor(len / 2)] = [['w00t'], 123];
- benchmark(assert.notDeepStrictEqual, n, values, values2);
+ benchmark(notDeepStrictEqual, n, values, values2);
break;
case 'notDeepEqual_mixed':
values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]);
values2 = values.slice(0);
values2[0] = ['w00t', 123];
- benchmark(assert.notDeepEqual, n, values, values2);
+ benchmark(notDeepEqual, n, values, values2);
break;
case 'notDeepStrictEqual_mixed':
values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]);
values2 = values.slice(0);
values2[0] = ['w00t', 123];
- benchmark(assert.notDeepStrictEqual, n, values, values2);
+ benchmark(notDeepStrictEqual, n, values, values2);
break;
case 'notDeepEqual_looseMatches':
values = array.map((_, i) => [i, i]);
values2 = values.slice().map((v) => [String(v[0]), String(v[1])]);
values2[len - 1] = [String(len + 1), String(len + 1)];
- benchmark(assert.notDeepEqual, n, values, values2);
+ benchmark(notDeepEqual, n, values, values2);
break;
default:
throw new Error(`Unsupported method ${method}`);
diff --git a/benchmark/assert/deepequal-object.js b/benchmark/assert/deepequal-object.js
index 4c95006b3b8bc7..124943b19ec761 100644
--- a/benchmark/assert/deepequal-object.js
+++ b/benchmark/assert/deepequal-object.js
@@ -29,13 +29,15 @@ function main({ size, n, method }) {
// TODO: Fix this "hack". `n` should not be manipulated.
n = n / size;
+ if (!method)
+ method = 'deepEqual';
+
const source = Array.apply(null, Array(size));
const actual = createObj(source);
const expected = createObj(source);
const expectedWrong = createObj(source, '4');
- // eslint-disable-next-line no-restricted-properties
- const fn = method !== '' ? assert[method] : assert.deepEqual;
+ const fn = assert[method];
const value2 = method.includes('not') ? expectedWrong : expected;
bench.start();
diff --git a/benchmark/assert/deepequal-prims-and-objs-big-array-set.js b/benchmark/assert/deepequal-prims-and-objs-big-array-set.js
index 90dbf1059361a5..4578e5a250f392 100644
--- a/benchmark/assert/deepequal-prims-and-objs-big-array-set.js
+++ b/benchmark/assert/deepequal-prims-and-objs-big-array-set.js
@@ -1,7 +1,8 @@
'use strict';
const common = require('../common.js');
-const assert = require('assert');
+const { deepEqual, deepStrictEqual, notDeepEqual, notDeepStrictEqual } =
+ require('assert');
const primValues = {
'null': null,
@@ -61,32 +62,28 @@ function main({ n, len, primitive, method }) {
// Empty string falls through to next line as default, mostly for tests.
case '':
case 'deepEqual_Array':
- // eslint-disable-next-line no-restricted-properties
- run(assert.deepEqual, n, actual, expected);
+ run(deepEqual, n, actual, expected);
break;
case 'deepStrictEqual_Array':
- run(assert.deepStrictEqual, n, actual, expected);
+ run(deepStrictEqual, n, actual, expected);
break;
case 'notDeepEqual_Array':
- // eslint-disable-next-line no-restricted-properties
- run(assert.notDeepEqual, n, actual, expectedWrong);
+ run(notDeepEqual, n, actual, expectedWrong);
break;
case 'notDeepStrictEqual_Array':
- run(assert.notDeepStrictEqual, n, actual, expectedWrong);
+ run(notDeepStrictEqual, n, actual, expectedWrong);
break;
case 'deepEqual_Set':
- // eslint-disable-next-line no-restricted-properties
- run(assert.deepEqual, n, actualSet, expectedSet);
+ run(deepEqual, n, actualSet, expectedSet);
break;
case 'deepStrictEqual_Set':
- run(assert.deepStrictEqual, n, actualSet, expectedSet);
+ run(deepStrictEqual, n, actualSet, expectedSet);
break;
case 'notDeepEqual_Set':
- // eslint-disable-next-line no-restricted-properties
- run(assert.notDeepEqual, n, actualSet, expectedWrongSet);
+ run(notDeepEqual, n, actualSet, expectedWrongSet);
break;
case 'notDeepStrictEqual_Set':
- run(assert.notDeepStrictEqual, n, actualSet, expectedWrongSet);
+ run(notDeepStrictEqual, n, actualSet, expectedWrongSet);
break;
default:
throw new Error(`Unsupported method "${method}"`);
diff --git a/benchmark/assert/deepequal-prims-and-objs-big-loop.js b/benchmark/assert/deepequal-prims-and-objs-big-loop.js
index ec51201d51839d..f1183dab32a3fb 100644
--- a/benchmark/assert/deepequal-prims-and-objs-big-loop.js
+++ b/benchmark/assert/deepequal-prims-and-objs-big-loop.js
@@ -25,13 +25,14 @@ const bench = common.createBenchmark(main, {
});
function main({ n, primitive, method }) {
+ if (!method)
+ method = 'deepEqual';
const prim = primValues[primitive];
const actual = prim;
const expected = prim;
const expectedWrong = 'b';
- // eslint-disable-next-line no-restricted-properties
- const fn = method !== '' ? assert[method] : assert.deepEqual;
+ const fn = assert[method];
const value2 = method.includes('not') ? expectedWrong : expected;
bench.start();
diff --git a/benchmark/assert/deepequal-set.js b/benchmark/assert/deepequal-set.js
index e70ddf10e93626..6769e5e37fafb7 100644
--- a/benchmark/assert/deepequal-set.js
+++ b/benchmark/assert/deepequal-set.js
@@ -1,9 +1,8 @@
'use strict';
-/* eslint-disable no-restricted-properties */
-
const common = require('../common.js');
-const assert = require('assert');
+const { deepEqual, deepStrictEqual, notDeepEqual, notDeepStrictEqual } =
+ require('assert');
const bench = common.createBenchmark(main, {
n: [5e2],
@@ -48,60 +47,60 @@ function main({ n, len, method }) {
// Empty string falls through to next line as default, mostly for tests.
case 'deepEqual_primitiveOnly':
values = array.map((_, i) => `str_${i}`);
- benchmark(assert.deepEqual, n, values);
+ benchmark(deepEqual, n, values);
break;
case 'deepStrictEqual_primitiveOnly':
values = array.map((_, i) => `str_${i}`);
- benchmark(assert.deepStrictEqual, n, values);
+ benchmark(deepStrictEqual, n, values);
break;
case 'deepEqual_objectOnly':
values = array.map((_, i) => [`str_${i}`, null]);
- benchmark(assert.deepEqual, n, values);
+ benchmark(deepEqual, n, values);
break;
case 'deepStrictEqual_objectOnly':
values = array.map((_, i) => [`str_${i}`, null]);
- benchmark(assert.deepStrictEqual, n, values);
+ benchmark(deepStrictEqual, n, values);
break;
case 'deepEqual_mixed':
values = array.map((_, i) => {
return i % 2 ? [`str_${i}`, null] : `str_${i}`;
});
- benchmark(assert.deepEqual, n, values);
+ benchmark(deepEqual, n, values);
break;
case 'deepStrictEqual_mixed':
values = array.map((_, i) => {
return i % 2 ? [`str_${i}`, null] : `str_${i}`;
});
- benchmark(assert.deepStrictEqual, n, values);
+ benchmark(deepStrictEqual, n, values);
break;
case 'deepEqual_looseMatches':
values = array.map((_, i) => i);
values2 = values.slice().map((v) => String(v));
- benchmark(assert.deepEqual, n, values, values2);
+ benchmark(deepEqual, n, values, values2);
break;
case 'notDeepEqual_primitiveOnly':
values = array.map((_, i) => `str_${i}`);
values2 = values.slice(0);
values2[Math.floor(len / 2)] = 'w00t';
- benchmark(assert.notDeepEqual, n, values, values2);
+ benchmark(notDeepEqual, n, values, values2);
break;
case 'notDeepStrictEqual_primitiveOnly':
values = array.map((_, i) => `str_${i}`);
values2 = values.slice(0);
values2[Math.floor(len / 2)] = 'w00t';
- benchmark(assert.notDeepStrictEqual, n, values, values2);
+ benchmark(notDeepStrictEqual, n, values, values2);
break;
case 'notDeepEqual_objectOnly':
values = array.map((_, i) => [`str_${i}`, null]);
values2 = values.slice(0);
values2[Math.floor(len / 2)] = ['w00t'];
- benchmark(assert.notDeepEqual, n, values, values2);
+ benchmark(notDeepEqual, n, values, values2);
break;
case 'notDeepStrictEqual_objectOnly':
values = array.map((_, i) => [`str_${i}`, null]);
values2 = values.slice(0);
values2[Math.floor(len / 2)] = ['w00t'];
- benchmark(assert.notDeepStrictEqual, n, values, values2);
+ benchmark(notDeepStrictEqual, n, values, values2);
break;
case 'notDeepEqual_mixed':
values = array.map((_, i) => {
@@ -109,7 +108,7 @@ function main({ n, len, method }) {
});
values2 = values.slice();
values2[0] = 'w00t';
- benchmark(assert.notDeepEqual, n, values, values2);
+ benchmark(notDeepEqual, n, values, values2);
break;
case 'notDeepStrictEqual_mixed':
values = array.map((_, i) => {
@@ -117,13 +116,13 @@ function main({ n, len, method }) {
});
values2 = values.slice();
values2[0] = 'w00t';
- benchmark(assert.notDeepStrictEqual, n, values, values2);
+ benchmark(notDeepStrictEqual, n, values, values2);
break;
case 'notDeepEqual_looseMatches':
values = array.map((_, i) => i);
values2 = values.slice().map((v) => String(v));
values2[len - 1] = String(len + 1);
- benchmark(assert.notDeepEqual, n, values, values2);
+ benchmark(notDeepEqual, n, values, values2);
break;
default:
throw new Error(`Unsupported method "${method}"`);
diff --git a/benchmark/assert/deepequal-typedarrays.js b/benchmark/assert/deepequal-typedarrays.js
index 50e6e525b20a0c..c4d8f434bf4e8a 100644
--- a/benchmark/assert/deepequal-typedarrays.js
+++ b/benchmark/assert/deepequal-typedarrays.js
@@ -25,6 +25,8 @@ const bench = common.createBenchmark(main, {
});
function main({ type, n, len, method }) {
+ if (!method)
+ method = 'deepEqual';
const clazz = global[type];
const actual = new clazz(len);
const expected = new clazz(len);
@@ -32,8 +34,7 @@ function main({ type, n, len, method }) {
const wrongIndex = Math.floor(len / 2);
expectedWrong[wrongIndex] = 123;
- // eslint-disable-next-line no-restricted-properties
- const fn = method !== '' ? assert[method] : assert.deepEqual;
+ const fn = assert[method];
const value2 = method.includes('not') ? expectedWrong : expected;
bench.start();
diff --git a/benchmark/assert/throws.js b/benchmark/assert/throws.js
index 2409d19206e353..a8a7bd4509e1ca 100644
--- a/benchmark/assert/throws.js
+++ b/benchmark/assert/throws.js
@@ -1,7 +1,7 @@
'use strict';
const common = require('../common.js');
-const assert = require('assert');
+const { throws, doesNotThrow } = require('assert');
const bench = common.createBenchmark(main, {
n: [1e6],
@@ -14,8 +14,8 @@ const bench = common.createBenchmark(main, {
});
function main({ n, method }) {
- const throws = () => { throw new TypeError('foobar'); };
- const doesNotThrow = () => { return 'foobar'; };
+ const throwError = () => { throw new TypeError('foobar'); };
+ const doNotThrowError = () => { return 'foobar'; };
const regExp = /foobar/;
const message = 'failure';
var i;
@@ -26,30 +26,28 @@ function main({ n, method }) {
case 'doesNotThrow':
bench.start();
for (i = 0; i < n; ++i) {
- // eslint-disable-next-line no-restricted-syntax
- assert.doesNotThrow(doesNotThrow);
+ doesNotThrow(doNotThrowError);
}
bench.end(n);
break;
case 'throws':
bench.start();
for (i = 0; i < n; ++i) {
- // eslint-disable-next-line no-restricted-syntax
- assert.throws(throws);
+ throws(throwError);
}
bench.end(n);
break;
case 'throws_TypeError':
bench.start();
for (i = 0; i < n; ++i) {
- assert.throws(throws, TypeError, message);
+ throws(throwError, TypeError, message);
}
bench.end(n);
break;
case 'throws_RegExp':
bench.start();
for (i = 0; i < n; ++i) {
- assert.throws(throws, regExp, message);
+ throws(throwError, regExp, message);
}
bench.end(n);
break;
diff --git a/benchmark/compare.R b/benchmark/compare.R
index 1527d680c38182..7a0c89af3de4c5 100644
--- a/benchmark/compare.R
+++ b/benchmark/compare.R
@@ -107,8 +107,8 @@ options(width = 200);
print(statistics);
cat("\n")
cat(sprintf(
-"Be aware that when doing many comparisions the risk of a false-positive
-result increases. In this case there are %d comparisions, you can thus
+"Be aware that when doing many comparisons the risk of a false-positive
+result increases. In this case there are %d comparisons, you can thus
expect the following amount of false-positive results:
%.2f false positives, when considering a 5%% risk acceptance (*, **, ***),
%.2f false positives, when considering a 1%% risk acceptance (**, ***),
diff --git a/benchmark/crypto/aes-gcm-throughput.js b/benchmark/crypto/aes-gcm-throughput.js
index 5c1e71e7280575..cd8f29c8c7d7b2 100644
--- a/benchmark/crypto/aes-gcm-throughput.js
+++ b/benchmark/crypto/aes-gcm-throughput.js
@@ -9,6 +9,9 @@ const bench = common.createBenchmark(main, {
});
function main({ n, len, cipher }) {
+ // Default cipher for tests.
+ if (cipher === '')
+ cipher = 'aes-128-gcm';
const message = Buffer.alloc(len, 'b');
const key = crypto.randomBytes(keylen[cipher]);
const iv = crypto.randomBytes(12);
diff --git a/benchmark/crypto/cipher-stream.js b/benchmark/crypto/cipher-stream.js
index 64f6ff7b7292be..9f986dfb36b60d 100644
--- a/benchmark/crypto/cipher-stream.js
+++ b/benchmark/crypto/cipher-stream.js
@@ -10,6 +10,9 @@ const bench = common.createBenchmark(main, {
});
function main({ api, cipher, type, len, writes }) {
+ // Default cipher for tests.
+ if (cipher === '')
+ cipher = 'AES192';
if (api === 'stream' && /^v0\.[0-8]\./.test(process.version)) {
console.error('Crypto streams not available until v0.10');
// use the legacy, just so that we can compare them.
diff --git a/common.gypi b/common.gypi
index 31196e22535393..641aa90b17c1d3 100644
--- a/common.gypi
+++ b/common.gypi
@@ -27,7 +27,7 @@
# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
- 'v8_embedder_string': '-node.9',
+ 'v8_embedder_string': '-node.7',
# Enable disassembler for `--print-code` v8 options
'v8_enable_disassembler': 1,
diff --git a/configure b/configure
index 17e13a48d47e5a..c4dda999fd23c8 100755
--- a/configure
+++ b/configure
@@ -443,11 +443,6 @@ parser.add_option('--debug-lib',
dest='node_debug_lib',
help='build lib with DCHECK macros')
-http2_optgroup.add_option('--debug-http2',
- action='store_true',
- dest='debug_http2',
- help='build with http2 debug statements on (default is false)')
-
http2_optgroup.add_option('--debug-nghttp2',
action='store_true',
dest='debug_nghttp2',
@@ -970,11 +965,6 @@ def configure_node(o):
o['variables']['node_debug_lib'] = b(options.node_debug_lib)
- if options.debug_http2:
- o['variables']['debug_http2'] = 1
- else:
- o['variables']['debug_http2'] = 'false'
-
if options.debug_nghttp2:
o['variables']['debug_nghttp2'] = 1
else:
diff --git a/deps/v8/.gitignore b/deps/v8/.gitignore
index 4ea2ead23d990d..630c3f2a09d3f8 100644
--- a/deps/v8/.gitignore
+++ b/deps/v8/.gitignore
@@ -49,24 +49,25 @@
/test/fuzzer/wasm_corpus.tar.gz
/test/mozilla/data
/test/test262/data
-/test/test262/data.tar
/test/test262/harness
/test/wasm-js
/test/wasm-spec-tests/tests
/test/wasm-spec-tests/tests.tar.gz
-/testing/gmock
-/testing/gtest/*
-!/testing/gtest/include
-/testing/gtest/include/*
-!/testing/gtest/include/gtest
-/testing/gtest/include/gtest/*
-!/testing/gtest/include/gtest/gtest_prod.h
/third_party/*
+!/third_party/antlr4
!/third_party/binutils
-!/third_party/eu-strip
!/third_party/inspector_protocol
!/third_party/colorama
/third_party/colorama/src
+!/third_party/googletest
+/third_party/googletest/src/*
+!/third_party/googletest/src/googletest
+/third_party/googletest/src/googletest/*
+!/third_party/googletest/src/googletest/include
+/third_party/googletest/src/googletest/include/*
+!/third_party/googletest/src/googletest/include/gtest
+/third_party/googletest/src/googletest/include/gtest/*
+!/third_party/googletest/src/googletest/include/gtest/gtest_prod.h
/tools/clang
/tools/gcmole/gcmole-tools
/tools/gcmole/gcmole-tools.tar.gz
diff --git a/deps/v8/.gn b/deps/v8/.gn
index c80980ea092d05..573fd030d80cf1 100644
--- a/deps/v8/.gn
+++ b/deps/v8/.gn
@@ -21,5 +21,4 @@ check_targets = []
# These are the list of GN files that run exec_script. This whitelist exists
# to force additional review for new uses of exec_script, which is strongly
# discouraged except for gypi_to_gn calls.
-exec_script_whitelist =
- build_dotfile_settings.exec_script_whitelist + [ "//test/test262/BUILD.gn" ]
+exec_script_whitelist = build_dotfile_settings.exec_script_whitelist + []
diff --git a/deps/v8/.vpython b/deps/v8/.vpython
index 9ea0da7145bb16..6a9ce3f693ef11 100644
--- a/deps/v8/.vpython
+++ b/deps/v8/.vpython
@@ -30,3 +30,16 @@ wheel: <
name: "infra/python/wheels/psutil/${vpython_platform}"
version: "version:5.2.2"
>
+
+# Used by:
+# build/toolchain/win
+wheel: <
+ name: "infra/python/wheels/pypiwin32/${vpython_platform}"
+ version: "version:219"
+ match_tag: <
+ platform: "win32"
+ >
+ match_tag: <
+ platform: "win_amd64"
+ >
+>
diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS
index 76a27ac1952ace..4b5163961d282e 100644
--- a/deps/v8/AUTHORS
+++ b/deps/v8/AUTHORS
@@ -99,6 +99,7 @@ Maciej Małecki
Marcin Cieślak
Marcin Wiącek
Mateusz Czeladka
+Matheus Marchini
Mathias Bynens
Matt Hanselman
Matthew Sporleder
@@ -138,6 +139,7 @@ Seo Sanghyeon
Stefan Penner
Sylvestre Ledru
Taketoshi Aono
+Teddy Katz
Tiancheng "Timothy" Gu
Tobias Burnus
Victor Costan
@@ -145,6 +147,7 @@ Vlad Burlik
Vladimir Krivosheev
Vladimir Shutoff
Wiktor Garbacz
+Xiaoyin Liu
Yong Wang
Yu Yin
Zac Hansen
diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn
index 72a19b2ca450fa..4b48f7d6874df9 100644
--- a/deps/v8/BUILD.gn
+++ b/deps/v8/BUILD.gn
@@ -9,19 +9,23 @@ import("//build/config/host_byteorder.gni")
import("//build/config/jumbo.gni")
import("//build/config/mips.gni")
import("//build/config/sanitizers/sanitizers.gni")
+import("//build_overrides/build.gni")
if (is_android) {
import("//build/config/android/rules.gni")
}
import("gni/v8.gni")
-import("gni/isolate.gni")
import("snapshot_toolchain.gni")
declare_args() {
# Print to stdout on Android.
v8_android_log_stdout = false
+ # Turns on all V8 debug features. Enables running V8 in a pseudo debug mode
+ # within a release Chrome.
+ v8_enable_debugging_features = is_debug
+
# Sets -DV8_ENABLE_FUTURE.
v8_enable_future = false
@@ -65,7 +69,8 @@ declare_args() {
v8_enable_fast_mksnapshot = false
# Enable embedded builtins.
- # TODO(jgruber,v8:6666): Support ia32.
+ # TODO(jgruber,v8:6666): Support ia32 and maybe MSVC.
+ # TODO(jgruber,v8:6666): Re-enable after the M67 branch point.
v8_enable_embedded_builtins = false
# Enable code-generation-time checking of types in the CodeStubAssembler.
@@ -142,29 +147,33 @@ declare_args() {
# Enable mitigations for executing untrusted code.
v8_untrusted_code_mitigations = true
+
+ # Enable minor mark compact.
+ v8_enable_minor_mc = true
}
# Derived defaults.
if (v8_enable_verify_heap == "") {
- v8_enable_verify_heap = is_debug
+ v8_enable_verify_heap = v8_enable_debugging_features
}
if (v8_enable_object_print == "") {
- v8_enable_object_print = is_debug
+ v8_enable_object_print = v8_enable_debugging_features
}
if (v8_enable_disassembler == "") {
- v8_enable_disassembler = is_debug
+ v8_enable_disassembler = v8_enable_debugging_features
}
if (v8_enable_trace_maps == "") {
- v8_enable_trace_maps = is_debug
+ v8_enable_trace_maps = v8_enable_debugging_features
}
if (v8_enable_test_features == "") {
- v8_enable_test_features = is_debug || dcheck_always_on
+ v8_enable_test_features = v8_enable_debugging_features || dcheck_always_on
}
if (v8_enable_v8_checks == "") {
- v8_enable_v8_checks = is_debug
+ v8_enable_v8_checks = v8_enable_debugging_features
}
if (v8_check_microtasks_scopes_consistency == "") {
- v8_check_microtasks_scopes_consistency = is_debug || dcheck_always_on
+ v8_check_microtasks_scopes_consistency =
+ v8_enable_debugging_features || dcheck_always_on
}
# Specifies if the target build is a simulator build. Comparing target cpu
@@ -268,6 +277,9 @@ config("features") {
if (v8_enable_vtunejit) {
defines += [ "ENABLE_VTUNE_JIT_INTERFACE" ]
}
+ if (v8_enable_minor_mc) {
+ defines += [ "ENABLE_MINOR_MC" ]
+ }
if (v8_enable_object_print) {
defines += [ "OBJECT_PRINT" ]
}
@@ -326,6 +338,9 @@ config("features") {
if (v8_enable_embedded_builtins) {
defines += [ "V8_EMBEDDED_BUILTINS" ]
}
+ if (v8_use_multi_snapshots) {
+ defines += [ "V8_MULTI_SNAPSHOTS" ]
+ }
}
config("toolchain") {
@@ -497,7 +512,7 @@ config("toolchain") {
# TODO(jochen): Support v8_enable_prof on Windows.
# TODO(jochen): Add support for compiling with simulators.
- if (is_debug) {
+ if (v8_enable_debugging_features) {
if (is_linux && v8_enable_backtrace) {
ldflags += [ "-rdynamic" ]
}
@@ -527,6 +542,8 @@ config("toolchain") {
if (is_clang) {
cflags += [
+ "-Wmissing-field-initializers",
+
# TODO(hans): Remove once http://crbug.com/428099 is resolved.
"-Winconsistent-missing-override",
]
@@ -602,8 +619,6 @@ action("js2c") {
"src/js/prologue.js",
"src/js/array.js",
"src/js/typedarray.js",
- "src/js/messages.js",
- "src/js/spread.js",
"src/debug/mirrors.js",
"src/debug/debug.js",
"src/debug/liveedit.js",
@@ -717,6 +732,8 @@ action("d8_js2c") {
if (is_android && enable_java_templates) {
android_assets("v8_external_startup_data_assets") {
if (v8_use_external_startup_data) {
+ # We don't support side-by-side snapshots on Android within Chromium.
+ assert(!v8_use_multi_snapshots)
deps = [
"//v8",
]
@@ -756,6 +773,10 @@ if (v8_use_external_startup_data) {
"$root_out_dir/natives_blob.bin",
]
+ data = [
+ "$root_out_dir/natives_blob.bin",
+ ]
+
script = "tools/concatenate-files.py"
args = rebase_path(sources + outputs, root_build_dir)
@@ -786,6 +807,8 @@ action("postmortem-metadata") {
"src/objects/js-array.h",
"src/objects/js-regexp-inl.h",
"src/objects/js-regexp.h",
+ "src/objects/js-regexp-string-iterator-inl.h",
+ "src/objects/js-regexp-string-iterator.h",
"src/objects/map.h",
"src/objects/map-inl.h",
"src/objects/script.h",
@@ -804,8 +827,24 @@ action("postmortem-metadata") {
rebase_path(sources, root_build_dir)
}
-if (v8_use_snapshot) {
- action("run_mksnapshot") {
+# Template to generate different V8 snapshots based on different runtime flags.
+# Can be invoked with run_mksnapshot(). The target will resolve to
+# run_mksnapshot_. If is "default", no file suffixes will be used.
+# Otherwise files are suffixed, e.g. embedded_.cc and
+# snapshot_blob_.bin.
+#
+# The template exposes the variables:
+# args: additional flags for mksnapshots
+# embedded_suffix: a camel case suffix for method names in the embedded
+# snapshot.
+template("run_mksnapshot") {
+ name = target_name
+ if (name == "default") {
+ suffix = ""
+ } else {
+ suffix = "_$name"
+ }
+ action("run_mksnapshot_" + name) {
visibility = [ ":*" ] # Only targets in this file can depend on this.
deps = [
@@ -816,19 +855,33 @@ if (v8_use_snapshot) {
sources = []
- outputs = [
- "$target_gen_dir/snapshot.cc",
- ]
+ outputs = []
+
+ data = []
args = [
"./" + rebase_path(get_label_info(":mksnapshot($v8_snapshot_toolchain)",
"root_out_dir") + "/mksnapshot",
root_build_dir),
"--turbo_instruction_scheduling",
- "--startup_src",
- rebase_path("$target_gen_dir/snapshot.cc", root_build_dir),
]
+ args += invoker.args
+
+ if (v8_enable_embedded_builtins) {
+ outputs += [ "$target_gen_dir/embedded${suffix}.cc" ]
+ args += [
+ "--embedded_src",
+ rebase_path("$target_gen_dir/embedded${suffix}.cc", root_build_dir),
+ ]
+ if (invoker.embedded_variant != "") {
+ args += [
+ "--embedded_variant",
+ invoker.embedded_variant,
+ ]
+ }
+ }
+
if (v8_random_seed != "0") {
args += [
"--random-seed",
@@ -848,10 +901,17 @@ if (v8_use_snapshot) {
}
if (v8_use_external_startup_data) {
- outputs += [ "$root_out_dir/snapshot_blob.bin" ]
+ outputs += [ "$root_out_dir/snapshot_blob${suffix}.bin" ]
+ data += [ "$root_out_dir/snapshot_blob${suffix}.bin" ]
args += [
"--startup_blob",
- rebase_path("$root_out_dir/snapshot_blob.bin", root_build_dir),
+ rebase_path("$root_out_dir/snapshot_blob${suffix}.bin", root_build_dir),
+ ]
+ } else {
+ outputs += [ "$target_gen_dir/snapshot${suffix}.cc" ]
+ args += [
+ "--startup_src",
+ rebase_path("$target_gen_dir/snapshot${suffix}.cc", root_build_dir),
]
}
@@ -869,6 +929,23 @@ if (v8_use_snapshot) {
}
}
+if (v8_use_snapshot) {
+ run_mksnapshot("default") {
+ args = []
+ if (v8_enable_embedded_builtins) {
+ embedded_variant = "Default"
+ }
+ }
+ if (v8_use_multi_snapshots) {
+ run_mksnapshot("trusted") {
+ args = [ "--no-untrusted-code-mitigations" ]
+ if (v8_enable_embedded_builtins) {
+ embedded_variant = "Trusted"
+ }
+ }
+ }
+}
+
action("v8_dump_build_config") {
script = "tools/testrunner/utils/dump_build_config.py"
outputs = [
@@ -882,7 +959,7 @@ action("v8_dump_build_config") {
"is_asan=$is_asan",
"is_cfi=$is_cfi",
"is_component_build=$is_component_build",
- "is_debug=$is_debug",
+ "is_debug=$v8_enable_debugging_features",
"is_gcov_coverage=$is_gcov_coverage",
"is_msan=$is_msan",
"is_tsan=$is_tsan",
@@ -940,12 +1017,13 @@ v8_source_set("v8_nosnapshot") {
"$target_gen_dir/experimental-extras-libraries.cc",
"$target_gen_dir/extras-libraries.cc",
"$target_gen_dir/libraries.cc",
+ "src/snapshot/embedded-empty.cc",
"src/snapshot/snapshot-empty.cc",
]
if (use_jumbo_build == true) {
jumbo_excluded_sources = [
- # TODO(mostynb@opera.com): don't exclude these http://crbug.com/752428
+ # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428
# Generated source, contains same variable names as libraries.cc
"$target_gen_dir/experimental-extras-libraries.cc",
"$target_gen_dir/libraries.cc",
@@ -955,7 +1033,7 @@ v8_source_set("v8_nosnapshot") {
configs = [ ":internal_config" ]
}
-if (v8_use_snapshot) {
+if (v8_use_snapshot && !v8_use_external_startup_data) {
v8_source_set("v8_snapshot") {
# Only targets in this file and the top-level visibility target can
# depend on this.
@@ -973,7 +1051,7 @@ if (v8_use_snapshot) {
public_deps = [
# This should be public so downstream targets can declare the snapshot
# output file as their inputs.
- ":run_mksnapshot",
+ ":run_mksnapshot_default",
]
sources = [
@@ -984,9 +1062,13 @@ if (v8_use_snapshot) {
"src/setup-isolate-deserialize.cc",
]
+ if (v8_enable_embedded_builtins) {
+ sources += [ "$target_gen_dir/embedded.cc" ]
+ }
+
if (use_jumbo_build == true) {
jumbo_excluded_sources = [
- # TODO(mostynb@opera.com): don't exclude these http://crbug.com/752428
+ # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428
# Generated source, contains same variable names as libraries.cc
"$target_gen_dir/experimental-extras-libraries.cc",
"$target_gen_dir/libraries.cc",
@@ -997,7 +1079,7 @@ if (v8_use_snapshot) {
}
}
-if (v8_use_external_startup_data) {
+if (v8_use_snapshot && v8_use_external_startup_data) {
v8_source_set("v8_external_snapshot") {
visibility = [ ":*" ] # Only targets in this file can depend on this.
@@ -1009,15 +1091,34 @@ if (v8_use_external_startup_data) {
]
public_deps = [
":natives_blob",
- ":run_mksnapshot",
+ ":run_mksnapshot_default",
]
+ if (v8_use_multi_snapshots) {
+ public_deps += [ ":run_mksnapshot_trusted" ]
+ }
+
sources = [
"src/setup-isolate-deserialize.cc",
"src/snapshot/natives-external.cc",
"src/snapshot/snapshot-external.cc",
]
+ if (v8_enable_embedded_builtins) {
+ sources += [ "$target_gen_dir/embedded.cc" ]
+
+ if (v8_use_multi_snapshots) {
+ sources += [ "$target_gen_dir/embedded_trusted.cc" ]
+
+ if (use_jumbo_build == true) {
+ jumbo_excluded_sources = [
+ # Duplicated symbols with embedded.cc
+ "$target_gen_dir/embedded_trusted.cc",
+ ]
+ }
+ }
+ }
+
configs = [ ":internal_config" ]
}
}
@@ -1105,7 +1206,7 @@ v8_source_set("v8_initializers") {
if (use_jumbo_build == true) {
jumbo_excluded_sources = [
- # TODO(mostynb@opera.com): don't exclude these http://crbug.com/752428
+ # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428
"src/builtins/builtins-async-iterator-gen.cc",
"src/builtins/builtins-async-generator-gen.cc",
@@ -1232,7 +1333,6 @@ v8_source_set("v8_base") {
"src/allocation.cc",
"src/allocation.h",
"src/api-arguments-inl.h",
- "src/api-arguments.cc",
"src/api-arguments.h",
"src/api-natives.cc",
"src/api-natives.h",
@@ -1350,8 +1450,6 @@ v8_source_set("v8_base") {
"src/compilation-cache.h",
"src/compilation-dependencies.cc",
"src/compilation-dependencies.h",
- "src/compilation-info.cc",
- "src/compilation-info.h",
"src/compilation-statistics.cc",
"src/compilation-statistics.h",
"src/compiler-dispatcher/compiler-dispatcher-job.cc",
@@ -1634,9 +1732,8 @@ v8_source_set("v8_base") {
"src/extensions/trigger-failure-extension.h",
"src/external-reference-table.cc",
"src/external-reference-table.h",
- "src/factory-inl.h",
- "src/factory.cc",
- "src/factory.h",
+ "src/external-reference.cc",
+ "src/external-reference.h",
"src/fast-dtoa.cc",
"src/fast-dtoa.h",
"src/feedback-vector-inl.h",
@@ -1680,6 +1777,9 @@ v8_source_set("v8_base") {
"src/heap/concurrent-marking.h",
"src/heap/embedder-tracing.cc",
"src/heap/embedder-tracing.h",
+ "src/heap/factory-inl.h",
+ "src/heap/factory.cc",
+ "src/heap/factory.h",
"src/heap/gc-idle-time-handler.cc",
"src/heap/gc-idle-time-handler.h",
"src/heap/gc-tracer.cc",
@@ -1866,12 +1966,16 @@ v8_source_set("v8_base") {
"src/objects/js-promise-inl.h",
"src/objects/js-promise.h",
"src/objects/js-regexp-inl.h",
+ "src/objects/js-regexp-string-iterator-inl.h",
+ "src/objects/js-regexp-string-iterator.h",
"src/objects/js-regexp.h",
"src/objects/literal-objects-inl.h",
"src/objects/literal-objects.cc",
"src/objects/literal-objects.h",
"src/objects/map-inl.h",
"src/objects/map.h",
+ "src/objects/maybe-object-inl.h",
+ "src/objects/maybe-object.h",
"src/objects/microtask-inl.h",
"src/objects/microtask.h",
"src/objects/module-inl.h",
@@ -1897,6 +2001,8 @@ v8_source_set("v8_base") {
"src/objects/string.h",
"src/objects/template-objects.cc",
"src/objects/template-objects.h",
+ "src/optimized-compilation-info.cc",
+ "src/optimized-compilation-info.h",
"src/ostreams.cc",
"src/ostreams.h",
"src/parsing/duplicate-finder.h",
@@ -2051,6 +2157,7 @@ v8_source_set("v8_base") {
"src/snapshot/default-serializer-allocator.h",
"src/snapshot/deserializer.cc",
"src/snapshot/deserializer.h",
+ "src/snapshot/macros.h",
"src/snapshot/natives-common.cc",
"src/snapshot/natives.h",
"src/snapshot/object-deserializer.cc",
@@ -2113,6 +2220,8 @@ v8_source_set("v8_base") {
"src/unicode-inl.h",
"src/unicode.cc",
"src/unicode.h",
+ "src/unoptimized-compilation-info.cc",
+ "src/unoptimized-compilation-info.h",
"src/uri.cc",
"src/uri.h",
"src/utils-inl.h",
@@ -2162,8 +2271,6 @@ v8_source_set("v8_base") {
"src/wasm/wasm-code-manager.h",
"src/wasm/wasm-code-specialization.cc",
"src/wasm/wasm-code-specialization.h",
- "src/wasm/wasm-code-wrapper.cc",
- "src/wasm/wasm-code-wrapper.h",
"src/wasm/wasm-constants.h",
"src/wasm/wasm-debug.cc",
"src/wasm/wasm-engine.cc",
@@ -2196,7 +2303,6 @@ v8_source_set("v8_base") {
"src/zone/accounting-allocator.cc",
"src/zone/accounting-allocator.h",
"src/zone/zone-allocator.h",
- "src/zone/zone-allocator.h",
"src/zone/zone-chunk-list.h",
"src/zone/zone-containers.h",
"src/zone/zone-handle-set.h",
@@ -2209,7 +2315,7 @@ v8_source_set("v8_base") {
if (use_jumbo_build == true) {
jumbo_excluded_sources = [
- # TODO(mostynb@opera.com): don't exclude these http://crbug.com/752428
+ # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428
"src/profiler/heap-snapshot-generator.cc", # Macro clash in mman-linux.h
# These source files take an unusually large amount of time to
@@ -2364,7 +2470,7 @@ v8_source_set("v8_base") {
]
if (use_jumbo_build) {
jumbo_excluded_sources += [
- # TODO(mostynb@opera.com): fix this code so it doesn't need
+ # TODO(mostynb@vewd.com): fix this code so it doesn't need
# to be excluded, see the comments inside.
"src/arm64/instructions-arm64-constants.cc",
]
@@ -2592,13 +2698,17 @@ v8_component("v8_libbase") {
public_configs = [ ":libbase_config" ]
+ data = []
+
+ data_deps = []
+
defines = []
if (is_component_build) {
defines = [ "BUILDING_V8_BASE_SHARED" ]
}
- if (is_posix) {
+ if (is_posix || is_fuchsia) {
sources += [
"src/base/platform/platform-posix.cc",
"src/base/platform/platform-posix.h",
@@ -2680,6 +2790,12 @@ v8_component("v8_libbase") {
"winmm.lib",
"ws2_32.lib",
]
+
+ data_deps += [ "//build/win:runtime_libs" ]
+ }
+
+ if (is_tsan && !build_with_chromium) {
+ data += [ "tools/sanitizers/tsan_suppressions.txt" ]
}
# TODO(jochen): Add support for qnx, freebsd, openbsd, netbsd, and solaris.
@@ -2691,12 +2807,12 @@ v8_component("v8_libplatform") {
"include/libplatform/libplatform-export.h",
"include/libplatform/libplatform.h",
"include/libplatform/v8-tracing.h",
- "src/libplatform/default-background-task-runner.cc",
- "src/libplatform/default-background-task-runner.h",
"src/libplatform/default-foreground-task-runner.cc",
"src/libplatform/default-foreground-task-runner.h",
"src/libplatform/default-platform.cc",
"src/libplatform/default-platform.h",
+ "src/libplatform/default-worker-threads-task-runner.cc",
+ "src/libplatform/default-worker-threads-task-runner.h",
"src/libplatform/task-queue.cc",
"src/libplatform/task-queue.h",
"src/libplatform/tracing/trace-buffer.cc",
@@ -2834,10 +2950,6 @@ group("gn_all") {
if (want_v8_shell) {
deps += [ ":v8_shell" ]
}
-
- if (v8_test_isolation_mode != "noop") {
- deps += [ ":d8_run" ]
- }
}
group("v8_clusterfuzz") {
@@ -2855,13 +2967,6 @@ group("v8_clusterfuzz") {
":d8(//build/toolchain/linux:clang_x86_v8_arm)",
]
}
-
- if (v8_test_isolation_mode != "noop") {
- deps += [
- "test:d8_default_run",
- "tools:run-num-fuzzer_run",
- ]
- }
}
group("v8_archive") {
@@ -2872,7 +2977,7 @@ group("v8_archive") {
group("v8_fuzzers") {
testonly = true
- deps = [
+ data_deps = [
":v8_simple_json_fuzzer",
":v8_simple_multi_return_fuzzer",
":v8_simple_parser_fuzzer",
@@ -2979,7 +3084,7 @@ v8_executable("d8") {
"//build/win:default_exe_manifest",
]
- if (is_posix) {
+ if (is_posix || is_fuchsia) {
sources += [ "src/d8-posix.cc" ]
} else if (is_win) {
sources += [ "src/d8-windows.cc" ]
@@ -2992,18 +3097,10 @@ v8_executable("d8") {
defines = []
if (v8_enable_vtunejit) {
- deps += [ "//src/third_party/vtune:v8_vtune" ]
+ deps += [ "src/third_party/vtune:v8_vtune" ]
}
}
-v8_isolate_run("d8") {
- deps = [
- ":d8",
- ]
-
- isolate = "//src/d8.isolate"
-}
-
v8_executable("v8_hello_world") {
sources = [
"samples/hello-world.cc",
diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog
index cfeeb0e08b6630..e6b825092c4a1d 100644
--- a/deps/v8/ChangeLog
+++ b/deps/v8/ChangeLog
@@ -1,3 +1,1493 @@
+2018-04-11: Version 6.7.288
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-11: Version 6.7.287
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-11: Version 6.7.286
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-11: Version 6.7.285
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-11: Version 6.7.284
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.283
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.282
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.281
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.280
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.279
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.278
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.277
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.276
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.275
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.274
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.273
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.272
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.271
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.270
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-10: Version 6.7.269
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.268
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.267
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.266
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.265
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.264
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.263
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.262
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.261
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.260
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.259
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.258
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.257
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.256
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.255
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.254
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.253
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.252
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-09: Version 6.7.251
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-06: Version 6.7.250
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-06: Version 6.7.249
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-06: Version 6.7.248
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-06: Version 6.7.247
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-06: Version 6.7.246
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-06: Version 6.7.245
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-06: Version 6.7.244
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-06: Version 6.7.243
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-06: Version 6.7.242
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-06: Version 6.7.241
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-05: Version 6.7.240
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-05: Version 6.7.239
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-05: Version 6.7.238
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-05: Version 6.7.237
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-05: Version 6.7.236
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-05: Version 6.7.235
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-05: Version 6.7.234
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-05: Version 6.7.233
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-05: Version 6.7.232
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-05: Version 6.7.231
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-05: Version 6.7.230
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-05: Version 6.7.229
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-05: Version 6.7.228
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-04: Version 6.7.227
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-04: Version 6.7.226
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-04: Version 6.7.225
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-04: Version 6.7.224
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-04: Version 6.7.223
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-04: Version 6.7.222
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-04: Version 6.7.221
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-04: Version 6.7.220
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-04: Version 6.7.219
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-04: Version 6.7.218
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-04: Version 6.7.217
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-04: Version 6.7.216
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-03: Version 6.7.215
+
+ Performance and stability improvements on all platforms.
+
+
+2018-04-03: Version 6.7.214
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-30: Version 6.7.213
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-30: Version 6.7.212
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-29: Version 6.7.211
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-29: Version 6.7.210
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-29: Version 6.7.209
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-29: Version 6.7.208
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-29: Version 6.7.207
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-29: Version 6.7.206
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-29: Version 6.7.205
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-29: Version 6.7.204
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-28: Version 6.7.203
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-28: Version 6.7.202
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-28: Version 6.7.201
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-28: Version 6.7.200
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-28: Version 6.7.199
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-28: Version 6.7.198
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-28: Version 6.7.197
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-28: Version 6.7.196
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-28: Version 6.7.195
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-28: Version 6.7.194
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-27: Version 6.7.193
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-27: Version 6.7.192
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-27: Version 6.7.191
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-27: Version 6.7.190
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-27: Version 6.7.189
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-27: Version 6.7.188
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-27: Version 6.7.187
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-27: Version 6.7.186
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-27: Version 6.7.185
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-27: Version 6.7.184
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.183
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.182
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.181
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.180
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.179
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.178
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.177
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.176
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.175
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.174
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.173
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.172
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.171
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.170
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.169
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.168
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.167
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-26: Version 6.7.166
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-24: Version 6.7.165
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-24: Version 6.7.164
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-24: Version 6.7.163
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.162
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.161
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.160
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.159
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.158
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.157
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.156
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.155
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.154
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.153
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.152
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.151
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.150
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.149
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.148
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-23: Version 6.7.147
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-22: Version 6.7.146
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-22: Version 6.7.145
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-22: Version 6.7.144
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-22: Version 6.7.143
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-22: Version 6.7.142
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-22: Version 6.7.141
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-22: Version 6.7.140
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.139
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.138
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.137
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.136
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.135
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.134
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.133
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.132
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.131
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.130
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.129
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.128
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.127
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.126
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.125
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.124
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-21: Version 6.7.123
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-20: Version 6.7.122
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-20: Version 6.7.121
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-20: Version 6.7.120
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-20: Version 6.7.119
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-20: Version 6.7.118
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-20: Version 6.7.117
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-20: Version 6.7.116
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-20: Version 6.7.115
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-20: Version 6.7.114
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-20: Version 6.7.113
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-20: Version 6.7.112
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-20: Version 6.7.111
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-20: Version 6.7.110
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-19: Version 6.7.109
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-19: Version 6.7.108
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-19: Version 6.7.107
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-19: Version 6.7.106
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-19: Version 6.7.105
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-19: Version 6.7.104
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-19: Version 6.7.103
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-17: Version 6.7.102
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-16: Version 6.7.101
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-16: Version 6.7.100
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-16: Version 6.7.99
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-16: Version 6.7.98
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-16: Version 6.7.97
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-16: Version 6.7.96
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-16: Version 6.7.95
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-16: Version 6.7.94
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-16: Version 6.7.93
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-16: Version 6.7.92
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-16: Version 6.7.91
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-16: Version 6.7.90
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-16: Version 6.7.89
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.88
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.87
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.86
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.85
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.84
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.83
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.82
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.81
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.80
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.79
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.78
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.77
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.76
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.75
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.74
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-15: Version 6.7.73
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.72
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.71
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.70
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.69
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.68
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.67
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.66
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.65
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.64
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.63
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.62
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.61
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.60
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.59
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.58
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.57
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.56
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.55
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-14: Version 6.7.54
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-13: Version 6.7.53
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-13: Version 6.7.52
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-13: Version 6.7.51
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-13: Version 6.7.50
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-13: Version 6.7.49
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-13: Version 6.7.48
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-13: Version 6.7.47
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-13: Version 6.7.46
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-13: Version 6.7.45
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-12: Version 6.7.44
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-12: Version 6.7.43
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-12: Version 6.7.42
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-12: Version 6.7.41
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-12: Version 6.7.40
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-12: Version 6.7.39
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-12: Version 6.7.38
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-12: Version 6.7.37
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-12: Version 6.7.36
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-12: Version 6.7.35
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-12: Version 6.7.34
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-12: Version 6.7.33
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-12: Version 6.7.32
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-10: Version 6.7.31
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-09: Version 6.7.30
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-09: Version 6.7.29
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-08: Version 6.7.28
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-08: Version 6.7.27
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-08: Version 6.7.26
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-07: Version 6.7.25
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-07: Version 6.7.24
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-07: Version 6.7.23
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-06: Version 6.7.22
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-06: Version 6.7.21
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-06: Version 6.7.20
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-06: Version 6.7.19
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-06: Version 6.7.18
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-06: Version 6.7.17
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-06: Version 6.7.16
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-05: Version 6.7.15
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-05: Version 6.7.14
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-05: Version 6.7.13
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-05: Version 6.7.12
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-05: Version 6.7.11
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-05: Version 6.7.10
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-05: Version 6.7.9
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-02: Version 6.7.8
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-02: Version 6.7.7
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-02: Version 6.7.6
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-02: Version 6.7.5
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-02: Version 6.7.4
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-02: Version 6.7.3
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-02: Version 6.7.2
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-02: Version 6.7.1
+
+ Performance and stability improvements on all platforms.
+
+
+2018-03-01: Version 6.6.356
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-28: Version 6.6.355
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-28: Version 6.6.354
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-28: Version 6.6.353
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-28: Version 6.6.352
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-28: Version 6.6.351
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-28: Version 6.6.350
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-28: Version 6.6.349
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-28: Version 6.6.348
+
+ Performance and stability improvements on all platforms.
+
+
+2018-02-28: Version 6.6.347
+
+ Performance and stability improvements on all platforms.
+
+
2018-02-28: Version 6.6.346
Performance and stability improvements on all platforms.
diff --git a/deps/v8/DEPS b/deps/v8/DEPS
index 4c67868d52dac8..4a00478633793d 100644
--- a/deps/v8/DEPS
+++ b/deps/v8/DEPS
@@ -12,57 +12,55 @@ vars = {
deps = {
'v8/build':
- Var('chromium_url') + '/chromium/src/build.git' + '@' + 'b1d6c28b4a64128ad856d9da458afda2861fddab',
+ Var('chromium_url') + '/chromium/src/build.git' + '@' + '73e352e758d90603e23bdc84734c12aa5817ab5f',
'v8/tools/gyp':
Var('chromium_url') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
'v8/third_party/icu':
Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'd888fd2a1be890f4d35e43f68d6d79f42519a357',
'v8/third_party/instrumented_libraries':
- Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + 'b745ddca2c63719167c0f2008ae19e667c5e9952',
+ Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + '323cf32193caecbf074d1a0cb5b02b905f163e0f',
'v8/buildtools':
- Var('chromium_url') + '/chromium/buildtools.git' + '@' + '2888931260f2a32bc583f005bd807a561b2fa6af',
+ Var('chromium_url') + '/chromium/buildtools.git' + '@' + 'e8aa02ea839e087f2db66100d02c3b5d47993852',
'v8/base/trace_event/common':
- Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + '0e9a47d74970bee1bbfc063c47215406f8918699',
+ Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + '211b3ed9d0481b4caddbee1322321b86a483ca1f',
'v8/third_party/android_ndk': {
- 'url': Var('chromium_url') + '/android_ndk.git' + '@' + 'e951c37287c7d8cd915bf8d4149fd4a06d808b55',
+ 'url': Var('chromium_url') + '/android_ndk.git' + '@' + '635bc380968a76f6948fee65f80a0b28db53ae81',
'condition': 'checkout_android',
},
'v8/third_party/android_tools': {
- 'url': Var('chromium_url') + '/android_tools.git' + '@' + '9a70d48fcdd68cd0e7e968f342bd767ee6323bd1',
+ 'url': Var('chromium_url') + '/android_tools.git' + '@' + 'c22a664c39af72dd8f89200220713dcad811300a',
'condition': 'checkout_android',
},
'v8/third_party/catapult': {
- 'url': Var('chromium_url') + '/catapult.git' + '@' + '8a42ad3cb185e340c32b20f657980fd057e3769f',
+ 'url': Var('chromium_url') + '/catapult.git' + '@' + '2c59f678c7ede8a844fb687525d594b71aabe3dd',
'condition': 'checkout_android',
},
'v8/third_party/colorama/src': {
'url': Var('chromium_url') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
'condition': 'checkout_android',
},
+ 'v8/third_party/googletest/src':
+ Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + '7e5f90d3780d553cb86771141fb81349f3a63508',
'v8/third_party/jinja2':
- Var('chromium_url') + '/chromium/src/third_party/jinja2.git' + '@' + 'd34383206fa42d52faa10bb9931d6d538f3a57e0',
+ Var('chromium_url') + '/chromium/src/third_party/jinja2.git' + '@' + '45571de473282bd1d8b63a8dfcb1fd268d0635d2',
'v8/third_party/markupsafe':
Var('chromium_url') + '/chromium/src/third_party/markupsafe.git' + '@' + '8f45f5cfa0009d2a70589bcda0349b8cb2b72783',
'v8/tools/swarming_client':
Var('chromium_url') + '/infra/luci/client-py.git' + '@' + '88229872dd17e71658fe96763feaa77915d8cbd6',
- 'v8/testing/gtest':
- Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + '6f8a66431cb592dad629028a50b3dd418a408c87',
- 'v8/testing/gmock':
- Var('chromium_url') + '/external/googlemock.git' + '@' + '0421b6f358139f02e102c9c332ce19a33faf75be',
'v8/test/benchmarks/data':
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/test262/data':
- Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + 'b59d956b3c268abd0875aeb87d6688f4c7aafc9b',
+ Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + '0192e0d70e2295fb590f14865da42f0f9dfa64bd',
'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' + '@' + 'b3d3f5920b161f95f1a8ffe08b75c695e0edf350',
+ Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'd7c36b0ae001a5cc31f2da79a430154916a3def2',
'v8/tools/luci-go':
Var('chromium_url') + '/chromium/src/tools/luci-go.git' + '@' + 'ff0709d4283b1f233dcf0c9fec1672c6ecaed2f1',
'v8/test/wasm-js':
- Var('chromium_url') + '/external/github.com/WebAssembly/spec.git' + '@' + '4653fc002a510b4f207af07f2c7c61b13dba78d9',
+ Var('chromium_url') + '/external/github.com/WebAssembly/spec.git' + '@' + '586d34770c6445bfb93c9bae8ac50baade7ee168',
}
recursedeps = [
@@ -255,28 +253,28 @@ hooks = [
{
'name': 'sysroot_arm',
'pattern': '.',
- 'condition': 'checkout_linux and checkout_arm',
+ 'condition': '(checkout_linux and checkout_arm)',
'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
'--arch=arm'],
},
{
'name': 'sysroot_arm64',
'pattern': '.',
- 'condition': 'checkout_linux and checkout_arm64',
+ 'condition': '(checkout_linux and checkout_arm64)',
'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
'--arch=arm64'],
},
{
'name': 'sysroot_x86',
'pattern': '.',
- 'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
+ 'condition': '(checkout_linux and (checkout_x86 or checkout_x64))',
'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
'--arch=x86'],
},
{
'name': 'sysroot_mips',
'pattern': '.',
- 'condition': 'checkout_linux and checkout_mips',
+ 'condition': '(checkout_linux and checkout_mips)',
'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
'--arch=mips'],
},
diff --git a/deps/v8/LICENSE b/deps/v8/LICENSE
index 1ffa949c6c1dfb..a1e403f82bac6b 100644
--- a/deps/v8/LICENSE
+++ b/deps/v8/LICENSE
@@ -23,6 +23,9 @@ are:
- Valgrind client API header, located at third_party/valgrind/valgrind.h
This is release under the BSD license.
+ - antlr4 parser generator Cpp library located in third_party/antlr4
+ This is release under the BSD license.
+
These libraries have their own licenses; we recommend you read them,
as their terms may differ from the terms below.
diff --git a/deps/v8/OWNERS b/deps/v8/OWNERS
index d8e0fc60def3f7..f6726316f2af95 100644
--- a/deps/v8/OWNERS
+++ b/deps/v8/OWNERS
@@ -1,5 +1,6 @@
adamk@chromium.org
ahaas@chromium.org
+aseemgarg@chromium.org
bbudge@chromium.org
binji@chromium.org
bmeurer@chromium.org
@@ -18,6 +19,7 @@ ishell@chromium.org
jarin@chromium.org
jgruber@chromium.org
jkummerow@chromium.org
+kschimpf@chromium.org
leszeks@chromium.org
machenbach@chromium.org
marja@chromium.org
diff --git a/deps/v8/base/trace_event/common/trace_event_common.h b/deps/v8/base/trace_event/common/trace_event_common.h
index 51869ee9525614..e2a5ca0c8d491b 100644
--- a/deps/v8/base/trace_event/common/trace_event_common.h
+++ b/deps/v8/base/trace_event/common/trace_event_common.h
@@ -2,6 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#ifndef BASE_TRACE_EVENT_COMMON_TRACE_EVENT_COMMON_H_
+#define BASE_TRACE_EVENT_COMMON_TRACE_EVENT_COMMON_H_
+
// This header file defines the set of trace_event macros without specifying
// how the events actually get collected and stored. If you need to expose trace
// events to some other universe, you can copy-and-paste this file as well as
@@ -687,6 +690,11 @@
TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, \
TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_NONE, \
arg1_name, arg1_val, arg2_name, arg2_val)
+#define TRACE_EVENT_COPY_ASYNC_END_WITH_TIMESTAMP0(category_group, name, id, \
+ timestamp) \
+ INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \
+ TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, \
+ TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_COPY)
// NESTABLE_ASYNC_* APIs are used to describe an async operation, which can
// be nested within a NESTABLE_ASYNC event and/or have inner NESTABLE_ASYNC
@@ -1020,6 +1028,14 @@
} \
} while (0)
+// Macro for getting the real base::TimeTicks::Now() which can be overridden in
+// headless when VirtualTime is enabled.
+#define TRACE_TIME_TICKS_NOW() INTERNAL_TRACE_TIME_TICKS_NOW()
+
+// Macro for getting the real base::Time::Now() which can be overridden in
+// headless when VirtualTime is enabled.
+#define TRACE_TIME_NOW() INTERNAL_TRACE_TIME_NOW()
+
// Notes regarding the following definitions:
// New values can be added and propagated to third party libraries, but existing
// definitions must never be changed, because third party libraries may use old
@@ -1094,3 +1110,5 @@
#define TRACE_EVENT_SCOPE_NAME_GLOBAL ('g')
#define TRACE_EVENT_SCOPE_NAME_PROCESS ('p')
#define TRACE_EVENT_SCOPE_NAME_THREAD ('t')
+
+#endif // BASE_TRACE_EVENT_COMMON_TRACE_EVENT_COMMON_H_
diff --git a/deps/v8/gni/isolate.gni b/deps/v8/gni/isolate.gni
deleted file mode 100644
index 6ad25c27749cc5..00000000000000
--- a/deps/v8/gni/isolate.gni
+++ /dev/null
@@ -1,196 +0,0 @@
-# Copyright 2016 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/sanitizers/sanitizers.gni")
-import("//third_party/icu/config.gni")
-import("v8.gni")
-
-declare_args() {
- # Sets the test isolation mode (noop|prepare|check).
- v8_test_isolation_mode = "noop"
-}
-
-template("v8_isolate_run") {
- forward_variables_from(invoker,
- "*",
- [
- "deps",
- "isolate",
- ])
-
- # Remember target name as within the action scope the target name will be
- # different.
- name = target_name
-
- assert(defined(invoker.deps))
- assert(defined(invoker.isolate))
-
- if (name != "" && v8_test_isolation_mode != "noop") {
- action(name + "_run") {
- testonly = true
-
- deps = invoker.deps
-
- script = "//tools/isolate_driver.py"
-
- sources = [
- invoker.isolate,
- ]
-
- inputs = [
- # Files that are known to be involved in this step.
- "//tools/swarming_client/isolate.py",
- "//tools/swarming_client/run_isolated.py",
- ]
-
- if (v8_test_isolation_mode == "prepare") {
- outputs = [
- "$root_out_dir/$name.isolated.gen.json",
- ]
- } else if (v8_test_isolation_mode == "check") {
- outputs = [
- "$root_out_dir/$name.isolated",
- "$root_out_dir/$name.isolated.state",
- ]
- }
-
- # Translate gn to gyp variables.
- if (v8_code_coverage) {
- coverage = "1"
- } else {
- coverage = "0"
- }
- if (is_asan) {
- asan = "1"
- } else {
- asan = "0"
- }
- if (is_msan) {
- msan = "1"
- } else {
- msan = "0"
- }
- if (is_tsan) {
- tsan = "1"
- } else {
- tsan = "0"
- }
- if (is_cfi) {
- cfi_vptr = "1"
- } else {
- cfi_vptr = "0"
- }
- if (target_cpu == "x86") {
- target_arch = "ia32"
- } else {
- target_arch = target_cpu
- }
- if (is_debug) {
- configuration_name = "Debug"
- } else {
- configuration_name = "Release"
- }
- if (is_component_build) {
- component = "shared_library"
- } else {
- component = "static_library"
- }
- if (icu_use_data_file) {
- icu_use_data_file_flag = "1"
- } else {
- icu_use_data_file_flag = "0"
- }
- if (v8_use_external_startup_data) {
- use_external_startup_data = "1"
- } else {
- use_external_startup_data = "0"
- }
- if (is_ubsan_vptr) {
- ubsan_vptr = "1"
- } else {
- ubsan_vptr = "0"
- }
- if (v8_use_snapshot) {
- use_snapshot = "true"
- } else {
- use_snapshot = "false"
- }
- if (v8_has_valgrind) {
- has_valgrind = "1"
- } else {
- has_valgrind = "0"
- }
- if (v8_gcmole) {
- gcmole = "1"
- } else {
- gcmole = "0"
- }
-
- # Note, all paths will be rebased in isolate_driver.py to be relative to
- # the isolate file.
- args = [
- v8_test_isolation_mode,
- "--isolated",
- rebase_path("$root_out_dir/$name.isolated", root_build_dir),
- "--isolate",
- rebase_path(invoker.isolate, root_build_dir),
-
- # Path variables are used to replace file paths when loading a .isolate
- # file
- "--path-variable",
- "DEPTH",
- rebase_path("//", root_build_dir),
- "--path-variable",
- "PRODUCT_DIR",
- rebase_path(root_out_dir, root_build_dir),
-
- # TODO(machenbach): Set variables for remaining features.
- "--config-variable",
- "CONFIGURATION_NAME=$configuration_name",
- "--config-variable",
- "OS=$target_os",
- "--config-variable",
- "asan=$asan",
- "--config-variable",
- "cfi_vptr=$cfi_vptr",
- "--config-variable",
- "gcmole=$gcmole",
- "--config-variable",
- "has_valgrind=$has_valgrind",
- "--config-variable",
- "icu_use_data_file_flag=$icu_use_data_file_flag",
- "--config-variable",
- "msan=$msan",
- "--config-variable",
- "tsan=$tsan",
- "--config-variable",
- "coverage=$coverage",
- "--config-variable",
- "sanitizer_coverage=$sanitizer_coverage_flags",
- "--config-variable",
- "component=$component",
- "--config-variable",
- "target_arch=$target_arch",
- "--config-variable",
- "ubsan_vptr=$ubsan_vptr",
- "--config-variable",
- "v8_use_external_startup_data=$use_external_startup_data",
- "--config-variable",
- "v8_use_snapshot=$use_snapshot",
- ]
-
- if (is_win) {
- args += [
- "--config-variable",
- "msvs_version=2017",
- ]
- } else {
- args += [
- "--config-variable",
- "msvs_version=0",
- ]
- }
- }
- }
-}
diff --git a/deps/v8/gni/msvs_dependencies.isolate b/deps/v8/gni/msvs_dependencies.isolate
deleted file mode 100644
index 285912665916e8..00000000000000
--- a/deps/v8/gni/msvs_dependencies.isolate
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 2016 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# TODO(machenbach): Remove this when crbug.com/669910 is resolved.
-{
- 'conditions': [
- # Copy the VS runtime DLLs into the isolate so that they
- # don't have to be preinstalled on the target machine.
- #
- # VS2013 runtimes
- ['OS=="win" and msvs_version==2013 and component=="shared_library" and (CONFIGURATION_NAME=="Debug" or CONFIGURATION_NAME=="Debug_x64")', {
- 'variables': {
- 'files': [
- '<(PRODUCT_DIR)/msvcp120d.dll',
- '<(PRODUCT_DIR)/msvcr120d.dll',
- ],
- },
- }],
- ['OS=="win" and msvs_version==2013 and component=="shared_library" and (CONFIGURATION_NAME=="Release" or CONFIGURATION_NAME=="Release_x64")', {
- 'variables': {
- 'files': [
- '<(PRODUCT_DIR)/msvcp120.dll',
- '<(PRODUCT_DIR)/msvcr120.dll',
- ],
- },
- }],
- # VS2015/2017 runtimes
- ['OS=="win" and (msvs_version==2015 or msvs_version==2017) and component=="shared_library" and (CONFIGURATION_NAME=="Debug" or CONFIGURATION_NAME=="Debug_x64")', {
- 'variables': {
- 'files': [
- '<(PRODUCT_DIR)/msvcp140d.dll',
- '<(PRODUCT_DIR)/vccorlib140d.dll',
- '<(PRODUCT_DIR)/vcruntime140d.dll',
- '<(PRODUCT_DIR)/ucrtbased.dll',
- ],
- },
- }],
- ['OS=="win" and (msvs_version==2015 or msvs_version==2017) and component=="shared_library" and (CONFIGURATION_NAME=="Release" or CONFIGURATION_NAME=="Release_x64")', {
- 'variables': {
- 'files': [
- '<(PRODUCT_DIR)/msvcp140.dll',
- '<(PRODUCT_DIR)/vccorlib140.dll',
- '<(PRODUCT_DIR)/vcruntime140.dll',
- '<(PRODUCT_DIR)/ucrtbase.dll',
- ],
- },
- }],
- ['OS=="win" and (msvs_version==2015 or msvs_version==2017) and component=="shared_library"', {
- # Windows 10 Universal C Runtime binaries.
- 'variables': {
- 'files': [
- '<(PRODUCT_DIR)/api-ms-win-core-console-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-datetime-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-debug-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-errorhandling-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-file-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-file-l1-2-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-file-l2-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-handle-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-heap-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-interlocked-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-libraryloader-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-localization-l1-2-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-memory-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-namedpipe-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-processenvironment-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-processthreads-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-processthreads-l1-1-1.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-profile-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-rtlsupport-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-string-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-synch-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-synch-l1-2-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-sysinfo-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-timezone-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-core-util-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-conio-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-convert-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-environment-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-filesystem-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-heap-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-locale-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-math-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-multibyte-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-private-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-process-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-runtime-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-stdio-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-string-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-time-l1-1-0.dll',
- '<(PRODUCT_DIR)/api-ms-win-crt-utility-l1-1-0.dll',
- ],
- },
- }],
- ],
-}
diff --git a/deps/v8/gni/v8.gni b/deps/v8/gni/v8.gni
index 16a124dce85471..211f15aab944d4 100644
--- a/deps/v8/gni/v8.gni
+++ b/deps/v8/gni/v8.gni
@@ -37,6 +37,9 @@ declare_args() {
# https://803591
v8_use_snapshot = !(is_win && host_os != "win" && target_cpu == "x64")
+ # Enable several snapshots side-by-side (e.g. default and for trusted code).
+ v8_use_multi_snapshots = ""
+
# Use external files for startup data blobs:
# the JS builtins sources and the start snapshot.
v8_use_external_startup_data = ""
@@ -58,6 +61,11 @@ if (v8_use_external_startup_data == "") {
v8_use_external_startup_data = v8_use_snapshot && !is_ios
}
+if (v8_use_multi_snapshots == "") {
+ v8_use_multi_snapshots =
+ v8_use_external_startup_data && !build_with_chromium && !use_jumbo_build
+}
+
if (v8_enable_backtrace == "") {
v8_enable_backtrace = is_debug && !v8_optimized_debug
}
@@ -113,6 +121,10 @@ if (target_cpu == "mipsel" || target_cpu == "mips64el" ||
v8_add_configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
}
+if (!build_with_chromium && is_clang) {
+ v8_remove_configs += [ "//build/config/clang:find_bad_constructs" ]
+}
+
# All templates should be kept in sync.
template("v8_source_set") {
if (defined(invoker.split_count) && invoker.split_count > 1 &&
@@ -192,6 +204,7 @@ template("v8_static_library") {
forward_variables_from(invoker, "*", [ "configs" ])
configs += invoker.configs
configs -= v8_remove_configs
+ configs -= [ "//build/config/compiler:thin_archive" ]
configs += v8_add_configs
}
}
diff --git a/deps/v8/gypfiles/v8.gyp b/deps/v8/gypfiles/v8.gyp
index 601b8403cc4378..80ce748d1fecab 100644
--- a/deps/v8/gypfiles/v8.gyp
+++ b/deps/v8/gypfiles/v8.gyp
@@ -541,7 +541,6 @@
'../src/api.cc',
'../src/api.h',
'../src/api-arguments-inl.h',
- '../src/api-arguments.cc',
'../src/api-arguments.h',
'../src/api-natives.cc',
'../src/api-natives.h',
@@ -657,8 +656,6 @@
'../src/compilation-cache.h',
'../src/compilation-dependencies.cc',
'../src/compilation-dependencies.h',
- '../src/compilation-info.cc',
- '../src/compilation-info.h',
'../src/compilation-statistics.cc',
'../src/compilation-statistics.h',
'../src/compiler/access-builder.cc',
@@ -941,9 +938,8 @@
'../src/extensions/trigger-failure-extension.h',
'../src/external-reference-table.cc',
'../src/external-reference-table.h',
- '../src/factory-inl.h',
- '../src/factory.cc',
- '../src/factory.h',
+ '../src/external-reference.cc',
+ '../src/external-reference.h',
'../src/fast-dtoa.cc',
'../src/fast-dtoa.h',
'../src/feedback-vector-inl.h',
@@ -987,6 +983,9 @@
'../src/heap/concurrent-marking.h',
'../src/heap/embedder-tracing.cc',
'../src/heap/embedder-tracing.h',
+ '../src/heap/factory-inl.h',
+ '../src/heap/factory.cc',
+ '../src/heap/factory.h',
'../src/heap/memory-reducer.cc',
'../src/heap/memory-reducer.h',
'../src/heap/gc-idle-time-handler.cc',
@@ -1174,11 +1173,15 @@
'../src/objects/js-promise.h',
'../src/objects/js-regexp-inl.h',
'../src/objects/js-regexp.h',
+ '../src/objects/js-regexp-string-iterator-inl.h',
+ '../src/objects/js-regexp-string-iterator.h',
'../src/objects/literal-objects.cc',
'../src/objects/literal-objects-inl.h',
'../src/objects/literal-objects.h',
'../src/objects/map-inl.h',
'../src/objects/map.h',
+ '../src/objects/maybe-object-inl.h',
+ '../src/objects/maybe-object.h',
'../src/objects/microtask-inl.h',
'../src/objects/microtask.h',
'../src/objects/module-inl.h',
@@ -1204,6 +1207,8 @@
'../src/objects/string-table.h',
'../src/objects/template-objects.cc',
'../src/objects/template-objects.h',
+ '../src/optimized-compilation-info.cc',
+ '../src/optimized-compilation-info.h',
'../src/ostreams.cc',
'../src/ostreams.h',
'../src/parsing/duplicate-finder.h',
@@ -1415,13 +1420,15 @@
'../src/trap-handler/trap-handler-internal.h',
'../src/type-hints.cc',
'../src/type-hints.h',
- '../src/unicode-inl.h',
- '../src/unicode.cc',
- '../src/unicode.h',
'../src/unicode-cache-inl.h',
'../src/unicode-cache.h',
'../src/unicode-decoder.cc',
'../src/unicode-decoder.h',
+ '../src/unicode-inl.h',
+ '../src/unicode.cc',
+ '../src/unicode.h',
+ '../src/unoptimized-compilation-info.cc',
+ '../src/unoptimized-compilation-info.h',
'../src/uri.cc',
'../src/uri.h',
'../src/utils-inl.h',
@@ -1471,8 +1478,6 @@
'../src/wasm/wasm-code-manager.h',
'../src/wasm/wasm-code-specialization.cc',
'../src/wasm/wasm-code-specialization.h',
- '../src/wasm/wasm-code-wrapper.cc',
- '../src/wasm/wasm-code-wrapper.h',
'../src/wasm/wasm-constants.h',
'../src/wasm/wasm-debug.cc',
'../src/wasm/wasm-engine.cc',
@@ -2201,12 +2206,12 @@
'../include//libplatform/libplatform.h',
'../include//libplatform/libplatform-export.h',
'../include//libplatform/v8-tracing.h',
- '../src/libplatform/default-background-task-runner.cc',
- '../src/libplatform/default-background-task-runner.h',
'../src/libplatform/default-foreground-task-runner.cc',
'../src/libplatform/default-foreground-task-runner.h',
'../src/libplatform/default-platform.cc',
'../src/libplatform/default-platform.h',
+ '../src/libplatform/default-worker-threads-task-runner.cc',
+ '../src/libplatform/default-worker-threads-task-runner.h',
'../src/libplatform/task-queue.cc',
'../src/libplatform/task-queue.h',
'../src/libplatform/tracing/trace-buffer.cc',
@@ -2342,8 +2347,6 @@
'../src/js/prologue.js',
'../src/js/array.js',
'../src/js/typedarray.js',
- '../src/js/messages.js',
- '../src/js/spread.js',
'../src/debug/mirrors.js',
'../src/debug/debug.js',
'../src/debug/liveedit.js',
@@ -2473,6 +2476,8 @@
'../src/objects/js-array-inl.h',
'../src/objects/js-regexp.h',
'../src/objects/js-regexp-inl.h',
+ '../src/objects/js-regexp-string-iterator-inl.h',
+ '../src/objects/js-regexp-string-iterator.h',
'../src/objects/map.h',
'../src/objects/map-inl.h',
'../src/objects/script.h',
diff --git a/deps/v8/include/OWNERS b/deps/v8/include/OWNERS
index 28f038f80b2112..a7ac912c0ab4a9 100644
--- a/deps/v8/include/OWNERS
+++ b/deps/v8/include/OWNERS
@@ -1,5 +1,9 @@
+set noparent
+
adamk@chromium.org
danno@chromium.org
+ulan@chromium.org
+yangguo@chromium.org
per-file v8-inspector.h=dgozman@chromium.org
per-file v8-inspector.h=pfeldman@chromium.org
diff --git a/deps/v8/include/libplatform/libplatform.h b/deps/v8/include/libplatform/libplatform.h
index b5f2b77711166f..2c830bf834b786 100644
--- a/deps/v8/include/libplatform/libplatform.h
+++ b/deps/v8/include/libplatform/libplatform.h
@@ -62,8 +62,10 @@ V8_PLATFORM_EXPORT bool PumpMessageLoop(
v8::Platform* platform, v8::Isolate* isolate,
MessageLoopBehavior behavior = MessageLoopBehavior::kDoNotWait);
-V8_PLATFORM_EXPORT void EnsureEventLoopInitialized(v8::Platform* platform,
- v8::Isolate* isolate);
+V8_PLATFORM_EXPORT V8_DEPRECATE_SOON(
+ "This function has become obsolete and is essentially a nop",
+ void EnsureEventLoopInitialized(v8::Platform* platform,
+ v8::Isolate* isolate));
/**
* Runs pending idle tasks for at most |idle_time_in_seconds| seconds.
diff --git a/deps/v8/include/v8-platform.h b/deps/v8/include/v8-platform.h
index 62b3af84a0f717..ddc200abab0dd9 100644
--- a/deps/v8/include/v8-platform.h
+++ b/deps/v8/include/v8-platform.h
@@ -5,9 +5,9 @@
#ifndef V8_V8_PLATFORM_H_
#define V8_V8_PLATFORM_H_
-#include
#include
#include
+#include // For abort.
#include
#include
@@ -288,16 +288,21 @@ class Platform {
*/
virtual bool OnCriticalMemoryPressure(size_t length) { return false; }
+ /**
+ * Gets the number of worker threads used by GetWorkerThreadsTaskRunner() and
+ * CallOnWorkerThread(). This can be used to estimate the number of tasks a
+ * work package should be split into. A return value of 0 means that there are
+ * no worker threads available. Note that a value of 0 won't prohibit V8 from
+ * posting tasks using |CallOnWorkerThread|.
+ */
virtual int NumberOfWorkerThreads() {
return static_cast(NumberOfAvailableBackgroundThreads());
}
/**
- * Gets the number of threads that are used to execute background tasks. Is
- * used to estimate the number of tasks a work package should be split into.
- * A return value of 0 means that there are no background threads available.
- * Note that a value of 0 won't prohibit V8 from posting tasks using
- * |CallOnBackgroundThread|.
+ * Deprecated. Use NumberOfWorkerThreads() instead.
+ * TODO(gab): Remove this when all embedders override
+ * NumberOfWorkerThreads() instead.
*/
V8_DEPRECATE_SOON(
"NumberOfAvailableBackgroundThreads() is deprecated, use "
@@ -340,8 +345,14 @@ class Platform {
abort();
}
+ /**
+ * Returns a TaskRunner which can be used to post async tasks on a worker.
+ * This function should only be called from a foreground thread.
+ */
virtual std::shared_ptr GetWorkerThreadsTaskRunner(
Isolate* isolate) {
+ // TODO(gab): Make this function abstract after it got implemented on all
+ // platforms.
return GetBackgroundTaskRunner(isolate);
}
@@ -365,10 +376,19 @@ class Platform {
abort();
}
+ /**
+ * Schedules a task to be invoked on a worker thread.
+ * TODO(gab): Make pure virtual when all embedders override this instead of
+ * CallOnBackgroundThread().
+ */
virtual void CallOnWorkerThread(std::unique_ptr task) {
CallOnBackgroundThread(task.release(), kShortRunningTask);
}
+ /**
+ * Schedules a task that blocks the main thread to be invoked with
+ * high-priority on a worker thread.
+ */
virtual void CallBlockingTaskOnWorkerThread(std::unique_ptr task) {
// Embedders may optionally override this to process these tasks in a high
// priority pool.
diff --git a/deps/v8/include/v8-profiler.h b/deps/v8/include/v8-profiler.h
index 50c531559ec663..afa40d25f30fdc 100644
--- a/deps/v8/include/v8-profiler.h
+++ b/deps/v8/include/v8-profiler.h
@@ -335,7 +335,8 @@ class V8_EXPORT CpuProfiler {
/**
* Tells the profiler whether the embedder is idle.
*/
- void SetIdle(bool is_idle);
+ V8_DEPRECATED("Use Isolate::SetIdle(bool) instead.",
+ void SetIdle(bool is_idle));
private:
CpuProfiler();
@@ -401,7 +402,8 @@ 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).
+ kSymbol = 12, // A Symbol (ES6).
+ kBigInt = 13 // BigInt.
};
/** Returns node type (see HeapGraphNode::Type). */
@@ -875,11 +877,15 @@ class V8_EXPORT HeapProfiler {
void DeleteAllHeapSnapshots();
/** Binds a callback to embedder's class ID. */
- void SetWrapperClassInfoProvider(
- uint16_t class_id,
- WrapperInfoCallback callback);
+ V8_DEPRECATED(
+ "Use SetBuildEmbedderGraphCallback to provide info about embedder nodes",
+ void SetWrapperClassInfoProvider(uint16_t class_id,
+ WrapperInfoCallback callback));
+
+ V8_DEPRECATED(
+ "Use SetBuildEmbedderGraphCallback to provide info about embedder nodes",
+ void SetGetRetainerInfosCallback(GetRetainerInfosCallback callback));
- void SetGetRetainerInfosCallback(GetRetainerInfosCallback callback);
void SetBuildEmbedderGraphCallback(BuildEmbedderGraphCallback callback);
/**
diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h
index cdb2c5381e3c85..f871c8fa676968 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 6
-#define V8_MINOR_VERSION 6
-#define V8_BUILD_NUMBER 346
-#define V8_PATCH_LEVEL 32
+#define V8_MINOR_VERSION 7
+#define V8_BUILD_NUMBER 288
+#define V8_PATCH_LEVEL 43
// 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 31407fa0839bb9..ed1a6d4af1ac02 100644
--- a/deps/v8/include/v8.h
+++ b/deps/v8/include/v8.h
@@ -66,6 +66,8 @@ namespace v8 {
class AccessorSignature;
class Array;
class ArrayBuffer;
+class BigInt;
+class BigIntObject;
class Boolean;
class BooleanObject;
class Context;
@@ -1579,6 +1581,15 @@ class V8_EXPORT ScriptCompiler {
static CachedData* CreateCodeCache(Local unbound_script,
Local source);
+ /**
+ * Creates and returns code cache for the specified function that was
+ * previously produced by CompileFunctionInContext.
+ * This will return nullptr if the script cannot be serialized. The
+ * CachedData returned by this function should be owned by the caller.
+ */
+ static CachedData* CreateCodeCacheForFunction(Local function,
+ Local source);
+
private:
static V8_WARN_UNUSED_RESULT MaybeLocal CompileUnboundInternal(
Isolate* isolate, Source* source, CompileOptions options,
@@ -1650,6 +1661,7 @@ class V8_EXPORT Message {
* Returns the index within the line of the last character where
* the error occurred.
*/
+ int GetEndColumn() const;
V8_WARN_UNUSED_RESULT Maybe GetEndColumn(Local context) const;
/**
@@ -2153,6 +2165,11 @@ class V8_EXPORT Value : public Data {
*/
bool IsObject() const;
+ /**
+ * Returns true if this value is a bigint.
+ */
+ bool IsBigInt() const;
+
/**
* Returns true if this value is boolean.
*/
@@ -2188,6 +2205,11 @@ class V8_EXPORT Value : public Data {
*/
bool IsArgumentsObject() const;
+ /**
+ * Returns true if this value is a BigInt object.
+ */
+ bool IsBigIntObject() const;
+
/**
* Returns true if this value is a Boolean object.
*/
@@ -2361,6 +2383,8 @@ class V8_EXPORT Value : public Data {
*/
bool IsModuleNamespaceObject() const;
+ V8_WARN_UNUSED_RESULT MaybeLocal ToBigInt(
+ Local context) const;
V8_WARN_UNUSED_RESULT MaybeLocal ToBoolean(
Local context) const;
V8_WARN_UNUSED_RESULT MaybeLocal ToNumber(
@@ -3012,6 +3036,19 @@ class V8_EXPORT Uint32 : public Integer {
static void CheckCast(v8::Value* obj);
};
+/**
+ * A JavaScript BigInt value (https://tc39.github.io/proposal-bigint)
+ */
+class V8_EXPORT BigInt : public Primitive {
+ public:
+ static Local New(Isolate* isolate, int64_t value);
+ V8_INLINE static BigInt* Cast(v8::Value* obj);
+
+ private:
+ BigInt();
+ static void CheckCast(v8::Value* obj);
+};
+
/**
* PropertyAttribute.
*/
@@ -3077,6 +3114,13 @@ enum PropertyFilter {
SKIP_SYMBOLS = 16
};
+/**
+ * Options for marking whether callbacks may trigger JS-observable side effects.
+ * Side-effect-free callbacks are whitelisted during debug evaluation with
+ * throwOnSideEffect. It applies when calling a Function, FunctionTemplate,
+ * or an Accessor's getter callback. For Interceptors, please see
+ * PropertyHandlerFlags's kHasNoSideEffect.
+ */
enum class SideEffectType { kHasSideEffect, kHasNoSideEffect };
/**
@@ -3090,7 +3134,7 @@ enum class KeyCollectionMode { kOwnOnly, kIncludePrototypes };
/**
* kIncludesIndices allows for integer indices to be collected, while
- * kSkipIndices will exclude integer indicies from being collected.
+ * kSkipIndices will exclude integer indices from being collected.
*/
enum class IndexFilter { kIncludeIndices, kSkipIndices };
@@ -3205,12 +3249,14 @@ class V8_EXPORT Object : public Value {
V8_WARN_UNUSED_RESULT Maybe Delete(Local context,
Local key);
- V8_WARN_UNUSED_RESULT Maybe Has(Local context,
- uint32_t index);
+ V8_WARN_UNUSED_RESULT Maybe Has(Local context, uint32_t index);
V8_WARN_UNUSED_RESULT Maybe Delete(Local context,
uint32_t index);
+ /**
+ * Note: SideEffectType affects the getter only, not the setter.
+ */
V8_WARN_UNUSED_RESULT Maybe SetAccessor(
Local context, Local name,
AccessorNameGetterCallback getter, AccessorNameSetterCallback setter = 0,
@@ -4294,6 +4340,11 @@ class V8_EXPORT ArrayBuffer : public Object {
*/
virtual void Free(void* data, size_t length) = 0;
+ /**
+ * ArrayBuffer allocation mode. kNormal is a malloc/free style allocation,
+ * while kReservation is for larger allocations with the ability to set
+ * access permissions.
+ */
enum class AllocationMode { kNormal, kReservation };
/**
@@ -4868,6 +4919,20 @@ class V8_EXPORT NumberObject : public Object {
static void CheckCast(Value* obj);
};
+/**
+ * A BigInt object (https://tc39.github.io/proposal-bigint)
+ */
+class V8_EXPORT BigIntObject : public Object {
+ public:
+ static Local New(Isolate* isolate, int64_t value);
+
+ Local ValueOf() const;
+
+ V8_INLINE static BigIntObject* Cast(Value* obj);
+
+ private:
+ static void CheckCast(Value* obj);
+};
/**
* A Boolean object (ECMA-262, 4.3.15).
@@ -5532,7 +5597,7 @@ class V8_EXPORT FunctionTemplate : public Template {
/**
* Causes the function template to inherit from a parent function template.
- * This means the the function's prototype.__proto__ is set to the parent
+ * This means the function's prototype.__proto__ is set to the parent
* function's prototype.
**/
void Inherit(Local parent);
@@ -5633,6 +5698,11 @@ enum class PropertyHandlerFlags {
* named interceptors.
*/
kOnlyInterceptStrings = 1 << 2,
+
+ /**
+ * The getter, query, enumerator callbacks do not produce side effects.
+ */
+ kHasNoSideEffect = 1 << 3,
};
struct NamedPropertyHandlerConfiguration {
@@ -6209,24 +6279,6 @@ typedef void* (*CreateHistogramCallback)(const char* name,
typedef void (*AddHistogramSampleCallback)(void* histogram, int sample);
-// --- Memory Allocation Callback ---
-enum ObjectSpace {
- kObjectSpaceNewSpace = 1 << 0,
- kObjectSpaceOldSpace = 1 << 1,
- kObjectSpaceCodeSpace = 1 << 2,
- kObjectSpaceMapSpace = 1 << 3,
- kObjectSpaceLoSpace = 1 << 4,
- kObjectSpaceAll = kObjectSpaceNewSpace | kObjectSpaceOldSpace |
- kObjectSpaceCodeSpace | kObjectSpaceMapSpace |
- kObjectSpaceLoSpace
-};
-
- enum AllocationAction {
- kAllocationActionAllocate = 1 << 0,
- kAllocationActionFree = 1 << 1,
- kAllocationActionAll = kAllocationActionAllocate | kAllocationActionFree
- };
-
// --- Enter/Leave Script Callback ---
typedef void (*BeforeCallEnteredCallback)(Isolate*);
typedef void (*CallCompletedCallback)(Isolate*);
@@ -6445,6 +6497,15 @@ typedef void (*GCCallback)(GCType type, GCCallbackFlags flags);
typedef void (*InterruptCallback)(Isolate* isolate, void* data);
+/**
+ * This callback is invoked when the heap size is close to the heap limit and
+ * V8 is likely to abort with out-of-memory error.
+ * The callback can extend the heap limit by returning a value that is greater
+ * than the current_heap_limit. The initial heap limit is the limit that was
+ * set after heap setup.
+ */
+typedef size_t (*NearHeapLimitCallback)(void* data, size_t current_heap_limit,
+ size_t initial_heap_limit);
/**
* Collection of V8 heap information.
@@ -6578,6 +6639,12 @@ struct JitCodeEvent {
// statement, and is used to indicate possible break locations.
enum PositionType { POSITION, STATEMENT_POSITION };
+ // There are two different kinds of JitCodeEvents, one for JIT code generated
+ // by the optimizing compiler, and one for byte code generated for the
+ // interpreter. For JIT_CODE events, the |code_start| member of the event
+ // points to the beginning of jitted assembly code, while for BYTE_CODE
+ // events, |code_start| points to the first bytecode of the interpreted
+ // function.
enum CodeType { BYTE_CODE, JIT_CODE };
// Type of event.
@@ -7281,6 +7348,11 @@ class V8_EXPORT Isolate {
V8_DEPRECATED("CpuProfiler should be created with CpuProfiler::New call.",
CpuProfiler* GetCpuProfiler());
+ /**
+ * Tells the CPU profiler whether the embedder is idle.
+ */
+ void SetIdle(bool is_idle);
+
/** Returns true if this isolate has a current context. */
bool InContext();
@@ -7692,6 +7764,23 @@ class V8_EXPORT Isolate {
/** Set the callback to invoke in case of OOM errors. */
void SetOOMErrorHandler(OOMErrorCallback that);
+ /**
+ * Add a callback to invoke in case the heap size is close to the heap limit.
+ * If multiple callbacks are added, only the most recently added callback is
+ * invoked.
+ */
+ void AddNearHeapLimitCallback(NearHeapLimitCallback callback, void* data);
+
+ /**
+ * Remove the given callback and restore the heap limit to the
+ * given limit. If the given limit is zero, then it is ignored.
+ * If the current heap size is greater than the given limit,
+ * then the heap limit is restored to the minimal limit that
+ * is possible for the current heap size.
+ */
+ void RemoveNearHeapLimitCallback(NearHeapLimitCallback callback,
+ size_t heap_limit);
+
/**
* Set the callback to invoke to check if code generation from
* strings should be allowed.
@@ -7947,6 +8036,15 @@ class V8_EXPORT V8 {
*/
static bool Dispose();
+ /**
+ * Initialize the ICU library bundled with V8. The embedder should only
+ * invoke this method when using the bundled ICU. Returns true on success.
+ *
+ * If V8 was compiled with the ICU data in an external file, the location
+ * of the data file has to be provided.
+ */
+ static bool InitializeICU(const char* icu_data_file = nullptr);
+
/**
* Initialize the ICU library bundled with V8. The embedder should only
* invoke this method when using the bundled ICU. If V8 was compiled with
@@ -8023,6 +8121,14 @@ class V8_EXPORT V8 {
V8_DEPRECATE_SOON("Use EnableWebAssemblyTrapHandler",
static bool RegisterDefaultSignalHandler());
+ /**
+ * Activate trap-based bounds checking for WebAssembly.
+ *
+ * \param use_v8_signal_handler Whether V8 should install its own signal
+ * handler or rely on the embedder's.
+ */
+ static bool EnableWebAssemblyTrapHandler(bool use_v8_signal_handler);
+
private:
V8();
@@ -8580,6 +8686,11 @@ class V8_EXPORT Context {
*/
enum EmbedderDataFields { kDebugIdIndex = 0 };
+ /**
+ * Return the number of fields allocated for embedder data.
+ */
+ uint32_t GetNumberOfEmbedderDataFields();
+
/**
* Gets the embedder data with the given index, which must have been set by a
* previous call to SetEmbedderData with the same index.
@@ -8835,6 +8946,7 @@ const int kApiInt64Size = sizeof(int64_t); // NOLINT
// Tag information for HeapObject.
const int kHeapObjectTag = 1;
+const int kWeakHeapObjectTag = 3;
const int kHeapObjectTagSize = 2;
const intptr_t kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 1;
@@ -9849,6 +9961,12 @@ Uint32* Uint32::Cast(v8::Value* value) {
return static_cast(value);
}
+BigInt* BigInt::Cast(v8::Value* value) {
+#ifdef V8_ENABLE_CHECKS
+ CheckCast(value);
+#endif
+ return static_cast(value);
+}
Date* Date::Cast(v8::Value* value) {
#ifdef V8_ENABLE_CHECKS
@@ -9881,6 +9999,12 @@ NumberObject* NumberObject::Cast(v8::Value* value) {
return static_cast(value);
}
+BigIntObject* BigIntObject::Cast(v8::Value* value) {
+#ifdef V8_ENABLE_CHECKS
+ CheckCast(value);
+#endif
+ return static_cast(value);
+}
BooleanObject* BooleanObject::Cast(v8::Value* value) {
#ifdef V8_ENABLE_CHECKS
@@ -10047,6 +10171,19 @@ Float64Array* Float64Array::Cast(v8::Value* value) {
return static_cast(value);
}
+BigInt64Array* BigInt64Array::Cast(v8::Value* value) {
+#ifdef V8_ENABLE_CHECKS
+ CheckCast(value);
+#endif
+ return static_cast(value);
+}
+
+BigUint64Array* BigUint64Array::Cast(v8::Value* value) {
+#ifdef V8_ENABLE_CHECKS
+ CheckCast(value);
+#endif
+ return static_cast(value);
+}
Uint8ClampedArray* Uint8ClampedArray::Cast(v8::Value* value) {
#ifdef V8_ENABLE_CHECKS
diff --git a/deps/v8/include/v8config.h b/deps/v8/include/v8config.h
index 69cf3b78c8b2c8..d8e1f36c128d1e 100644
--- a/deps/v8/include/v8config.h
+++ b/deps/v8/include/v8config.h
@@ -177,6 +177,9 @@
// V8_HAS_ATTRIBUTE_VISIBILITY - __attribute__((visibility)) supported
// V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT - __attribute__((warn_unused_result))
// supported
+// V8_HAS_BUILTIN_BSWAP16 - __builtin_bswap16() supported
+// V8_HAS_BUILTIN_BSWAP32 - __builtin_bswap32() supported
+// V8_HAS_BUILTIN_BSWAP64 - __builtin_bswap64() supported
// V8_HAS_BUILTIN_CLZ - __builtin_clz() supported
// V8_HAS_BUILTIN_CTZ - __builtin_ctz() supported
// V8_HAS_BUILTIN_EXPECT - __builtin_expect() supported
@@ -217,6 +220,9 @@
# define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
(__has_attribute(warn_unused_result))
+# define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16))
+# define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32))
+# define V8_HAS_BUILTIN_BSWAP64 (__has_builtin(__builtin_bswap64))
# define V8_HAS_BUILTIN_CLZ (__has_builtin(__builtin_clz))
# define V8_HAS_BUILTIN_CTZ (__has_builtin(__builtin_ctz))
# define V8_HAS_BUILTIN_EXPECT (__has_builtin(__builtin_expect))
@@ -405,7 +411,7 @@ namespace v8 { template class AlignOfHelper { char c; T t; }; }
// Annotate a function indicating the caller must examine the return value.
// Use like:
-// int foo() WARN_UNUSED_RESULT;
+// int foo() V8_WARN_UNUSED_RESULT;
#if V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
diff --git a/deps/v8/infra/config/cq.cfg b/deps/v8/infra/config/cq.cfg
index cda76faf51b576..6159b3f1cdeca4 100644
--- a/deps/v8/infra/config/cq.cfg
+++ b/deps/v8/infra/config/cq.cfg
@@ -31,6 +31,7 @@ verifiers {
triggered_by: "v8_linux64_asan_rel_ng"
}
builders { name: "v8_linux64_gcc_compile_dbg" }
+ builders { name: "v8_linux64_jumbo_compile_rel" }
builders { name: "v8_linux64_rel_ng" }
builders {
name: "v8_linux64_rel_ng_triggered"
@@ -84,10 +85,10 @@ verifiers {
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_mac64_rel_ng" }
builders {
- name: "v8_mac_rel_ng_triggered"
- triggered_by: "v8_mac_rel_ng"
+ name: "v8_mac64_rel_ng_triggered"
+ triggered_by: "v8_mac64_rel_ng"
}
builders { name: "v8_node_linux64_rel" }
builders { name: "v8_presubmit" }
diff --git a/deps/v8/infra/mb/gn_isolate_map.pyl b/deps/v8/infra/mb/gn_isolate_map.pyl
new file mode 100644
index 00000000000000..8f13079ea3d3b4
--- /dev/null
+++ b/deps/v8/infra/mb/gn_isolate_map.pyl
@@ -0,0 +1,74 @@
+# Copyright 2018 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.
+
+# gn_isolate_map.pyl - A mapping of Ninja build target names to GN labels and
+# test type classifications for the tests that are run on the bots.
+#
+# This file is based on testing/buildbot/gn_isolate_map.pyl for Chromium, but
+# is covering V8 stand-alone tests instead.
+# See https://cs.chromium.org/chromium/src/testing/buildbot/gn_isolate_map.pyl
+# for more detailed documentation.
+
+{
+ "All": {
+ "label": "//:All",
+ "type": "script",
+ },
+ "benchmarks": {
+ "label": "//test/benchmarks:v8_benchmarks",
+ "type": "script",
+ },
+ "bot_default": {
+ "label": "//test:v8_bot_default",
+ "type": "script",
+ },
+ "check-static-initializers": {
+ "label": "//tools:v8_check_static_initializers",
+ "type": "script",
+ },
+ "d8_default": {
+ "label": "//test:v8_d8_default",
+ "type": "script",
+ },
+ "mjsunit": {
+ "label": "//test/mjsunit:v8_mjsunit",
+ "type": "script",
+ },
+ "mozilla": {
+ "label": "//test/mozilla:v8_mozilla",
+ "type": "script",
+ },
+ "optimize_for_size": {
+ "label": "//test:v8_optimize_for_size",
+ "type": "script",
+ },
+ "perf": {
+ "label": "//test:v8_perf",
+ "type": "script",
+ },
+ "jsfunfuzz": {
+ "label": "//tools/jsfunfuzz:v8_jsfunfuzz",
+ "type": "script",
+ },
+ "run-gcmole": {
+ "label": "//tools/gcmole:v8_run_gcmole",
+ "type": "script",
+ },
+ "run-num-fuzzer": {
+ "label": "//test:v8_run_num_fuzzer",
+ "type": "script",
+ },
+ "test262": {
+ "label": "//test/test262:v8_test262",
+ "type": "script",
+ },
+ "unittests": {
+ "label": "//test/unittests:unittests",
+ "type": "script",
+ },
+ "webkit": {
+ "label": "//test/webkit:v8_webkit",
+ "type": "script",
+ },
+}
\ No newline at end of file
diff --git a/deps/v8/infra/mb/mb_config.pyl b/deps/v8/infra/mb/mb_config.pyl
index 15ce744999bf5c..70a7ad5754e0cb 100644
--- a/deps/v8/infra/mb/mb_config.pyl
+++ b/deps/v8/infra/mb/mb_config.pyl
@@ -68,6 +68,11 @@
'V8 Linux64 - custom snapshot - debug builder': 'debug_x64_custom',
'V8 Linux64 - internal snapshot': 'release_x64_internal',
'V8 Linux64 - verify csa': 'release_x64_verify_csa',
+ # Jumbo.
+ 'V8 Linux64 Jumbo': 'release_x64_jumbo',
+ 'V8 Linux64 Jumbo - debug': 'debug_x64_jumbo',
+ 'V8 Linux64 Jumbo - limited': 'release_x64_jumbo_limited',
+ 'V8 Linux64 Jumbo - limited - debug': 'debug_x64_jumbo_limited',
# Windows.
'V8 Win32 - builder': 'release_x86_minimal_symbols',
'V8 Win32 - debug builder': 'debug_x86_minimal_symbols',
@@ -79,11 +84,9 @@
'V8 Win64 - debug': 'debug_x64_minimal_symbols',
'V8 Win64 - msvc': 'release_x64_msvc',
# Mac.
- 'V8 Mac': 'release_x86',
- 'V8 Mac - debug': 'debug_x86',
'V8 Mac64': 'release_x64',
'V8 Mac64 - debug': 'debug_x64',
- 'V8 Mac GC Stress': 'debug_x86',
+ 'V8 Mac64 GC Stress': 'debug_x64',
'V8 Mac64 ASAN': 'release_x64_asan_no_lsan',
# Sanitizers.
'V8 Linux64 ASAN': 'release_x64_asan',
@@ -97,7 +100,6 @@
# FYI.
'V8 Fuchsia': 'release_x64_fuchsia',
'V8 Fuchsia - debug': 'debug_x64_fuchsia',
- 'V8 Linux - swarming staging': 'release_x64',
'V8 Linux64 - cfi': 'release_x64_cfi',
'V8 Linux64 UBSanVptr': 'release_x64_ubsan_vptr',
'V8 Linux - vtunejit': 'debug_x86_vtunejit',
@@ -210,9 +212,12 @@
'v8_linux64_rel_ng': 'release_x64_test_features_trybot',
'v8_linux64_verify_csa_rel_ng': 'release_x64_verify_csa',
'v8_linux64_asan_rel_ng': 'release_x64_asan_minimal_symbols',
+ 'v8_linux64_cfi_rel_ng': 'release_x64_cfi',
'v8_linux64_msan_rel': 'release_simulate_arm64_msan_minimal_symbols',
'v8_linux64_sanitizer_coverage_rel':
'release_x64_asan_minimal_symbols_coverage',
+ 'v8_linux64_jumbo_compile_rel': 'release_x64_jumbo_trybot',
+ 'v8_linux64_jumbo_limited_compile_rel': 'release_x64_jumbo_limited_trybot',
'v8_linux64_tsan_rel': 'release_x64_tsan_minimal_symbols',
'v8_linux64_tsan_concurrent_marking_rel_ng':
'release_x64_tsan_concurrent_marking_minimal_symbols',
@@ -226,12 +231,12 @@
'v8_win64_asan_rel_ng': 'release_x64_asan_no_lsan',
'v8_win64_msvc_compile_rel': 'release_x64_msvc',
'v8_win64_dbg': 'debug_x64_minimal_symbols',
+ 'v8_win64_msvc_rel_ng': 'release_x64_msvc',
'v8_win64_rel_ng': 'release_x64_trybot',
- 'v8_mac_rel_ng': 'release_x86_trybot',
- 'v8_mac_dbg': 'debug_x86_trybot',
- 'v8_mac_gc_stress_dbg': 'debug_x86_trybot',
- 'v8_mac64_rel': 'release_x64_trybot',
- 'v8_mac64_dbg': 'debug_x64_minimal_symbols',
+ 'v8_mac64_gc_stress_dbg': 'debug_x64_trybot',
+ 'v8_mac64_rel_ng': 'release_x64_trybot',
+ 'v8_mac64_dbg': 'debug_x64',
+ 'v8_mac64_dbg_ng': 'debug_x64',
'v8_mac64_asan_rel': 'release_x64_asan_no_lsan',
'v8_linux_arm_rel_ng': 'release_simulate_arm_trybot',
'v8_linux_arm_dbg': 'debug_simulate_arm',
@@ -321,160 +326,174 @@
# Debug configs for simulators.
'debug_simulate_arm': [
- 'debug_bot', 'simulate_arm', 'swarming'],
+ 'debug_bot', 'simulate_arm'],
'debug_simulate_arm_asan_edge': [
'debug_bot', 'simulate_arm', 'asan', 'edge'],
'debug_simulate_arm64': [
- 'debug_bot', 'simulate_arm64', 'swarming'],
+ 'debug_bot', 'simulate_arm64'],
'debug_simulate_arm64_asan_edge': [
'debug_bot', 'simulate_arm64', 'asan', 'lsan', 'edge'],
'debug_simulate_arm64_no_snap': [
'debug', 'simulate_arm64', 'shared', 'goma', 'v8_optimized_debug',
- 'swarming', 'v8_snapshot_none'],
+ 'v8_snapshot_none'],
'debug_simulate_mipsel_asan_edge': [
'debug_bot', 'simulate_mipsel', 'asan', 'edge'],
# Release configs for simulators.
'release_simulate_arm': [
- 'release_bot', 'simulate_arm', 'swarming'],
+ 'release_bot', 'simulate_arm'],
'release_simulate_arm_trybot': [
- 'release_trybot', 'simulate_arm', 'swarming'],
+ 'release_trybot', 'simulate_arm'],
'release_simulate_arm64': [
- 'release_bot', 'simulate_arm64', 'swarming'],
+ 'release_bot', 'simulate_arm64'],
'release_simulate_arm64_msan': [
- 'release_bot', 'simulate_arm64', 'msan', 'swarming'],
+ 'release_bot', 'simulate_arm64', 'msan'],
'release_simulate_arm64_msan_minimal_symbols': [
- 'release_bot', 'simulate_arm64', 'msan', 'minimal_symbols', 'swarming'],
+ 'release_bot', 'simulate_arm64', 'msan', 'minimal_symbols'],
'release_simulate_arm64_msan_edge': [
'release_bot', 'simulate_arm64', 'edge', 'msan'],
'release_simulate_arm64_msan_no_origins_edge': [
'release_bot', 'simulate_arm64', 'edge', 'msan_no_origins'],
'release_simulate_arm64_trybot': [
- 'release_trybot', 'simulate_arm64', 'swarming'],
+ 'release_trybot', 'simulate_arm64'],
'release_simulate_mipsel': [
- 'release_bot', 'simulate_mipsel', 'swarming'],
+ 'release_bot', 'simulate_mipsel'],
'release_simulate_mips64el': [
- 'release_bot', 'simulate_mips64el', 'swarming'],
+ 'release_bot', 'simulate_mips64el'],
'release_simulate_ppc': [
- 'release_bot', 'simulate_ppc', 'swarming'],
+ 'release_bot', 'simulate_ppc'],
'release_simulate_ppc64': [
- 'release_bot', 'simulate_ppc64', 'swarming'],
+ 'release_bot', 'simulate_ppc64'],
'release_simulate_s390': [
- 'release_bot', 'simulate_s390', 'swarming'],
+ 'release_bot', 'simulate_s390'],
'release_simulate_s390x': [
- 'release_bot', 'simulate_s390x', 'swarming'],
+ 'release_bot', 'simulate_s390x'],
# Debug configs for arm.
'debug_arm': [
- 'debug_bot', 'arm', 'hard_float', 'swarming'],
+ 'debug_bot', 'arm', 'hard_float'],
# Release configs for arm.
'release_arm': [
- 'release_bot', 'arm', 'hard_float', 'swarming'],
+ 'release_bot', 'arm', 'hard_float'],
'release_android_arm': [
- 'release_bot', 'arm', 'android', 'minimal_symbols', 'swarming'],
+ 'release_bot', 'arm', 'android', 'minimal_symbols'],
'release_android_arm64': [
- 'release_bot', 'arm64', 'android', 'minimal_symbols', 'swarming'],
+ 'release_bot', 'arm64', 'android', 'minimal_symbols'],
# Release configs for x64.
'release_x64': [
- 'release_bot', 'x64', 'swarming'],
+ 'release_bot', 'x64'],
'release_x64_asan': [
- 'release_bot', 'x64', 'asan', 'lsan', 'swarming'],
+ 'release_bot', 'x64', 'asan', 'lsan'],
'release_x64_asan_minimal_symbols': [
- 'release_bot', 'x64', 'asan', 'lsan', 'minimal_symbols', 'swarming'],
+ 'release_bot', 'x64', 'asan', 'lsan', 'minimal_symbols'],
'release_x64_asan_minimal_symbols_coverage': [
- 'release_bot', 'x64', 'asan', 'bb', 'coverage', 'lsan', 'minimal_symbols',
- 'swarming'],
+ 'release_bot', 'x64', 'asan', 'bb', 'coverage', 'lsan', 'minimal_symbols'],
'release_x64_asan_no_lsan': [
- 'release_bot', 'x64', 'asan', 'swarming'],
+ 'release_bot', 'x64', 'asan'],
'release_x64_asan_no_lsan_edge_verify_heap': [
- 'release_bot', 'x64', 'asan', 'edge', 'swarming', 'v8_verify_heap'],
+ 'release_bot', 'x64', 'asan', 'edge', 'v8_verify_heap'],
'release_x64_asan_no_lsan_verify_heap': [
- 'release_bot', 'x64', 'asan', 'swarming', 'v8_verify_heap'],
+ 'release_bot', 'x64', 'asan', 'v8_verify_heap'],
'release_x64_asan_no_lsan_verify_heap_dchecks': [
- 'release_bot', 'x64', 'asan', 'swarming', 'dcheck_always_on',
+ 'release_bot', 'x64', 'asan', 'dcheck_always_on',
'v8_enable_slow_dchecks', 'v8_verify_heap'],
'release_x64_asan_symbolized_edge_verify_heap': [
'release_bot', 'x64', 'asan', 'edge', 'lsan', 'symbolized',
'v8_verify_heap'],
'release_x64_cfi': [
- 'release_bot', 'x64', 'cfi', 'swarming'],
+ 'release_bot', 'x64', 'cfi'],
'release_x64_cfi_clusterfuzz': [
'release_bot', 'x64', 'cfi_clusterfuzz'],
'release_x64_msvc': [
- 'release_bot', 'x64', 'msvc', 'swarming'],
+ 'release_bot', 'x64', 'msvc'],
'release_x64_concurrent_marking': [
- 'release_bot', 'x64', 'v8_enable_concurrent_marking', 'swarming'],
+ 'release_bot', 'x64', 'v8_enable_concurrent_marking'],
'release_x64_correctness_fuzzer' : [
- 'release_bot', 'x64', 'v8_correctness_fuzzer', 'swarming'],
+ 'release_bot', 'x64', 'v8_correctness_fuzzer'],
'release_x64_fuchsia': [
- 'release_bot', 'x64', 'fuchsia', 'swarming'],
+ 'release_bot', 'x64', 'fuchsia'],
'release_x64_fuchsia_trybot': [
- 'release_trybot', 'x64', 'fuchsia', 'swarming'],
+ 'release_trybot', 'x64', 'fuchsia'],
'release_x64_gcc_coverage': [
'release_bot', 'x64', 'coverage', 'gcc'],
'release_x64_internal': [
- 'release_bot', 'x64', 'swarming', 'v8_snapshot_internal'],
+ 'release_bot', 'x64', 'v8_enable_embedded_builtins',
+ 'v8_snapshot_internal'],
+ 'release_x64_jumbo': [
+ 'release_bot', 'x64', 'jumbo'],
+ 'release_x64_jumbo_trybot': [
+ 'release_trybot', 'x64', 'jumbo'],
+ 'release_x64_jumbo_limited': [
+ 'release_bot', 'x64', 'jumbo_limited'],
+ 'release_x64_jumbo_limited_trybot': [
+ 'release_trybot', 'x64', 'jumbo_limited'],
'release_x64_minimal_symbols': [
- 'release_bot', 'x64', 'minimal_symbols', 'swarming'],
+ 'release_bot', 'x64', 'minimal_symbols'],
'release_x64_no_snap': [
- 'release_bot', 'x64', 'swarming', 'v8_snapshot_none'],
+ 'release_bot', 'x64', 'v8_snapshot_none'],
'release_x64_trybot': [
- 'release_trybot', 'x64', 'swarming'],
+ 'release_trybot', 'x64'],
'release_x64_test_features_trybot': [
- 'release_trybot', 'x64', 'swarming', 'v8_enable_test_features'],
+ 'release_trybot', 'x64', 'v8_enable_test_features'],
'release_x64_tsan': [
- 'release_bot', 'x64', 'tsan', 'swarming'],
+ 'release_bot', 'x64', 'tsan'],
'release_x64_tsan_concurrent_marking': [
- 'release_bot', 'x64', 'v8_enable_concurrent_marking', 'tsan', 'swarming'],
+ 'release_bot', 'x64', 'v8_enable_concurrent_marking', 'tsan'],
'release_x64_tsan_concurrent_marking_minimal_symbols': [
'release_bot', 'x64', 'v8_enable_concurrent_marking', 'tsan',
- 'minimal_symbols', 'swarming'],
+ 'minimal_symbols'],
'release_x64_tsan_minimal_symbols': [
- 'release_bot', 'x64', 'tsan', 'minimal_symbols', 'swarming'],
+ 'release_bot', 'x64', 'tsan', 'minimal_symbols'],
'release_x64_ubsan_vptr': [
- 'release_bot', 'x64', 'ubsan_vptr', 'swarming'],
+ 'release_bot', 'x64', 'ubsan_vptr'],
'release_x64_ubsan_vptr_recover_edge': [
- 'release_bot', 'x64', 'edge', 'ubsan_vptr_recover', 'swarming'],
+ 'release_bot', 'x64', 'edge', 'ubsan_vptr_recover'],
'release_x64_ubsan_vptr_minimal_symbols': [
- 'release_bot', 'x64', 'ubsan_vptr', 'minimal_symbols', 'swarming'],
+ 'release_bot', 'x64', 'ubsan_vptr', 'minimal_symbols'],
'release_x64_verify_csa': [
- 'release_bot', 'x64', 'swarming', 'dcheck_always_on',
- 'v8_enable_slow_dchecks', 'v8_verify_csa'],
+ 'release_bot', 'x64', 'dcheck_always_on',
+ 'v8_enable_slow_dchecks', 'v8_enable_embedded_builtins', 'v8_verify_csa'],
# Debug configs for x64.
'debug_x64': [
- 'debug_bot', 'x64', 'swarming'],
+ 'debug_bot', 'x64'],
'debug_x64_asan_edge': [
'debug_bot', 'x64', 'asan', 'lsan', 'edge'],
'debug_x64_asan_no_lsan_static_edge': [
'debug', 'static', 'goma', 'v8_enable_slow_dchecks', 'v8_optimized_debug',
- 'x64', 'asan', 'edge', 'swarming'],
+ 'x64', 'asan', 'edge'],
'debug_x64_custom': [
- 'debug_bot', 'x64', 'swarming', 'v8_snapshot_custom'],
+ 'debug_bot', 'x64', 'v8_snapshot_custom'],
'debug_x64_fuchsia': [
- 'debug_bot', 'x64', 'fuchsia', 'swarming'],
+ 'debug_bot', 'x64', 'fuchsia'],
'debug_x64_gcc': [
'debug_bot', 'x64', 'gcc'],
+ 'debug_x64_jumbo': [
+ 'debug_bot', 'x64', 'jumbo'],
+ 'debug_x64_jumbo_limited': [
+ 'debug_bot', 'x64', 'jumbo_limited'],
'debug_x64_minimal_symbols': [
- 'debug_bot', 'x64', 'minimal_symbols', 'swarming'],
+ 'debug_bot', 'x64', 'minimal_symbols'],
'debug_x64_no_snap': [
- 'debug_bot', 'x64', 'swarming', 'v8_snapshot_none'],
+ 'debug_bot', 'x64', 'v8_snapshot_none'],
+ 'debug_x64_trybot': [
+ 'debug_trybot', 'x64'],
# Debug configs for x86.
'debug_x86': [
- 'debug_bot', 'x86', 'swarming'],
+ 'debug_bot', 'x86'],
'debug_x86_minimal_symbols': [
- 'debug_bot', 'x86', 'minimal_symbols', 'swarming'],
+ 'debug_bot', 'x86', 'minimal_symbols'],
'debug_x86_no_i18n': [
- 'debug_bot', 'x86', 'swarming', 'v8_no_i18n'],
+ 'debug_bot', 'x86', 'v8_no_i18n'],
'debug_x86_no_snap': [
- 'debug_bot', 'x86', 'swarming', 'v8_snapshot_none'],
+ 'debug_bot', 'x86', 'v8_snapshot_none'],
'debug_x86_no_snap_trybot': [
- 'debug_trybot', 'x86', 'swarming', 'v8_snapshot_none'],
+ 'debug_trybot', 'x86', 'v8_snapshot_none'],
'debug_x86_trybot': [
- 'debug_trybot', 'x86', 'swarming'],
+ 'debug_trybot', 'x86'],
'debug_x86_vtunejit': [
'debug_bot', 'x86', 'v8_enable_vtunejit'],
'full_debug_x86': [
@@ -483,7 +502,7 @@
# Release configs for x86.
'release_x86': [
- 'release_bot', 'x86', 'swarming'],
+ 'release_bot', 'x86'],
'release_x86_disassembler': [
'release_bot', 'x86', 'v8_enable_disassembler'],
'release_x86_gcc': [
@@ -491,30 +510,30 @@
'release_x86_gcc_minimal_symbols': [
'release_bot', 'x86', 'gcc', 'minimal_symbols'],
'release_x86_gcmole': [
- 'release_bot', 'x86', 'gcmole', 'swarming'],
+ 'release_bot', 'x86', 'gcmole'],
'release_x86_gcmole_trybot': [
- 'release_trybot', 'x86', 'gcmole', 'swarming'],
+ 'release_trybot', 'x86', 'gcmole'],
'release_x86_interpreted_regexp': [
'release_bot', 'x86', 'v8_interpreted_regexp'],
'release_x86_minimal_symbols': [
- 'release_bot', 'x86', 'minimal_symbols', 'swarming'],
+ 'release_bot', 'x86', 'minimal_symbols'],
'release_x86_no_i18n_trybot': [
- 'release_trybot', 'x86', 'swarming', 'v8_no_i18n'],
+ 'release_trybot', 'x86', 'v8_no_i18n'],
'release_x86_no_snap': [
- 'release_bot', 'x86', 'swarming', 'v8_snapshot_none'],
+ 'release_bot', 'x86', 'v8_snapshot_none'],
'release_x86_no_snap_shared_minimal_symbols': [
- 'release', 'x86', 'goma', 'minimal_symbols', 'shared', 'swarming',
+ 'release', 'x86', 'goma', 'minimal_symbols', 'shared',
'v8_snapshot_none'],
'release_x86_no_snap_trybot': [
- 'release_trybot', 'x86', 'swarming', 'v8_snapshot_none'],
+ 'release_trybot', 'x86', 'v8_snapshot_none'],
'release_x86_predictable': [
'release_bot', 'x86', 'v8_enable_verify_predictable'],
'release_x86_shared_verify_heap': [
- 'release', 'x86', 'goma', 'shared', 'swarming', 'v8_verify_heap'],
+ 'release', 'x86', 'goma', 'shared', 'v8_verify_heap'],
'release_x86_trybot': [
- 'release_trybot', 'x86', 'swarming'],
+ 'release_trybot', 'x86'],
'release_x86_verify_csa': [
- 'release_bot', 'x86', 'swarming', 'dcheck_always_on',
+ 'release_bot', 'x86', 'dcheck_always_on',
'v8_enable_slow_dchecks', 'v8_verify_csa'],
# Release configs for mips.
@@ -608,6 +627,14 @@
'gn_args': 'arm_float_abi="hard"',
},
+ 'jumbo': {
+ 'gn_args': 'use_jumbo_build=true',
+ },
+
+ 'jumbo_limited': {
+ 'gn_args': 'use_jumbo_build=true jumbo_file_merge_limit=50',
+ },
+
'lsan': {
'mixins': ['v8_enable_test_features'],
'gn_args': 'is_lsan=true',
@@ -699,10 +726,6 @@
'gn_args': 'is_component_build=false',
},
- 'swarming': {
- 'gn_args': 'v8_test_isolation_mode="prepare"',
- },
-
# TODO(machenbach): Remove the symbolized config after the bots are gone.
'symbolized': {
'gn_args': 'v8_no_inline=true',
@@ -744,6 +767,10 @@
'gn_args': 'v8_enable_disassembler=true',
},
+ 'v8_enable_embedded_builtins': {
+ 'gn_args': 'v8_enable_embedded_builtins=true',
+ },
+
'v8_enable_slow_dchecks': {
'gn_args': 'v8_enable_slow_dchecks=true',
},
diff --git a/deps/v8/src/DEPS b/deps/v8/src/DEPS
index bbf47e61071faf..050f91d6d6d990 100644
--- a/deps/v8/src/DEPS
+++ b/deps/v8/src/DEPS
@@ -8,6 +8,8 @@ include_rules = [
"+src/compiler/code-assembler.h",
"+src/compiler/wasm-compiler.h",
"-src/heap",
+ "+src/heap/factory.h",
+ "+src/heap/factory-inl.h",
"+src/heap/heap.h",
"+src/heap/heap-inl.h",
"-src/inspector",
diff --git a/deps/v8/src/accessors.cc b/deps/v8/src/accessors.cc
index eb892886857213..f292988b8e1e5d 100644
--- a/deps/v8/src/accessors.cc
+++ b/deps/v8/src/accessors.cc
@@ -8,8 +8,8 @@
#include "src/contexts.h"
#include "src/deoptimizer.h"
#include "src/execution.h"
-#include "src/factory.h"
#include "src/frames-inl.h"
+#include "src/heap/factory.h"
#include "src/isolate-inl.h"
#include "src/messages.h"
#include "src/property-details.h"
@@ -28,6 +28,7 @@ Handle Accessors::MakeAccessor(
info->set_is_special_data_property(true);
info->set_is_sloppy(false);
info->set_replace_on_access(false);
+ info->set_has_no_side_effect(false);
name = factory->InternalizeName(name);
info->set_name(*name);
Handle |