|
Introduce number type information in the virtual frame.
Each frame element gets a new attribute with number type information. A frame element can be:
- smi
- heap number
- number (i.e. either of the above)
- or something else.
The type information is propagated along with all virtual frame operations.
Results popped from the frame carry the number information with them.
Two optimizations in the code generator make use of the new
information:
- GenericBinaryOpSyub omits map checks if input operands are numbers.
- Boolean conversion for numbers: Emit inline code for converting a number (smi or heap number) to boolean. Do not emit call to ToBoolean stub in this case.
Committed: http://code.google.com/p/v8/source/detail?r=3861
Total comments: 40
Total comments: 12
Total comments: 6
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+662 lines, -171 lines) |
Patch |
|
M |
src/frame-element.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
6 chunks |
+23 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/frame-element.cc
|
View
|
7
8
9
10
11
12
13
14
15
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/codegen-ia32.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
3 chunks |
+19 lines, -12 lines |
0 comments
|
Download
|
|
M |
src/ia32/codegen-ia32.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
8 chunks |
+159 lines, -38 lines |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.h
|
View
|
12
13
14
15
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.cc
|
View
|
12
13
14
15
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/virtual-frame-ia32.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
4 chunks |
+11 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/ia32/virtual-frame-ia32.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
10 chunks |
+35 lines, -15 lines |
0 comments
|
Download
|
|
M |
src/jump-target.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
6 chunks |
+47 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/jump-target-inl.h
|
View
|
7
8
9
10
11
12
13
14
15
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/number-info.h
|
View
|
7
8
9
10
11
12
13
|
1 chunk |
+53 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/register-allocator.h
|
View
|
7
8
9
10
11
12
13
14
15
|
4 chunks |
+13 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/register-allocator.cc
|
View
|
7
8
9
10
11
12
13
14
15
|
2 chunks |
+21 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/virtual-frame.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
7 chunks |
+35 lines, -11 lines |
0 comments
|
Download
|
|
M |
src/x64/codegen-x64.h
|
View
|
10
11
12
13
14
15
|
3 chunks |
+19 lines, -12 lines |
0 comments
|
Download
|
|
M |
src/x64/codegen-x64.cc
|
View
|
10
11
12
13
14
15
|
5 chunks |
+114 lines, -36 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.h
|
View
|
12
13
14
15
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.cc
|
View
|
12
13
14
15
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/virtual-frame-x64.h
|
View
|
10
11
12
13
14
15
|
4 chunks |
+13 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/x64/virtual-frame-x64.cc
|
View
|
10
11
12
13
14
15
|
12 chunks |
+45 lines, -19 lines |
0 comments
|
Download
|
|
M |
tools/gyp/v8.gyp
|
View
|
15
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
tools/visual_studio/v8_base.vcproj
|
View
|
15
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
tools/visual_studio/v8_base_arm.vcproj
|
View
|
15
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
tools/visual_studio/v8_base_x64.vcproj
|
View
|
15
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
Total messages: 8 (0 generated)
|