|
Array() in optimized code can create with wrong ElementsKind in corner cases.
Calling new Array(JSObject::kInitialMaxFastElementArray) in optimized code
makes a stub call that bails out due to the length. Currently, the bailout
code a) doesn't have the allocation site, and b) wouldn't use it if it did
because the length is perceived to be too high.
This CL passes the allocation site to the stub call (rather than undefined),
and alters the bailout code to utilize the feedback.
BUG=
Committed: https://crrev.com/13459c1ae3caa4cc546c522177bac5450a3252bf
Cr-Commit-Position: refs/heads/master@{#27857}
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+106 lines, -25 lines) |
Patch |
|
M |
src/arm/lithium-codegen-arm.cc
|
View
|
1
|
1 chunk |
+8 lines, -1 line |
0 comments
|
Download
|
|
M |
src/arm64/lithium-codegen-arm64.cc
|
View
|
1
|
1 chunk |
+9 lines, -1 line |
0 comments
|
Download
|
|
M |
src/hydrogen.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/hydrogen-instructions.h
|
View
|
|
2 chunks |
+8 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/ia32/lithium-codegen-ia32.cc
|
View
|
1
|
1 chunk |
+9 lines, -1 line |
0 comments
|
Download
|
|
M |
src/mips/lithium-codegen-mips.cc
|
View
|
1
|
1 chunk |
+8 lines, -1 line |
0 comments
|
Download
|
|
M |
src/mips64/lithium-codegen-mips64.cc
|
View
|
1
|
1 chunk |
+8 lines, -1 line |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/objects.cc
|
View
|
|
1 chunk |
+3 lines, -9 lines |
0 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
1
2
3
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-array.cc
|
View
|
1
2
3
|
2 chunks |
+8 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/x64/lithium-codegen-x64.cc
|
View
|
1
|
1 chunk |
+9 lines, -1 line |
0 comments
|
Download
|
|
M |
test/mjsunit/array-constructor-feedback.js
|
View
|
1
2
3
|
1 chunk |
+18 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/array-feedback.js
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
Total messages: 9 (2 generated)
|