|
Reland "Track field types.".
This is an initial step towards tracking the exact types instead of just
the representations of fields. It adds support to track up to one map of
heap object field values, eliminating various map checks on values
loaded from such fields, at the cost of making stores to such fields
slightly more expensive.
Issues with transitioning stores and fast object literals in Crankshaft
fixed.
TEST=mjsunit/field-type-tracking
R=svenpanne@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=20746
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+688 lines, -141 lines) |
Patch |
|
M |
src/arm/lithium-codegen-arm.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/arm/stub-cache-arm.cc
|
View
|
|
2 chunks |
+16 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/arm64/lithium-codegen-arm64.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/arm64/stub-cache-arm64.cc
|
View
|
|
2 chunks |
+16 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/deoptimizer.cc
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/flag-definitions.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/heap.cc
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/hydrogen.h
|
View
|
1
2
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/hydrogen.cc
|
View
|
1
2
|
7 chunks |
+47 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/hydrogen-check-elimination.cc
|
View
|
|
1 chunk |
+7 lines, -1 line |
0 comments
|
Download
|
|
M |
src/hydrogen-instructions.h
|
View
|
|
4 chunks |
+9 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/hydrogen-instructions.cc
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/lithium-codegen-ia32.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/ia32/stub-cache-ia32.cc
|
View
|
|
2 chunks |
+14 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/ic.cc
|
View
|
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
src/json-parser.h
|
View
|
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
|
9 chunks |
+23 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/objects.cc
|
View
|
|
27 chunks |
+251 lines, -49 lines |
0 comments
|
Download
|
|
M |
src/objects-debug.cc
|
View
|
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
|
4 chunks |
+12 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/property.h
|
View
|
|
4 chunks |
+56 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/property.cc
|
View
|
|
1 chunk |
+35 lines, -54 lines |
0 comments
|
Download
|
|
M |
src/x64/lithium-codegen-x64.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/x64/stub-cache-x64.cc
|
View
|
|
2 chunks |
+14 lines, -2 lines |
0 comments
|
Download
|
|
A |
test/mjsunit/field-type-tracking.js
|
View
|
|
1 chunk |
+149 lines, -0 lines |
0 comments
|
Download
|
Total messages: 3 (0 generated)
|