Skip to content

Commit 36cd5fb

Browse files
bnoordhuischrisdickinson
authored andcommitted
deps: upgrade v8 to 4.2.77.13
This commit applies some secondary changes in order to make `make test` pass cleanly: * disable broken postmortem debugging in common.gypi * drop obsolete strict mode test in parallel/test-repl * drop obsolete test parallel/test-v8-features PR-URL: #1232 Reviewed-By: Fedor Indutny <[email protected]>
1 parent b57cc51 commit 36cd5fb

File tree

975 files changed

+74587
-46087
lines changed

Some content is hidden

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

975 files changed

+74587
-46087
lines changed

common.gypi

+3-2
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,17 @@
2020
# Enable disassembler for `--print-code` v8 options
2121
'v8_enable_disassembler': 1,
2222

23+
# Disable support for postmortem debugging, continuously broken.
24+
'v8_postmortem_support%': 'false',
25+
2326
# Don't bake anything extra into the snapshot.
2427
'v8_use_external_startup_data%': 0,
2528

2629
'conditions': [
2730
['OS == "win"', {
2831
'os_posix': 0,
29-
'v8_postmortem_support%': 'false',
3032
}, {
3133
'os_posix': 1,
32-
'v8_postmortem_support%': 'true',
3334
}],
3435
['GENERATOR == "ninja" or OS== "mac"', {
3536
'OBJ_DIR': '<(PRODUCT_DIR)/obj',

deps/v8/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
.settings
3030
.*.sw?
3131
bsuite
32+
compile_commands.json
3233
d8
3334
d8_g
3435
gccauses

deps/v8/.ycm_extra_conf.py

+193
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
# Copyright 2015 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+
# Autocompletion config for YouCompleteMe in V8.
6+
#
7+
# USAGE:
8+
#
9+
# 1. Install YCM [https://github.com/Valloric/YouCompleteMe]
10+
# (Googlers should check out [go/ycm])
11+
#
12+
# 2. Profit
13+
#
14+
#
15+
# Usage notes:
16+
#
17+
# * You must use ninja & clang to build V8.
18+
#
19+
# * You must have run gyp_v8 and built V8 recently.
20+
#
21+
#
22+
# Hacking notes:
23+
#
24+
# * The purpose of this script is to construct an accurate enough command line
25+
# for YCM to pass to clang so it can build and extract the symbols.
26+
#
27+
# * Right now, we only pull the -I and -D flags. That seems to be sufficient
28+
# for everything I've used it for.
29+
#
30+
# * That whole ninja & clang thing? We could support other configs if someone
31+
# were willing to write the correct commands and a parser.
32+
#
33+
# * This has only been tested on gTrusty.
34+
35+
36+
import os
37+
import os.path
38+
import subprocess
39+
import sys
40+
41+
42+
# Flags from YCM's default config.
43+
flags = [
44+
'-DUSE_CLANG_COMPLETER',
45+
'-std=gnu++0x',
46+
'-x',
47+
'c++',
48+
]
49+
50+
51+
def PathExists(*args):
52+
return os.path.exists(os.path.join(*args))
53+
54+
55+
def FindV8SrcFromFilename(filename):
56+
"""Searches for the root of the V8 checkout.
57+
58+
Simply checks parent directories until it finds .gclient and v8/.
59+
60+
Args:
61+
filename: (String) Path to source file being edited.
62+
63+
Returns:
64+
(String) Path of 'v8/', or None if unable to find.
65+
"""
66+
curdir = os.path.normpath(os.path.dirname(filename))
67+
while not (PathExists(curdir, 'v8') and PathExists(curdir, 'v8', 'DEPS')
68+
and (PathExists(curdir, '.gclient')
69+
or PathExists(curdir, 'v8', '.git'))):
70+
nextdir = os.path.normpath(os.path.join(curdir, '..'))
71+
if nextdir == curdir:
72+
return None
73+
curdir = nextdir
74+
return os.path.join(curdir, 'v8')
75+
76+
77+
def GetClangCommandFromNinjaForFilename(v8_root, filename):
78+
"""Returns the command line to build |filename|.
79+
80+
Asks ninja how it would build the source file. If the specified file is a
81+
header, tries to find its companion source file first.
82+
83+
Args:
84+
v8_root: (String) Path to v8/.
85+
filename: (String) Path to source file being edited.
86+
87+
Returns:
88+
(List of Strings) Command line arguments for clang.
89+
"""
90+
if not v8_root:
91+
return []
92+
93+
# Generally, everyone benefits from including V8's root, because all of
94+
# V8's includes are relative to that.
95+
v8_flags = ['-I' + os.path.join(v8_root)]
96+
97+
# Version of Clang used to compile V8 can be newer then version of
98+
# libclang that YCM uses for completion. So it's possible that YCM's libclang
99+
# doesn't know about some used warning options, which causes compilation
100+
# warnings (and errors, because of '-Werror');
101+
v8_flags.append('-Wno-unknown-warning-option')
102+
103+
# Header files can't be built. Instead, try to match a header file to its
104+
# corresponding source file.
105+
if filename.endswith('.h'):
106+
alternates = ['.cc', '.cpp']
107+
for alt_extension in alternates:
108+
alt_name = filename[:-2] + alt_extension
109+
if os.path.exists(alt_name):
110+
filename = alt_name
111+
break
112+
else:
113+
if filename.endswith('-inl.h'):
114+
for alt_extension in alternates:
115+
alt_name = filename[:-6] + alt_extension
116+
if os.path.exists(alt_name):
117+
filename = alt_name
118+
break;
119+
else:
120+
# If this is a standalone -inl.h file with no source, the best we can
121+
# do is try to use the default flags.
122+
return v8_flags
123+
else:
124+
# If this is a standalone .h file with no source, the best we can do is
125+
# try to use the default flags.
126+
return v8_flags
127+
128+
sys.path.append(os.path.join(v8_root, 'tools', 'ninja'))
129+
from ninja_output import GetNinjaOutputDirectory
130+
out_dir = os.path.realpath(GetNinjaOutputDirectory(v8_root))
131+
132+
# Ninja needs the path to the source file relative to the output build
133+
# directory.
134+
rel_filename = os.path.relpath(os.path.realpath(filename), out_dir)
135+
136+
# Ask ninja how it would build our source file.
137+
p = subprocess.Popen(['ninja', '-v', '-C', out_dir, '-t',
138+
'commands', rel_filename + '^'],
139+
stdout=subprocess.PIPE)
140+
stdout, stderr = p.communicate()
141+
if p.returncode:
142+
return v8_flags
143+
144+
# Ninja might execute several commands to build something. We want the last
145+
# clang command.
146+
clang_line = None
147+
for line in reversed(stdout.split('\n')):
148+
if 'clang' in line:
149+
clang_line = line
150+
break
151+
else:
152+
return v8_flags
153+
154+
# Parse flags that are important for YCM's purposes.
155+
for flag in clang_line.split(' '):
156+
if flag.startswith('-I'):
157+
# Relative paths need to be resolved, because they're relative to the
158+
# output dir, not the source.
159+
if flag[2] == '/':
160+
v8_flags.append(flag)
161+
else:
162+
abs_path = os.path.normpath(os.path.join(out_dir, flag[2:]))
163+
v8_flags.append('-I' + abs_path)
164+
elif flag.startswith('-std'):
165+
v8_flags.append(flag)
166+
elif flag.startswith('-') and flag[1] in 'DWFfmO':
167+
if flag == '-Wno-deprecated-register' or flag == '-Wno-header-guard':
168+
# These flags causes libclang (3.3) to crash. Remove it until things
169+
# are fixed.
170+
continue
171+
v8_flags.append(flag)
172+
173+
return v8_flags
174+
175+
176+
def FlagsForFile(filename):
177+
"""This is the main entry point for YCM. Its interface is fixed.
178+
179+
Args:
180+
filename: (String) Path to source file being edited.
181+
182+
Returns:
183+
(Dictionary)
184+
'flags': (List of Strings) Command line flags.
185+
'do_cache': (Boolean) True if the result should be cached.
186+
"""
187+
v8_root = FindV8SrcFromFilename(filename)
188+
v8_flags = GetClangCommandFromNinjaForFilename(v8_root, filename)
189+
final_flags = flags + v8_flags
190+
return {
191+
'flags': final_flags,
192+
'do_cache': True
193+
}

deps/v8/AUTHORS

+51-33
Original file line numberDiff line numberDiff line change
@@ -3,78 +3,96 @@
33
#
44
# Name/Organization <email address>
55

6-
Google Inc.
7-
Sigma Designs Inc.
8-
ARM Ltd.
9-
Hewlett-Packard Development Company, LP
10-
Igalia, S.L.
11-
Joyent, Inc.
12-
Bloomberg Finance L.P.
13-
NVIDIA Corporation
14-
BlackBerry Limited
15-
Opera Software ASA
16-
Intel Corporation
17-
MIPS Technologies, Inc.
18-
Imagination Technologies, LLC
19-
Loongson Technology Corporation Limited
6+
Google Inc. <*@google.com>
7+
The Chromium Authors <*@chromium.org>
8+
Sigma Designs Inc. <*@sdesigns.com>
9+
ARM Ltd. <*@arm.com>
10+
Hewlett-Packard Development Company, LP <*@palm.com>
11+
Igalia, S.L. <*@igalia.com>
12+
Joyent, Inc. <*@joyent.com>
13+
Bloomberg Finance L.P. <*@bloomberg.net>
14+
NVIDIA Corporation <*@nvidia.com>
15+
BlackBerry Limited <*@blackberry.com>
16+
Opera Software ASA <*@opera.com>
17+
Intel Corporation <*@intel.com>
18+
MIPS Technologies, Inc. <*@mips.com>
19+
Imagination Technologies, LLC <*@imgtec.com>
20+
Loongson Technology Corporation Limited <*@loongson.cn>
21+
Code Aurora Forum <*@codeaurora.org>
22+
Home Jinni Inc. <*@homejinni.com>
23+
IBM Inc. <*@*.ibm.com>
24+
Samsung <*@*.samsung.com>
25+
Joyent, Inc <*@joyent.com>
26+
RT-RK Computer Based System <*@rt-rk.com>
27+
Amazon, Inc <*@amazon.com>
28+
ST Microelectronics <*@st.com>
29+
Yandex LLC <*@yandex-team.ru>
30+
StrongLoop, Inc. <*@strongloop.com>
2031

32+
Aaron Bieber <[email protected]>
33+
Abdulla Kamar <[email protected]>
2134
Akinori MUSHA <[email protected]>
2235
Alexander Botero-Lowry <[email protected]>
2336
Alexander Karpinsky <[email protected]>
24-
Alexandre Rames <[email protected]>
2537
Alexandre Vassalotti <[email protected]>
38+
Alexis Campailla <[email protected]>
2639
Andreas Anyuru <[email protected]>
27-
Baptiste Afsa <[email protected]>
40+
Andrew Paprocki <[email protected]>
41+
Andrei Kashcha <[email protected]>
42+
Ben Noordhuis <[email protected]>
2843
Bert Belder <[email protected]>
2944
Burcu Dogan <[email protected]>
3045
Caitlin Potter <[email protected]>
3146
Craig Schlenter <[email protected]>
32-
Chunyang Dai <chunyang.dai@intel.com>
47+
Christopher A. Taylor <chris@gameclosure.com>
3348
Daniel Andersson <[email protected]>
3449
Daniel James <[email protected]>
35-
Derek J Conrod <[email protected]>
36-
Dineel D Sule <[email protected]>
50+
Douglas Crosher <[email protected]>
3751
Erich Ocean <[email protected]>
3852
Fedor Indutny <[email protected]>
53+
Felix Geisendörfer <[email protected]>
3954
Filipe David Manana <[email protected]>
40-
Haitao Feng <[email protected]>
55+
Geoffrey Garside <[email protected]>
56+
Han Choongwoo <[email protected]>
57+
Hirofumi Mako <[email protected]>
4158
Ioseb Dzmanashvili <[email protected]>
4259
Isiah Meadows <[email protected]>
43-
Jacob Bramley <[email protected]>
4460
Jan de Mooij <[email protected]>
4561
Jay Freeman <[email protected]>
4662
James Pike <[email protected]>
63+
Jianghua Yang <[email protected]>
4764
Joel Stanley <[email protected]>
4865
Johan Bergström <[email protected]>
49-
John Jozwiak <[email protected]>
5066
Jonathan Liu <[email protected]>
51-
Kun Zhang <[email protected]>
67+
Kang-Hao (Kenny) Lu <[email protected]>
5268
Luis Reis <[email protected]>
53-
Martyn Capewell <[email protected]>
69+
Luke Zarko <[email protected]>
70+
Maciej Małecki <[email protected]>
5471
Mathias Bynens <[email protected]>
5572
Matt Hanselman <[email protected]>
73+
Matthew Sporleder <[email protected]>
5674
Maxim Mossienko <[email protected]>
5775
Michael Lutz <[email protected]>
5876
Michael Smith <[email protected]>
5977
Mike Gilbert <[email protected]>
78+
Nicolas Antonius Ernst Leopold Maria Kaiser <[email protected]>
6079
Paolo Giarrusso <[email protected]>
6180
Patrick Gansterer <[email protected]>
6281
Peter Varga <[email protected]>
82+
Paul Lind <[email protected]>
6383
Rafal Krypa <[email protected]>
64-
Rajeev R Krithivasan <[email protected]>
6584
Refael Ackermann <[email protected]>
6685
Rene Rebe <[email protected]>
6786
Robert Mustacchi <[email protected]>
68-
Rodolph Perfetta <rodolph.perfetta@arm.com>
69-
Ryan Dahl <[email protected]>
87+
Robert Nagy <robert.nagy@gmail.com>
88+
Ryan Dahl <[email protected]>
7089
Sandro Santilli <[email protected]>
7190
Sanjoy Das <[email protected]>
72-
Subrato K De <[email protected]>
91+
Seo Sanghyeon <[email protected]>
7392
Tobias Burnus <[email protected]>
74-
Vincent Belliard <vincent.belliard@arm.com>
93+
Victor Costan <costan@gmail.com>
7594
Vlad Burlik <[email protected]>
76-
Weiliang Lin<[email protected]>
77-
78-
Yuqiang Xian <[email protected]>
79-
Zaheer Ahmad <[email protected]>
95+
Vladimir Shutoff <[email protected]>
96+
8097
Zhongping Wang <[email protected]>
98+
柳荣一 <[email protected]>

0 commit comments

Comments
 (0)