Skip to content

Commit f230a1c

Browse files
committed
v8: upgrade to 3.22.24
This commit removes the simple/test-event-emitter-memory-leak test for being unreliable with the new garbage collector: the memory pressure exerted by the test case is too low for the garbage collector to kick in. It can be made to work again by limiting the heap size with the --max_old_space_size=x flag but that won't be very reliable across platforms and architectures.
1 parent a12870c commit f230a1c

474 files changed

Lines changed: 31104 additions & 26995 deletions

File tree

Some content is hidden

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

configure

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -435,9 +435,6 @@ def configure_arm(o):
435435
def configure_node(o):
436436
if options.dest_os == 'android':
437437
o['variables']['OS'] = 'android'
438-
o['variables']['v8_enable_gdbjit'] = 1 if options.gdb else 0
439-
o['variables']['v8_no_strict_aliasing'] = 1 # Work around compiler bugs.
440-
o['variables']['v8_random_seed'] = 0 # Use a random seed for hash tables.
441438
o['variables']['node_prefix'] = os.path.expanduser(options.prefix or '')
442439
o['variables']['node_install_npm'] = b(not options.without_npm)
443440
o['default_configuration'] = 'Debug' if options.debug else 'Release'
@@ -565,8 +562,13 @@ def configure_libuv(o):
565562

566563

567564
def configure_v8(o):
568-
o['variables']['v8_use_snapshot'] = b(not options.without_snapshot)
569565
o['variables']['node_shared_v8'] = b(options.shared_v8)
566+
o['variables']['v8_enable_gdbjit'] = 1 if options.gdb else 0
567+
o['variables']['v8_enable_i18n_support'] = 0 # Don't require libicu.
568+
o['variables']['v8_no_strict_aliasing'] = 1 # Work around compiler bugs.
569+
o['variables']['v8_optimized_debug'] = 0 # Compile with -O0 in debug builds.
570+
o['variables']['v8_random_seed'] = 0 # Use a random seed for hash tables.
571+
o['variables']['v8_use_snapshot'] = b(not options.without_snapshot)
570572

571573
# assume shared_v8 if one of these is set?
572574
if options.shared_v8_libpath:

deps/v8/.gitignore

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,24 +37,16 @@ shell_g
3737
/out
3838
/perf.data
3939
/perf.data.old
40-
/test/benchmarks/benchmarks.status2
4140
/test/benchmarks/CHECKED_OUT_*
4241
/test/benchmarks/downloaded_*
4342
/test/benchmarks/kraken
4443
/test/benchmarks/octane
4544
/test/benchmarks/sunspider
46-
/test/cctest/cctest.status2
47-
/test/message/message.status2
48-
/test/mjsunit/mjsunit.status2
4945
/test/mozilla/CHECKED_OUT_VERSION
5046
/test/mozilla/data
5147
/test/mozilla/downloaded_*
52-
/test/mozilla/mozilla.status2
53-
/test/preparser/preparser.status2
5448
/test/test262/data
5549
/test/test262/test262-*
56-
/test/test262/test262.status2
57-
/test/webkit/webkit.status2
5850
/third_party
5951
/tools/jsfunfuzz
6052
/tools/jsfunfuzz.zip

deps/v8/ChangeLog

Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,226 @@
1+
2013-10-31: Version 3.22.24
2+
3+
Fixed uint32-to-smi conversion in Lithium.
4+
(Chromium issue 309623)
5+
6+
Performance and stability improvements on all platforms.
7+
8+
9+
2013-10-28: Version 3.22.23
10+
11+
Renamed deprecated __attribute__((no_address_safety_analysis)) to
12+
__attribute__((no_sanitize_address)) (Chromium issue 311283)
13+
14+
Defined DEBUG for v8_optimized_debug=2
15+
16+
Performance and stability improvements on all platforms.
17+
18+
19+
2013-10-25: Version 3.22.22
20+
21+
Record allocation stack traces. (Chromium issue 277984,v8:2949)
22+
23+
Performance and stability improvements on all platforms.
24+
25+
26+
2013-10-24: Version 3.22.21
27+
28+
Performance and stability improvements on all platforms.
29+
30+
31+
2013-10-24: Version 3.22.20
32+
33+
Made Array.prototype.pop throw if the last element is not configurable.
34+
35+
Fixed HObjectAccess for loads from migrating prototypes.
36+
(Chromium issue 305309)
37+
38+
Enabled preaging of code objects when --optimize-for-size.
39+
(Chromium issue 280984)
40+
41+
Exposed v8::Function::GetDisplayName to public API.
42+
(Chromium issue 17356)
43+
44+
Performance and stability improvements on all platforms.
45+
46+
47+
2013-10-23: Version 3.22.19
48+
49+
Fix materialization of captured objects with field tracking.
50+
(Chromium issue 298990)
51+
52+
Performance and stability improvements on all platforms.
53+
54+
55+
2013-10-22: Version 3.22.18
56+
57+
Add tool to visualize machine code/lithium.
58+
59+
Handle misaligned loads and stores in load elimination. Do not track
60+
misaligned loads and be conservative about invalidating misaligned
61+
stores. (issue 2934)
62+
63+
Performance and stability improvements on all platforms.
64+
65+
66+
2013-10-21: Version 3.22.17
67+
68+
Harmony: Implement Math.trunc and Math.sign. (issue 2938)
69+
70+
Performance and stability improvements on all platforms.
71+
72+
73+
2013-10-21: Version 3.22.16
74+
75+
Performance and stability improvements on all platforms.
76+
77+
78+
2013-10-18: Version 3.22.15
79+
80+
Enabled calling the SetReference* & SetObjectGroupId functions with a
81+
Persistent<SubclassOfValue>.
82+
83+
Performance and stability improvements on all platforms.
84+
85+
86+
2013-10-17: Version 3.22.14
87+
88+
Performance and stability improvements on all platforms.
89+
90+
91+
2013-10-16: Version 3.22.13
92+
93+
Do not look up ArrayBuffer on global object in typed array constructor.
94+
(issue 2931)
95+
96+
Performance and stability improvements on all platforms.
97+
98+
99+
2013-10-15: Version 3.22.12
100+
101+
Added histograms to track fraction of heap spaces and percentage of
102+
generated crankshaft code.
103+
104+
Moved v8_optimized_debug default value to standalone.gypi.
105+
106+
Track JS allocations as they arrive with no affection on performance
107+
when tracking is switched off (Chromium issue 277984).
108+
109+
Performance and stability improvements on all platforms.
110+
111+
112+
2013-10-14: Version 3.22.11
113+
114+
Performance and stability improvements on all platforms.
115+
116+
117+
2013-10-11: Version 3.22.10
118+
119+
Fixed timezone issues with date-time/parse-* tests.
120+
(Chromium issue 2919)
121+
122+
Added column getter to CpuProfileNode (Chromium issue 302537)
123+
124+
Performance and stability improvements on all platforms.
125+
126+
127+
2013-10-10: Version 3.22.9
128+
129+
Ensure only whitelisted stubs have sse2 versions in the snapshot.
130+
(fix for chromium 304565)
131+
132+
Implement ArrayBuffer.isView.
133+
134+
Performance and stability improvements on all platforms.
135+
136+
137+
2013-10-04: Version 3.22.8
138+
139+
Performance and stability improvements on all platforms.
140+
141+
142+
2013-10-03: Version 3.22.7
143+
144+
Debug: Allow stepping into on a given call frame
145+
(Chromium issue 296963).
146+
147+
Always use timeGetTime() for TimeTicks::Now() on Windows
148+
(Chromium issue 288924).
149+
150+
Performance and stability improvements on all platforms.
151+
152+
153+
2013-10-02: Version 3.22.6
154+
155+
Performance and stability improvements on all platforms.
156+
157+
158+
2013-10-01: Version 3.22.5
159+
160+
Disabled externalization of sliced/cons strings in old pointer space
161+
(Chromium issue 276357).
162+
163+
Turned on handle zapping for release builds
164+
165+
Performance and stability improvements on all platforms.
166+
167+
168+
2013-09-30: Version 3.22.4
169+
170+
Function::Call and Object::CallAsFunction APIs should allow v8::Value as
171+
a receiver (issue 2915).
172+
173+
Removed unnecessary mutex (Chromium issue 291236).
174+
175+
Removed ArrayBufferView::BaseAddress method.
176+
177+
Performance and stability improvements on all platforms.
178+
179+
180+
2013-09-27: Version 3.22.3
181+
182+
Added methods to enable configuration of ResourceConstraints based on
183+
limits derived at runtime.
184+
(Chromium issue 292928)
185+
186+
Added -optimize-for-size flag to optimize for memory size (will be used
187+
by pre-aging CL), and removed the is_memory_constrained
188+
ResourceConstraint.
189+
(Chromium issue 292928)
190+
191+
Performance and stability improvements on all platforms.
192+
193+
194+
2013-09-26: Version 3.22.2
195+
196+
Performance and stability improvements on all platforms.
197+
198+
199+
2013-09-25: Version 3.22.1
200+
201+
Sped up creating typed arrays from array-like objects.
202+
(Chromium issue 270507)
203+
204+
Performance and stability improvements on all platforms.
205+
206+
207+
2013-09-23: Version 3.22.0
208+
209+
LiveEdit to mark more closure functions for re-instantiation when scope
210+
layout changes.
211+
(issue 2872)
212+
213+
Made bounds check elimination iterative instead of recursive.
214+
(Chromium issue 289706)
215+
216+
Turned on i18n support by default.
217+
218+
Set the proper instance-type on HAllocate in BuildFastLiteral.
219+
(Chromium issue 284577)
220+
221+
Performance and stability improvements on all platforms.
222+
223+
1224
2013-09-18: Version 3.21.17
2225

3226
Implemented local load/store elimination on basic blocks.

deps/v8/Makefile

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,10 @@ ifeq ($(snapshot), off)
7676
endif
7777
# extrachecks=on/off
7878
ifeq ($(extrachecks), on)
79-
GYPFLAGS += -Dv8_enable_extra_checks=1
79+
GYPFLAGS += -Dv8_enable_extra_checks=1 -Dv8_enable_handle_zapping=1
8080
endif
8181
ifeq ($(extrachecks), off)
82-
GYPFLAGS += -Dv8_enable_extra_checks=0
82+
GYPFLAGS += -Dv8_enable_extra_checks=0 -Dv8_enable_handle_zapping=0
8383
endif
8484
# gdbjit=on/off
8585
ifeq ($(gdbjit), on)
@@ -124,10 +124,15 @@ endif
124124
ifeq ($(regexp), interpreted)
125125
GYPFLAGS += -Dv8_interpreted_regexp=1
126126
endif
127-
# i18nsupport=on
128-
ifeq ($(i18nsupport), on)
129-
GYPFLAGS += -Dv8_enable_i18n_support=1
127+
# i18nsupport=off
128+
ifeq ($(i18nsupport), off)
129+
GYPFLAGS += -Dv8_enable_i18n_support=0
130+
TESTFLAGS += --noi18n
130131
endif
132+
# deprecation_warnings=on
133+
ifeq ($(deprecationwarnings), on)
134+
GYPFLAGS += -Dv8_deprecation_warnings=1
135+
endif
131136
# arm specific flags.
132137
# armv7=false/true
133138
ifeq ($(armv7), false)
@@ -217,8 +222,8 @@ NACL_ARCHES = nacl_ia32 nacl_x64
217222

218223
# List of files that trigger Makefile regeneration:
219224
GYPFILES = build/all.gyp build/features.gypi build/standalone.gypi \
220-
build/toolchain.gypi preparser/preparser.gyp samples/samples.gyp \
221-
src/d8.gyp test/cctest/cctest.gyp tools/gyp/v8.gyp
225+
build/toolchain.gypi samples/samples.gyp src/d8.gyp \
226+
test/cctest/cctest.gyp tools/gyp/v8.gyp
222227

223228
# If vtunejit=on, the v8vtune.gyp will be appended.
224229
ifeq ($(vtunejit), on)
@@ -323,15 +328,15 @@ $(addsuffix .check, $(ANDROID_BUILDS)): $$(basename $$@).sync
323328
@tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
324329
--arch-and-mode=$(basename $@) \
325330
--timeout=600 \
326-
--command-prefix="tools/android-run.py"
331+
--command-prefix="tools/android-run.py" $(TESTFLAGS)
327332

328333
$(addsuffix .check, $(ANDROID_ARCHES)): \
329334
$(addprefix $$(basename $$@).,$(MODES)).check
330335

331336
$(addsuffix .check, $(NACL_BUILDS)): $$(basename $$@)
332337
@tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
333338
--arch-and-mode=$(basename $@) \
334-
--timeout=600 --nopresubmit \
339+
--timeout=600 --nopresubmit --noi18n \
335340
--command-prefix="tools/nacl-run.py"
336341

337342
$(addsuffix .check, $(NACL_ARCHES)): \

deps/v8/Makefile.nacl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ endif
7474
# For mksnapshot host generation.
7575
GYPENV += host_os=${HOST_OS}
7676

77+
# ICU doesn't support NaCl.
78+
GYPENV += v8_enable_i18n_support=0
79+
7780
NACL_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(NACL_ARCHES))
7881
.SECONDEXPANSION:
7982
# For some reason the $$(basename $$@) expansion didn't work here...

deps/v8/OWNERS

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ bmeurer@chromium.org
22
danno@chromium.org
33
dslomov@chromium.org
44
hpayer@chromium.org
5+
ishell@chromium.org
56
jkummerow@chromium.org
6-
mmassi@chromium.org
7+
machenbach@chromium.org
78
mstarzinger@chromium.org
89
mvstanton@chromium.org
910
rossberg@chromium.org
1011
svenpanne@chromium.org
12+
titzer@chromium.org
1113
ulan@chromium.org
1214
vegorov@chromium.org
1315
verwaest@chromium.org

deps/v8/PRESUBMIT.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,17 @@ def _CommonChecks(input_api, output_api):
5858
return results
5959

6060

61+
def _SkipTreeCheck(input_api, output_api):
62+
"""Check the env var whether we want to skip tree check.
63+
Only skip if src/version.cc has been updated."""
64+
src_version = 'src/version.cc'
65+
FilterFile = lambda file: file.LocalPath() == src_version
66+
if not input_api.AffectedSourceFiles(
67+
lambda file: file.LocalPath() == src_version):
68+
return False
69+
return input_api.environ.get('PRESUBMIT_TREE_CHECK') == 'skip'
70+
71+
6172
def CheckChangeOnUpload(input_api, output_api):
6273
results = []
6374
results.extend(_CommonChecks(input_api, output_api))
@@ -69,7 +80,8 @@ def CheckChangeOnCommit(input_api, output_api):
6980
results.extend(_CommonChecks(input_api, output_api))
7081
results.extend(input_api.canned_checks.CheckChangeHasDescription(
7182
input_api, output_api))
72-
results.extend(input_api.canned_checks.CheckTreeIsOpen(
73-
input_api, output_api,
74-
json_url='http://v8-status.appspot.com/current?format=json'))
83+
if not _SkipTreeCheck(input_api, output_api):
84+
results.extend(input_api.canned_checks.CheckTreeIsOpen(
85+
input_api, output_api,
86+
json_url='http://v8-status.appspot.com/current?format=json'))
7587
return results

0 commit comments

Comments
 (0)