Skip to content

Commit 01b19b3

Browse files
committed
Update V8 to 76968a2ff3
1 parent afd71ee commit 01b19b3

File tree

1,234 files changed

+102890
-7677
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,234 files changed

+102890
-7677
lines changed

deps/v8/.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
.project
3434
.pydevproject
3535
.settings
36+
.torquelint-cache
3637
.vscode
3738
/Default/
3839
/_*
@@ -54,7 +55,7 @@
5455
/test/mozilla/data
5556
/test/test262/data
5657
/test/test262/harness
57-
/test/wasm-js
58+
/test/wasm-js/data
5859
/test/wasm-spec-tests/tests
5960
/test/wasm-spec-tests/tests.tar.gz
6061
/third_party/*

deps/v8/BUILD.gn

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -83,15 +83,16 @@ declare_args() {
8383
v8_enable_fast_mksnapshot = false
8484

8585
# Enable embedded builtins.
86-
# TODO(jgruber,v8:6666): Support ia32 and maybe MSVC.
87-
v8_enable_embedded_builtins = v8_use_snapshot && v8_current_cpu != "x86" &&
88-
!is_aix && (!is_win || is_clang)
86+
# TODO(v8:6666): Support no-snapshot builds, aix and MSVC.
87+
v8_enable_embedded_builtins =
88+
v8_use_snapshot && !is_aix && (!is_win || is_clang)
8989

9090
# Enable code-generation-time checking of types in the CodeStubAssembler.
9191
v8_enable_verify_csa = false
9292

9393
# Enable pointer compression (sets -dV8_COMPRESS_POINTERS).
9494
v8_enable_pointer_compression = false
95+
v8_enable_31bit_smis_on_64bit_arch = false
9596

9697
# Interpreted regexp engine exists as platform-independent alternative
9798
# based where the regular expression is compiled to a bytecode.
@@ -340,6 +341,9 @@ config("features") {
340341
if (v8_enable_pointer_compression) {
341342
defines += [ "V8_COMPRESS_POINTERS" ]
342343
}
344+
if (v8_enable_31bit_smis_on_64bit_arch) {
345+
defines += [ "V8_31BIT_SMIS_ON_64BIT_ARCH" ]
346+
}
343347
if (v8_enable_object_print) {
344348
defines += [ "OBJECT_PRINT" ]
345349
}
@@ -876,6 +880,8 @@ action("postmortem-metadata") {
876880
"src/objects/data-handler-inl.h",
877881
"src/objects/fixed-array-inl.h",
878882
"src/objects/fixed-array.h",
883+
"src/objects/heap-object-inl.h",
884+
"src/objects/heap-object.h",
879885
"src/objects/js-array-inl.h",
880886
"src/objects/js-array.h",
881887
"src/objects/js-array-buffer-inl.h",
@@ -916,7 +922,9 @@ torque_files = [
916922
"src/builtins/array-foreach.tq",
917923
"src/builtins/array-join.tq",
918924
"src/builtins/array-lastindexof.tq",
925+
"src/builtins/array-of.tq",
919926
"src/builtins/array-reverse.tq",
927+
"src/builtins/array-slice.tq",
920928
"src/builtins/array-splice.tq",
921929
"src/builtins/array-unshift.tq",
922930
"src/builtins/typed-array.tq",
@@ -971,20 +979,6 @@ action("run_torque") {
971979
}
972980
}
973981

974-
v8_header_set("torque_generated_core") {
975-
visibility = [ ":*" ] # Only targets in this file can depend on this.
976-
977-
deps = [
978-
":run_torque",
979-
]
980-
981-
sources = [
982-
"$target_gen_dir/torque-generated/builtin-definitions-from-dsl.h",
983-
]
984-
985-
configs = [ ":internal_config" ]
986-
}
987-
988982
v8_source_set("torque_generated_initializers") {
989983
visibility = [ ":*" ] # Only targets in this file can depend on this.
990984

@@ -1179,6 +1173,7 @@ action("v8_dump_build_config") {
11791173
"v8_use_snapshot=$v8_use_snapshot",
11801174
"v8_enable_embedded_builtins=$v8_enable_embedded_builtins",
11811175
"v8_enable_verify_csa=$v8_enable_verify_csa",
1176+
"v8_enable_lite_mode=$v8_enable_lite_mode",
11821177
]
11831178

11841179
if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel" ||
@@ -1908,6 +1903,8 @@ v8_source_set("v8_base") {
19081903
"src/compiler/wasm-compiler.h",
19091904
"src/compiler/zone-stats.cc",
19101905
"src/compiler/zone-stats.h",
1906+
"src/constant-pool.cc",
1907+
"src/constant-pool.h",
19111908
"src/contexts-inl.h",
19121909
"src/contexts.cc",
19131910
"src/contexts.h",
@@ -2146,8 +2143,6 @@ v8_source_set("v8_base") {
21462143
"src/interpreter/interpreter-intrinsics.h",
21472144
"src/interpreter/interpreter.cc",
21482145
"src/interpreter/interpreter.h",
2149-
"src/intl.cc",
2150-
"src/intl.h",
21512146
"src/isolate-data.h",
21522147
"src/isolate-inl.h",
21532148
"src/isolate.cc",
@@ -2219,7 +2214,8 @@ v8_source_set("v8_base") {
22192214
"src/objects/frame-array.h",
22202215
"src/objects/hash-table-inl.h",
22212216
"src/objects/hash-table.h",
2222-
"src/objects/intl-objects-inl.h",
2217+
"src/objects/heap-object-inl.h",
2218+
"src/objects/heap-object.h",
22232219
"src/objects/intl-objects.cc",
22242220
"src/objects/intl-objects.h",
22252221
"src/objects/js-array-buffer-inl.h",
@@ -2312,6 +2308,8 @@ v8_source_set("v8_base") {
23122308
"src/objects/script.h",
23132309
"src/objects/shared-function-info-inl.h",
23142310
"src/objects/shared-function-info.h",
2311+
"src/objects/slots-inl.h",
2312+
"src/objects/slots.h",
23152313
"src/objects/stack-frame-info-inl.h",
23162314
"src/objects/stack-frame-info.h",
23172315
"src/objects/string-inl.h",
@@ -2582,6 +2580,7 @@ v8_source_set("v8_base") {
25822580
"src/wasm/baseline/liftoff-compiler.cc",
25832581
"src/wasm/baseline/liftoff-compiler.h",
25842582
"src/wasm/baseline/liftoff-register.h",
2583+
"src/wasm/compilation-environment.h",
25852584
"src/wasm/decoder.h",
25862585
"src/wasm/function-body-decoder-impl.h",
25872586
"src/wasm/function-body-decoder.cc",
@@ -2955,7 +2954,7 @@ v8_source_set("v8_base") {
29552954
defines = []
29562955
deps = [
29572956
":generate_bytecode_builtins_list",
2958-
":torque_generated_core",
2957+
":run_torque",
29592958
":v8_headers",
29602959
":v8_libbase",
29612960
":v8_libsampler",
@@ -2973,9 +2972,6 @@ v8_source_set("v8_base") {
29732972
sources -= [
29742973
"src/builtins/builtins-intl.cc",
29752974
"src/char-predicates.cc",
2976-
"src/intl.cc",
2977-
"src/intl.h",
2978-
"src/objects/intl-objects-inl.h",
29792975
"src/objects/intl-objects.cc",
29802976
"src/objects/intl-objects.h",
29812977
"src/objects/js-break-iterator-inl.h",
@@ -3808,7 +3804,7 @@ v8_source_set("wasm_module_runner") {
38083804

38093805
deps = [
38103806
":generate_bytecode_builtins_list",
3811-
":torque_generated_core",
3807+
":run_torque",
38123808
]
38133809

38143810
if (v8_enable_i18n_support) {
@@ -3892,7 +3888,7 @@ v8_source_set("lib_wasm_fuzzer_common") {
38923888

38933889
deps = [
38943890
":generate_bytecode_builtins_list",
3895-
":torque_generated_core",
3891+
":run_torque",
38963892
]
38973893

38983894
if (v8_enable_i18n_support) {

deps/v8/DEPS

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ vars = {
1313

1414
deps = {
1515
'v8/build':
16-
Var('chromium_url') + '/chromium/src/build.git' + '@' + '5839d1c9c67c68383d3fad086b081944ced52bfe',
16+
Var('chromium_url') + '/chromium/src/build.git' + '@' + '6455acf1c78ab1f3a9be215adaa0fd7ce8017dea',
1717
'v8/third_party/depot_tools':
18-
Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + '08faab99d41bd4f1f727267586ff28a227f80cd3',
18+
Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + '98f1e59b41c6c580cd168ac4456bf27d78c12a95',
1919
'v8/third_party/icu':
20-
Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'ccad4472126e35ccd1d19bea38b6675802d40472',
20+
Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'b029971f1fc6b20d06887c47c7afebd5881f31ff',
2121
'v8/third_party/instrumented_libraries':
2222
Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + 'a90cbf3b4216430a437991fb53ede8e048dea454',
2323
'v8/buildtools':
@@ -33,15 +33,15 @@ deps = {
3333
'condition': 'checkout_android',
3434
},
3535
'v8/third_party/catapult': {
36-
'url': Var('chromium_url') + '/catapult.git' + '@' + '519565187c85418c6d1443ec24bd1012afdfb247',
36+
'url': Var('chromium_url') + '/catapult.git' + '@' + 'b026043a43f9ce3f37c1cd57269f92cb8bee756c',
3737
'condition': 'checkout_android',
3838
},
3939
'v8/third_party/colorama/src': {
4040
'url': Var('chromium_url') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
4141
'condition': 'checkout_android',
4242
},
4343
'v8/third_party/fuchsia-sdk': {
44-
'url': Var('chromium_url') + '/chromium/src/third_party/fuchsia-sdk.git' + '@' + '6f8b55e35f7d48efdbfc3d8914e3e5e4c29a3ff3',
44+
'url': Var('chromium_url') + '/chromium/src/third_party/fuchsia-sdk.git' + '@' + 'bac04339dfb1e41704eca419eb0196028a15b8c3',
4545
'condition': 'checkout_fuchsia',
4646
},
4747
'v8/third_party/googletest/src':
@@ -51,7 +51,7 @@ deps = {
5151
'v8/third_party/markupsafe':
5252
Var('chromium_url') + '/chromium/src/third_party/markupsafe.git' + '@' + '8f45f5cfa0009d2a70589bcda0349b8cb2b72783',
5353
'v8/tools/swarming_client':
54-
Var('chromium_url') + '/infra/luci/client-py.git' + '@' + '486c9b53c4d54dd4b95bb6ce0e31160e600dfc11',
54+
Var('chromium_url') + '/infra/luci/client-py.git' + '@' + 'f78187ab77127de42555afe0ad410bebde6ac6a5',
5555
'v8/test/benchmarks/data':
5656
Var('chromium_url') + '/v8/deps/third_party/benchmarks.git' + '@' + '05d7188267b4560491ff9155c5ee13e207ecd65f',
5757
'v8/test/mozilla/data':
@@ -84,8 +84,8 @@ deps = {
8484
Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'a245b955fe9cd620081ed267fae303c88d033fef',
8585
'v8/tools/luci-go':
8686
Var('chromium_url') + '/chromium/src/tools/luci-go.git' + '@' + '445d7c4b6a4f10e188edb395b132e3996b127691',
87-
'v8/test/wasm-js':
88-
Var('chromium_url') + '/external/github.com/WebAssembly/spec.git' + '@' + 'db9cd40808a90ecc5f4a23e88fb375c8f60b8d52',
87+
'v8/test/wasm-js/data':
88+
Var('chromium_url') + '/external/github.com/WebAssembly/spec.git' + '@' + '7e3c46a072a13fbfc871a3b78ddf7bd7e50a0ddd',
8989
}
9090

9191
recursedeps = [

deps/v8/PRESUBMIT.py

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -458,19 +458,3 @@ def CheckChangeOnCommit(input_api, output_api):
458458
input_api, output_api,
459459
json_url='http://v8-status.appspot.com/current?format=json'))
460460
return results
461-
462-
def PostUploadHook(cl, change, output_api):
463-
"""git cl upload will call this hook after the issue is created/modified.
464-
465-
This hook adds a noi18n bot if the patch affects Intl.
466-
"""
467-
def affects_intl(f):
468-
return 'intl' in f.LocalPath() or 'test262' in f.LocalPath()
469-
if not change.AffectedFiles(file_filter=affects_intl):
470-
return []
471-
return output_api.EnsureCQIncludeTrybotsAreAdded(
472-
cl,
473-
[
474-
'luci.v8.try:v8_linux_noi18n_rel_ng'
475-
],
476-
'Automatically added noi18n trybots to run tests on CQ.')

deps/v8/WATCHLISTS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,10 @@
7878
'filepath': 'src/ast/' \
7979
'|src/parsing/',
8080
},
81+
'profiler': {
82+
'filepath': 'src/profiler/' \
83+
'|src/libsampler/',
84+
},
8185
'tracing': {
8286
'filepath': 'src/tracing/',
8387
},
@@ -123,7 +127,11 @@
123127
124128
125129
],
130+
'profiler': [
131+
132+
],
126133
'tracing': [
134+
127135
128136
129137
],
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
// Copyright 2018 the V8 project authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
const kIterations = 1000000;
6+
const kIterationShort = 10000;
7+
const kArraySize = 64;
8+
9+
let smi_array = [];
10+
for (let i = 0; i < kArraySize; ++i) smi_array[i] = Math.floor(Math.random() * 100);
11+
12+
let start = performance.now();
13+
for (let x = 0; x < kIterations; ++x) {
14+
smi_array.slice(0);
15+
}
16+
let stop = performance.now();
17+
print("smi_array copy: " + (Math.floor((stop - start)*10)/10) + " ms");
18+
19+
start = performance.now();
20+
for (let x = 0; x < kIterations; ++x) {
21+
smi_array.slice(x % kArraySize);
22+
}
23+
stop = performance.now();
24+
print("smi_array: " + (Math.floor((stop - start)*10)/10) + " ms");
25+
26+
let double_array = [];
27+
for (let i = 0; i < kArraySize; ++i) double_array[i] = Math.random() * 100;
28+
start = performance.now();
29+
for (let x = 0; x < kIterations; ++x) {
30+
double_array.slice(x % kArraySize);
31+
}
32+
stop = performance.now();
33+
print("double_array: " + (Math.floor((stop - start)*10)/10) + " ms");
34+
35+
let object_array = [];
36+
for (let i = 0; i < kArraySize; ++i) object_array[i] = new Object();
37+
start = performance.now();
38+
for (let x = 0; x < kIterations; ++x) {
39+
object_array.slice(x % kArraySize);
40+
}
41+
stop = performance.now();
42+
print("object_array: " + (Math.floor((stop - start)*10)/10) + " ms");
43+
44+
let dictionary_array = [];
45+
for (let i = 0; i < kArraySize; ++i) dictionary_array[i] = new Object();
46+
dictionary_array[100000] = new Object();
47+
start = performance.now();
48+
for (let x = 0; x < kIterationShort; ++x) {
49+
dictionary_array.slice(x % kArraySize);
50+
}
51+
stop = performance.now();
52+
print("dictionary: " + (Math.floor((stop - start)*10)/10) + " ms");
53+
54+
let arguments_array;
55+
function sloppy() {
56+
arguments_array = arguments;
57+
}
58+
sloppy.apply(null, smi_array);
59+
start = performance.now();
60+
for (let x = 0; x < kIterations; ++x) {
61+
let r = Array.prototype.slice.call(arguments_array, x % kArraySize);
62+
}
63+
stop = performance.now();
64+
print("arguments_array (sloppy): " + (Math.floor((stop - start)*10)/10) + " ms");
65+
66+
function sloppy2 (a) {
67+
arguments_array = arguments;
68+
}
69+
sloppy2.apply(null, smi_array);
70+
start = performance.now();
71+
for (let x = 0; x < kIterations; ++x) {
72+
Array.prototype.slice.call(arguments_array, x % kArraySize);
73+
}
74+
stop = performance.now();
75+
print("arguments_array (fast aliased): " + (Math.floor((stop - start)*10)/10) + " ms");
76+
77+
delete arguments_array[5];
78+
start = performance.now();
79+
for (let x = 0; x < kIterationShort; ++x) {
80+
Array.prototype.slice.call(arguments_array, x % kArraySize);
81+
}
82+
stop = performance.now();
83+
print("arguments_array (slow aliased): " + (Math.floor((stop - start)*10)/10) + " ms");

deps/v8/include/OWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ [email protected]
55
66
77

8+
per-file v8-internal.h=file://OWNERS
89
910
1011

deps/v8/include/PRESUBMIT.py

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)