Skip to content

Commit 70d1f32

Browse files
bnoordhuisrvagg
authored andcommitted
deps: update v8 to 4.4.63.9
Upgrade the bundled V8 and update code in src/ and lib/ to the new API. Notable backwards incompatible changes are the removal of the smalloc module and dropped support for CESU-8 decoding. CESU-8 support can be brought back if necessary by doing UTF-8 decoding ourselves. This commit includes https://codereview.chromium.org/1192973004 to fix a build error on python 2.6 systems. The original commit log follows: Use optparse in js2c.py for python compatibility Without this change, V8 won't build on RHEL/CentOS 6 because the distro python is too old to know about the argparse module. PR-URL: #2022 Reviewed-By: Rod Vagg <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
1 parent 4643b8b commit 70d1f32

File tree

986 files changed

+73380
-38196
lines changed

Some content is hidden

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

986 files changed

+73380
-38196
lines changed

deps/v8/AUTHORS

+1
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ Maxim Mossienko <[email protected]>
7676
Michael Lutz <[email protected]>
7777
Michael Smith <[email protected]>
7878
Mike Gilbert <[email protected]>
79+
Mike Pennisi <[email protected]>
7980
Nicolas Antonius Ernst Leopold Maria Kaiser <[email protected]>
8081
Paolo Giarrusso <[email protected]>
8182
Patrick Gansterer <[email protected]>

deps/v8/BUILD.gn

+87-18
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,14 @@ v8_toolset_for_d8 = "host"
3232
# TODO(GYP): For now we only support 32-bit little-endian target builds from an
3333
# x64 Linux host. Eventually we need to support all of the host/target
3434
# configurations v8 runs on.
35-
if (host_cpu == "x64" && host_os == "linux" &&
36-
(target_cpu == "arm" || target_cpu == "mipsel" || target_cpu == "x86")) {
37-
snapshot_toolchain = "//build/toolchain/linux:clang_x86"
35+
if (host_cpu == "x64" && host_os == "linux") {
36+
if (target_cpu == "arm" || target_cpu == "mipsel" || target_cpu == "x86") {
37+
snapshot_toolchain = "//build/toolchain/linux:clang_x86"
38+
} else if (target_cpu == "x64") {
39+
snapshot_toolchain = "//build/toolchain/linux:clang_x64"
40+
} else {
41+
assert(false, "Need environment for this arch")
42+
}
3843
} else {
3944
snapshot_toolchain = default_toolchain
4045
}
@@ -196,6 +201,8 @@ action("js2c") {
196201
inputs = [ "tools/jsmin.py" ]
197202

198203
sources = [
204+
"src/macros.py",
205+
"src/messages.h",
199206
"src/runtime.js",
200207
"src/v8natives.js",
201208
"src/symbol.js",
@@ -222,7 +229,6 @@ action("js2c") {
222229
"src/mirror-debugger.js",
223230
"src/liveedit-debugger.js",
224231
"src/templates.js",
225-
"src/macros.py",
226232
]
227233

228234
outputs = [
@@ -258,14 +264,17 @@ action("js2c_experimental") {
258264

259265
sources = [
260266
"src/macros.py",
267+
"src/messages.h",
261268
"src/proxy.js",
262269
"src/generator.js",
263270
"src/harmony-array.js",
264271
"src/harmony-array-includes.js",
265272
"src/harmony-typedarray.js",
266273
"src/harmony-tostring.js",
267274
"src/harmony-regexp.js",
268-
"src/harmony-reflect.js"
275+
"src/harmony-reflect.js",
276+
"src/harmony-spread.js",
277+
"src/harmony-object.js"
269278
]
270279

271280
outputs = [
@@ -287,6 +296,36 @@ action("js2c_experimental") {
287296
}
288297
}
289298

299+
action("js2c_extras") {
300+
visibility = [ ":*" ] # Only targets in this file can depend on this.
301+
302+
script = "tools/js2c.py"
303+
304+
# The script depends on this other script, this rule causes a rebuild if it
305+
# changes.
306+
inputs = [ "tools/jsmin.py" ]
307+
308+
sources = v8_extra_library_files
309+
310+
outputs = [
311+
"$target_gen_dir/extras-libraries.cc",
312+
]
313+
314+
args = [
315+
rebase_path("$target_gen_dir/extras-libraries.cc",
316+
root_build_dir),
317+
"EXTRAS",
318+
] + rebase_path(sources, root_build_dir)
319+
320+
if (v8_use_external_startup_data) {
321+
outputs += [ "$target_gen_dir/libraries_extras.bin" ]
322+
args += [
323+
"--startup_blob",
324+
rebase_path("$target_gen_dir/libraries_extras.bin", root_build_dir),
325+
]
326+
}
327+
}
328+
290329
action("d8_js2c") {
291330
visibility = [ ":*" ] # Only targets in this file can depend on this.
292331

@@ -312,11 +351,13 @@ if (v8_use_external_startup_data) {
312351
deps = [
313352
":js2c",
314353
":js2c_experimental",
354+
":js2c_extras",
315355
]
316356

317357
sources = [
318358
"$target_gen_dir/libraries.bin",
319359
"$target_gen_dir/libraries_experimental.bin",
360+
"$target_gen_dir/libraries_extras.bin",
320361
]
321362

322363
outputs = [
@@ -330,7 +371,12 @@ if (v8_use_external_startup_data) {
330371
}
331372

332373
action("postmortem-metadata") {
333-
visibility = [ ":*" ] # Only targets in this file can depend on this.
374+
# Only targets in this file and the top-level visibility target can
375+
# depend on this.
376+
visibility = [
377+
":*",
378+
"//:gn_visibility",
379+
]
334380

335381
script = "tools/gen-postmortem-metadata.py"
336382

@@ -396,12 +442,14 @@ source_set("v8_nosnapshot") {
396442
deps = [
397443
":js2c",
398444
":js2c_experimental",
445+
":js2c_extras",
399446
":v8_base",
400447
]
401448

402449
sources = [
403450
"$target_gen_dir/libraries.cc",
404451
"$target_gen_dir/experimental-libraries.cc",
452+
"$target_gen_dir/extras-libraries.cc",
405453
"src/snapshot/snapshot-empty.cc",
406454
]
407455

@@ -415,18 +463,25 @@ source_set("v8_nosnapshot") {
415463
}
416464

417465
source_set("v8_snapshot") {
418-
visibility = [ ":*" ] # Only targets in this file can depend on this.
466+
# Only targets in this file and the top-level visibility target can
467+
# depend on this.
468+
visibility = [
469+
":*",
470+
"//:gn_visibility",
471+
]
419472

420473
deps = [
421474
":js2c",
422475
":js2c_experimental",
476+
":js2c_extras",
423477
":run_mksnapshot",
424478
":v8_base",
425479
]
426480

427481
sources = [
428482
"$target_gen_dir/libraries.cc",
429483
"$target_gen_dir/experimental-libraries.cc",
484+
"$target_gen_dir/extras-libraries.cc",
430485
"$target_gen_dir/snapshot.cc",
431486
]
432487

@@ -446,6 +501,7 @@ if (v8_use_external_startup_data) {
446501
deps = [
447502
":js2c",
448503
":js2c_experimental",
504+
":js2c_extras",
449505
":run_mksnapshot",
450506
":v8_base",
451507
":natives_blob",
@@ -530,6 +586,8 @@ source_set("v8_base") {
530586
"src/codegen.h",
531587
"src/compilation-cache.cc",
532588
"src/compilation-cache.h",
589+
"src/compilation-dependencies.cc",
590+
"src/compilation-dependencies.h",
533591
"src/compilation-statistics.cc",
534592
"src/compilation-statistics.h",
535593
"src/compiler/access-builder.cc",
@@ -555,13 +613,18 @@ source_set("v8_base") {
555613
"src/compiler/common-operator.h",
556614
"src/compiler/control-builders.cc",
557615
"src/compiler/control-builders.h",
616+
"src/compiler/control-equivalence.cc",
558617
"src/compiler/control-equivalence.h",
559618
"src/compiler/control-flow-optimizer.cc",
560619
"src/compiler/control-flow-optimizer.h",
561620
"src/compiler/control-reducer.cc",
562621
"src/compiler/control-reducer.h",
563622
"src/compiler/diamond.h",
564623
"src/compiler/frame.h",
624+
"src/compiler/frame-elider.cc",
625+
"src/compiler/frame-elider.h",
626+
"src/compiler/frame-states.cc",
627+
"src/compiler/frame-states.h",
565628
"src/compiler/gap-resolver.cc",
566629
"src/compiler/gap-resolver.h",
567630
"src/compiler/graph-builder.h",
@@ -665,6 +728,8 @@ source_set("v8_base") {
665728
"src/compiler/source-position.h",
666729
"src/compiler/state-values-utils.cc",
667730
"src/compiler/state-values-utils.h",
731+
"src/compiler/tail-call-optimization.cc",
732+
"src/compiler/tail-call-optimization.h",
668733
"src/compiler/typer.cc",
669734
"src/compiler/typer.h",
670735
"src/compiler/value-numbering-reducer.cc",
@@ -758,6 +823,8 @@ source_set("v8_base") {
758823
"src/heap/heap-inl.h",
759824
"src/heap/heap.cc",
760825
"src/heap/heap.h",
826+
"src/heap/identity-map.cc",
827+
"src/heap/identity-map.h",
761828
"src/heap/incremental-marking.cc",
762829
"src/heap/incremental-marking.h",
763830
"src/heap/mark-compact-inl.h",
@@ -887,8 +954,8 @@ source_set("v8_base") {
887954
"src/objects-printer.cc",
888955
"src/objects.cc",
889956
"src/objects.h",
890-
"src/optimizing-compiler-thread.cc",
891-
"src/optimizing-compiler-thread.h",
957+
"src/optimizing-compile-dispatcher.cc",
958+
"src/optimizing-compile-dispatcher.h",
892959
"src/ostreams.cc",
893960
"src/ostreams.h",
894961
"src/parser.cc",
@@ -964,6 +1031,7 @@ source_set("v8_base") {
9641031
"src/scopeinfo.h",
9651032
"src/scopes.cc",
9661033
"src/scopes.h",
1034+
"src/signature.h",
9671035
"src/small-pointer-list.h",
9681036
"src/smart-pointers.h",
9691037
"src/snapshot/natives.h",
@@ -1006,7 +1074,6 @@ source_set("v8_base") {
10061074
"src/unicode-decoder.cc",
10071075
"src/unicode-decoder.h",
10081076
"src/unique.h",
1009-
"src/utils-inl.h",
10101077
"src/utils.cc",
10111078
"src/utils.h",
10121079
"src/v8.cc",
@@ -1325,6 +1392,7 @@ source_set("v8_libbase") {
13251392
visibility = [ ":*" ] # Only targets in this file can depend on this.
13261393

13271394
sources = [
1395+
"src/base/adapters.h",
13281396
"src/base/atomicops.h",
13291397
"src/base/atomicops_internals_arm64_gcc.h",
13301398
"src/base/atomicops_internals_arm_gcc.h",
@@ -1398,17 +1466,15 @@ source_set("v8_libbase") {
13981466
} else if (is_android) {
13991467
defines += [ "CAN_USE_VFP_INSTRUCTIONS" ]
14001468

1401-
if (host_os == "mac") {
1402-
if (current_toolchain == host_toolchain) {
1469+
if (current_toolchain == host_toolchain) {
1470+
libs = [ "dl", "rt" ]
1471+
if (host_os == "mac") {
14031472
sources += [ "src/base/platform/platform-macos.cc" ]
14041473
} else {
14051474
sources += [ "src/base/platform/platform-linux.cc" ]
14061475
}
14071476
} else {
14081477
sources += [ "src/base/platform/platform-linux.cc" ]
1409-
if (current_toolchain == host_toolchain) {
1410-
defines += [ "V8_LIBRT_NOT_AVAILABLE" ]
1411-
}
14121478
}
14131479
} else if (is_mac) {
14141480
sources += [ "src/base/platform/platform-macos.cc" ]
@@ -1524,7 +1590,7 @@ if (component_mode == "shared_library") {
15241590
":toolchain",
15251591
]
15261592

1527-
direct_dependent_configs = [ ":external_config" ]
1593+
public_configs = [ ":external_config" ]
15281594

15291595
libs = []
15301596
if (is_android && current_toolchain != host_toolchain) {
@@ -1551,7 +1617,7 @@ if (component_mode == "shared_library") {
15511617
]
15521618
}
15531619

1554-
direct_dependent_configs = [ ":external_config" ]
1620+
public_configs = [ ":external_config" ]
15551621
}
15561622
}
15571623

@@ -1568,7 +1634,10 @@ if ((current_toolchain == host_toolchain && v8_toolset_for_d8 == "host") ||
15681634
configs -= [ "//build/config/compiler:chromium_code" ]
15691635
configs += [ "//build/config/compiler:no_chromium_code" ]
15701636
configs += [
1571-
":internal_config",
1637+
# Note: don't use :internal_config here because this target will get
1638+
# the :external_config applied to it by virtue of depending on :v8, and
1639+
# you can't have both applied to the same target.
1640+
":internal_config_base",
15721641
":features",
15731642
":toolchain",
15741643
]

0 commit comments

Comments
 (0)