|
[turbofan] Add inlined Array.prototype.pop support.
This adds a very first version of inlined Array.prototype.pop into
TurboFan optimized code. We currently limit the inlining to fast
object or smi elements, until the unclear situation around hole NaNs
is resolved and we have a clear semantics inside the compiler.
It's also probably overly defensive in when it's safe to inline
the call to Array.prototype.pop, but we can always extend that
later once we have sufficient trust in the implementation and see
an actual need to extend it.
BUG= v8:2229, v8:3952, v8:5267
R=epertoso@chromium.org
Committed: https://crrev.com/b8f475045c27536e2666a55d826c556ce4cdbb3e
Cr-Commit-Position: refs/heads/master@{#38578}
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+319 lines, -11 lines) |
Patch |
|
M |
src/compiler/access-builder.h
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/access-builder.cc
|
View
|
|
1 chunk |
+23 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-builtin-reducer.h
|
View
|
|
3 chunks |
+20 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/js-builtin-reducer.cc
|
View
|
1
|
4 chunks |
+151 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/pipeline.cc
|
View
|
|
1 chunk |
+6 lines, -1 line |
0 comments
|
Download
|
|
M |
src/type-cache.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
A + |
test/mjsunit/compiler/inlined-array-pop-getter1.js
|
View
|
|
1 chunk |
+8 lines, -7 lines |
0 comments
|
Download
|
|
A |
test/mjsunit/compiler/inlined-array-pop-getter2.js
|
View
|
|
1 chunk |
+23 lines, -0 lines |
0 comments
|
Download
|
|
A |
test/mjsunit/compiler/inlined-array-pop-opt.js
|
View
|
|
1 chunk |
+83 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/unittests/compiler/js-builtin-reducer-unittest.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
Total messages: 12 (7 generated)
|