|
Keep prototype maps in dictionary mode until ICs see them
Adding properties to prototypes is faster when we don't force their
maps into fast mode yet. Once a prototype shows up in the IC system,
its setup phase is likely over, and it makes sense to transition it
to fast properties.
This patch speeds up the microbenchmark in the bug by 20x.
Octane-Typescript sees a 3% improvement.
BUG= chromium:607010
Committed: https://crrev.com/be0494ba5bfdc8f7b225372ed7990a06dca7ad46
Cr-Commit-Position: refs/heads/master@{#36828}
Total comments: 7
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+109 lines, -49 lines) |
Patch |
|
M |
src/api.cc
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/builtins.cc
|
View
|
1
2
3
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/hydrogen.cc
|
View
|
1
2
3
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/factory.cc
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/globals.h
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/ic/handler-compiler.cc
|
View
|
1
2
3
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/ic/ic.cc
|
View
|
1
2
3
|
3 chunks |
+6 lines, -1 line |
0 comments
|
Download
|
|
M |
src/keys.cc
|
View
|
1
2
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/lookup.cc
|
View
|
1
2
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/messages.cc
|
View
|
1
2
|
1 chunk |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
1
2
3
|
4 chunks |
+15 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/objects.cc
|
View
|
1
2
3
|
9 chunks |
+42 lines, -12 lines |
0 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
1
2
|
3 chunks |
+7 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/prototype.h
|
View
|
1
2
|
2 chunks |
+8 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-array.cc
|
View
|
1
2
3
|
2 chunks |
+2 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-debug.cc
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/runtime/runtime-forin.cc
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/string-stream.cc
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/mjsunit/dictionary-properties.js
|
View
|
1
|
1 chunk |
+7 lines, -1 line |
0 comments
|
Download
|
|
M |
test/mjsunit/fast-prototype.js
|
View
|
|
1 chunk |
+8 lines, -2 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/regress/regress-put-prototype-transition.js
|
View
|
1
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
Total messages: 15 (6 generated)
|