|
Optimize calls to object literal properties that are initialized with a function literal.
This allows fast calls and inlining of functions like:
var o = {f: function() { return "foo"; }}
o.f();
Object literals that contain function literals are initially created a dictionary mode
object and only transformed to fast properties once all properties are computed and
added. This allows us to create constant function properties for functions declared
inside the object literal. Function literals inside object literals are marked for
pretenuring so that they work as contant function properties.
Object literals without functions should just function as before.
Committed: http://code.google.com/p/v8/source/detail?r=7283
Total comments: 8
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+280 lines, -119 lines) |
Patch |
|
M |
src/arm/full-codegen-arm.cc
|
View
|
1
2
3
4
5
6
|
2 chunks |
+14 lines, -1 line |
0 comments
|
Download
|
|
M |
src/arm/lithium-arm.h
|
View
|
1
2
3
4
5
6
|
2 chunks |
+12 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/lithium-arm.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/lithium-codegen-arm.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ast.h
|
View
|
1
2
3
4
5
6
|
2 chunks |
+12 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/handles.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+0 lines, -19 lines |
0 comments
|
Download
|
|
M |
src/handles.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+0 lines, -30 lines |
0 comments
|
Download
|
|
M |
src/hydrogen.cc
|
View
|
1
2
3
4
5
6
|
2 chunks |
+15 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/hydrogen-instructions.h
|
View
|
1
2
3
4
5
6
7
|
5 chunks |
+25 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/ia32/full-codegen-ia32.cc
|
View
|
1
2
3
4
5
6
|
2 chunks |
+13 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ia32/lithium-codegen-ia32.cc
|
View
|
1
2
3
4
5
6
|
2 chunks |
+14 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ia32/lithium-ia32.h
|
View
|
1
2
3
4
5
6
|
2 chunks |
+12 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/lithium-ia32.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/parser.cc
|
View
|
1
2
3
4
5
6
|
3 chunks |
+10 lines, -1 line |
0 comments
|
Download
|
|
M |
src/runtime.cc
|
View
|
1
2
3
4
5
6
7
|
8 chunks |
+93 lines, -59 lines |
0 comments
|
Download
|
|
M |
src/x64/full-codegen-x64.cc
|
View
|
1
2
3
4
5
6
|
2 chunks |
+13 lines, -1 line |
0 comments
|
Download
|
|
M |
src/x64/lithium-codegen-x64.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/lithium-x64.h
|
View
|
1
2
3
4
5
6
|
2 chunks |
+12 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/lithium-x64.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
Total messages: 9 (0 generated)
|