Skip to content

Commit 696f024

Browse files
committed
Upgrade to v8 1.2.7
1 parent f6a7fe2 commit 696f024

310 files changed

Lines changed: 13940 additions & 8075 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.

deps/v8/AUTHORS

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,14 @@
55

66
Google Inc.
77

8-
Rene Rebe <rene@exactcode.de>
9-
Rafal Krypa <rafal@krypa.net>
10-
Jay Freeman <saurik@saurik.com>
11-
Daniel James <dnljms@gmail.com>
12-
Paolo Giarrusso <p.giarrusso@gmail.com>
13-
Daniel Andersson <kodandersson@gmail.com>
148
Alexander Botero-Lowry <alexbl@FreeBSD.org>
9+
Craig Schlenter <craig.schlenter@gmail.com>
10+
Daniel Andersson <kodandersson@gmail.com>
11+
Daniel James <dnljms@gmail.com>
12+
Jay Freeman <saurik@saurik.com>
13+
Joel Stanley <joel.stan@gmail.com>
1514
Matt Hanselman <mjhanselman@gmail.com>
15+
Paolo Giarrusso <p.giarrusso@gmail.com>
16+
Rafal Krypa <rafal@krypa.net>
17+
Rene Rebe <rene@exactcode.de>
18+
Ryan Dahl <coldredlemur@gmail.com>

deps/v8/ChangeLog

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,92 @@
1+
2009-06-08: Version 1.2.7
2+
3+
Improved debugger and profiler support.
4+
5+
Reduced compilation time by improving the handling of deferred
6+
code.
7+
8+
Optimized interceptor accesses where the property is on the object
9+
on which the interceptors is attached.
10+
11+
Fixed compilation problem on GCC 4.4 by changing the stack
12+
alignment to 16 bytes.
13+
14+
Fixed handle creation to follow stric aliasing rules.
15+
16+
Fixed compilation on FreeBSD.
17+
18+
Introduced API for forcing the deletion of a property ignoring
19+
interceptors and attributes.
20+
21+
22+
2009-05-29: Version 1.2.6
23+
24+
Added a histogram recording hit rates at different levels of the
25+
compilation cache.
26+
27+
Added stack overflow check for the RegExp analysis phase. Previously a
28+
very long regexp graph could overflow the stack with recursive calls.
29+
30+
Use a dynamic buffer when collecting log events in memory.
31+
32+
Added start/stop events to the profiler log.
33+
34+
Fixed infinite loop which could happen when setting a debug break while
35+
executing a RegExp compiled to native code.
36+
37+
Fixed handling of lastIndexOf called with negative index (issue 351).
38+
39+
Fixed irregular crash in profiler test (issue 358).
40+
41+
Fixed compilation issues with some versions of gcc.
42+
43+
44+
2009-05-26: Version 1.2.5
45+
46+
Fixed bug in initial boundary check for Boyer-Moore text
47+
search (issue 349).
48+
49+
Fixed compilation issues with MinGW and gcc 4.3+ and added support
50+
for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
51+
Craig Schlenter.
52+
53+
Added a script cache to the debugger.
54+
55+
Optimized compilation performance by improving internal data
56+
structures and avoiding expensive property load optimizations for
57+
code that's infrequently executed.
58+
59+
Exposed the calling JavaScript context through the static API
60+
function Context::GetCalling().
61+
62+
63+
2009-05-18: Version 1.2.4
64+
65+
Improved performance of floating point number allocation for ARM
66+
platforms.
67+
68+
Fixed crash when using the instanceof operator on functions with
69+
number values in their prototype chain (issue 341).
70+
71+
Optimized virtual frame operations in the code generator to speed
72+
up compilation time and allocated the frames in the zone.
73+
74+
Made the representation of virtual frames and jump targets in the
75+
code generator much more compact.
76+
77+
Avoided linear search for non-locals in scope code when resolving
78+
variables inside with and eval scopes.
79+
80+
Optimized lexical scanner by dealing with whitespace as part of
81+
the token scanning instead of as a separate step before it.
82+
83+
Changed the scavenging collector so that promoted objects do not
84+
reside in the old generation while their remembered set is being
85+
swept for pointers into the young generation.
86+
87+
Fixed numeric overflow handling when compiling count operations.
88+
89+
190
2009-05-11: Version 1.2.3
291

392
Fixed bug in reporting of out-of-memory situations.

deps/v8/SConstruct

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ if ANDROID_TOP is None:
4444
ANDROID_TOP=""
4545

4646
# TODO: Sort these issues out properly but as a temporary solution for gcc 4.4
47-
# on linux we need these compiler flags to avoid a mksnapshot segfault, avoid
48-
# crashes in the v8 test suite and avoid dtoa.c strict aliasing issues
47+
# on linux we need these compiler flags to avoid crashes in the v8 test suite
48+
# and avoid dtoa.c strict aliasing issues
4949
if os.environ.get('GCC_VERSION') == '44':
50-
GCC_EXTRA_CCFLAGS = ['-fno-tree-vectorize', '-fno-tree-vrp']
50+
GCC_EXTRA_CCFLAGS = ['-fno-tree-vrp']
5151
GCC_DTOA_EXTRA_CCFLAGS = ['-fno-strict-aliasing']
5252
else:
5353
GCC_EXTRA_CCFLAGS = []

deps/v8/benchmarks/README.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,21 @@ pages where it occurs and the number of times it is executed while
4040
loading each page. Finally the literal letters in the data are
4141
encoded using ROT13 in a way that does not affect how the regexps
4242
match their input.
43+
44+
45+
Changes from Version 3 to Version 4
46+
===================================
47+
48+
The Splay benchmark is a newcomer in version 4. It manipulates a
49+
splay tree by adding and removing data nodes, thus exercising the
50+
memory management subsystem of the JavaScript engine.
51+
52+
Furthermore, all the unused parts of the Prototype library were
53+
removed from the RayTrace benchmark. This does not affect the running
54+
of the benchmark.
55+
56+
57+
Changes from Version 4 to Version 5
58+
===================================
59+
60+
Removed duplicate line in random seed code.

deps/v8/benchmarks/base.js

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,15 @@
3131

3232

3333
// A benchmark has a name (string) and a function that will be run to
34-
// do the performance measurement.
35-
function Benchmark(name, run) {
34+
// do the performance measurement. The optional setup and tearDown
35+
// arguments are functions that will be invoked before and after
36+
// running the benchmark, but the running time of these functions will
37+
// not be accounted for in the benchmark score.
38+
function Benchmark(name, run, setup, tearDown) {
3639
this.name = name;
3740
this.run = run;
41+
this.Setup = setup ? setup : function() { };
42+
this.TearDown = tearDown ? tearDown : function() { };
3843
}
3944

4045

@@ -73,7 +78,7 @@ BenchmarkSuite.suites = [];
7378
// Scores are not comparable across versions. Bump the version if
7479
// you're making changes that will affect that scores, e.g. if you add
7580
// a new benchmark or change an existing one.
76-
BenchmarkSuite.version = '3';
81+
BenchmarkSuite.version = '5';
7782

7883

7984
// To make the benchmark results predictable, we replace Math.random
@@ -86,7 +91,6 @@ Math.random = (function() {
8691
seed = ((seed ^ 0xc761c23c) ^ (seed >>> 19)) & 0xffffffff;
8792
seed = ((seed + 0x165667b1) + (seed << 5)) & 0xffffffff;
8893
seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0xffffffff;
89-
seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0xffffffff;
9094
seed = ((seed + 0xfd7046c5) + (seed << 3)) & 0xffffffff;
9195
seed = ((seed ^ 0xb55a4f09) ^ (seed >>> 16)) & 0xffffffff;
9296
return (seed & 0xfffffff) / 0x10000000;
@@ -114,7 +118,7 @@ BenchmarkSuite.RunSuites = function(runner) {
114118
continuation = suite.RunStep(runner);
115119
}
116120
if (continuation && typeof window != 'undefined' && window.setTimeout) {
117-
window.setTimeout(RunStep, 100);
121+
window.setTimeout(RunStep, 25);
118122
return;
119123
}
120124
}
@@ -194,7 +198,7 @@ BenchmarkSuite.prototype.NotifyError = function(error) {
194198

195199
// Runs a single benchmark for at least a second and computes the
196200
// average time it takes to run a single iteration.
197-
BenchmarkSuite.prototype.RunSingle = function(benchmark) {
201+
BenchmarkSuite.prototype.RunSingleBenchmark = function(benchmark) {
198202
var elapsed = 0;
199203
var start = new Date();
200204
for (var n = 0; elapsed < 1000; n++) {
@@ -216,18 +220,45 @@ BenchmarkSuite.prototype.RunStep = function(runner) {
216220
var length = this.benchmarks.length;
217221
var index = 0;
218222
var suite = this;
219-
function RunNext() {
223+
224+
// Run the setup, the actual benchmark, and the tear down in three
225+
// separate steps to allow the framework to yield between any of the
226+
// steps.
227+
228+
function RunNextSetup() {
220229
if (index < length) {
221230
try {
222-
suite.RunSingle(suite.benchmarks[index++]);
231+
suite.benchmarks[index].Setup();
223232
} catch (e) {
224233
suite.NotifyError(e);
225234
return null;
226235
}
227-
return RunNext;
236+
return RunNextBenchmark;
228237
}
229238
suite.NotifyResult();
230239
return null;
231240
}
232-
return RunNext();
241+
242+
function RunNextBenchmark() {
243+
try {
244+
suite.RunSingleBenchmark(suite.benchmarks[index]);
245+
} catch (e) {
246+
suite.NotifyError(e);
247+
return null;
248+
}
249+
return RunNextTearDown;
250+
}
251+
252+
function RunNextTearDown() {
253+
try {
254+
suite.benchmarks[index++].TearDown();
255+
} catch (e) {
256+
suite.NotifyError(e);
257+
return null;
258+
}
259+
return RunNextSetup;
260+
}
261+
262+
// Start out running the setup.
263+
return RunNextSetup();
233264
}

deps/v8/benchmarks/deltablue.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1717

1818

19-
// This implementation of the DeltaBlue benchmark is derived
20-
// from the Smalltalk implementation by John Maloney and Mario
21-
// Wolczko. Some parts have been translated directly, whereas
22-
// others have been modified more aggresively to make it feel
19+
// This implementation of the DeltaBlue benchmark is derived
20+
// from the Smalltalk implementation by John Maloney and Mario
21+
// Wolczko. Some parts have been translated directly, whereas
22+
// others have been modified more aggresively to make it feel
2323
// more like a JavaScript program.
2424

2525

deps/v8/benchmarks/earley-boyer.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4682,4 +4682,3 @@ function RunBenchmark(name, count, run, warn) {
46824682
}
46834683

46844684
var BgL_runzd2benchmarkzd2 = RunBenchmark;
4685-

0 commit comments

Comments
 (0)