|
Generate inline code for contextual loads.
Contextual load requires only a map check followed by a cell hole
check so we can generate pretty compact code for that. The fact that
we have inlined code is marked by mov ecx, offset instruction after
the IC call. Inlining is only enabled inside loops and in non-builtin
functions.
The generated code size increase is about 3%. This descreased the
pc-to-code cache hit rate in some of the benchmarks that trigger
GC. To compensate we now have 4 times as much entries in the cache.
Committed: http://code.google.com/p/v8/source/detail?r=5497
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+166 lines, -56 lines) |
Patch |
|
M |
src/arm/ic-arm.cc
|
View
|
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/stub-cache-arm.cc
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/frames.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/ia32/codegen-ia32.cc
|
View
|
|
7 chunks |
+68 lines, -27 lines |
1 comment
|
Download
|
|
M |
src/ia32/ic-ia32.cc
|
View
|
|
1 chunk |
+32 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/stub-cache-ia32.cc
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/ic.h
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ic.cc
|
View
|
|
4 chunks |
+37 lines, -22 lines |
0 comments
|
Download
|
|
M |
src/v8-counters.h
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/ic-x64.cc
|
View
|
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/stub-cache-x64.cc
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
Total messages: 3 (0 generated)
|