|
[for-in] Sanitize for-in optimizations and fix bailout points.
The PrepareId bailout location was used incorrectly in Crankshaft and,
as it turns out, is not required anyway (once you do it right). Also
there was some premature optimization going on with the CheckEnumCache
(trying to load null from roots only once), plus we can be smarter about
the null/undefined check anyway.
The idea behind this changes is to prepare unification of the two
different ForInPrepare implementations that we now have, with the end
result being that we only use the new implementation that was recently
added for the interpreter.
R=jarin@chromium.org
BUG= v8:3650
LOG=n
Committed: https://crrev.com/f48bf12f5ea99a9d01d390c0c7f51dc85a87f1cd
Cr-Commit-Position: refs/heads/master@{#33426}
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+112 lines, -220 lines) |
Patch |
|
M |
src/arm/macro-assembler-arm.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/arm/macro-assembler-arm.cc
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
src/arm64/macro-assembler-arm64.h
|
View
|
|
1 chunk |
+2 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/arm64/macro-assembler-arm64.cc
|
View
|
|
2 chunks |
+6 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/ast/ast.h
|
View
|
|
1 chunk |
+5 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/arm/lithium-codegen-arm.cc
|
View
|
|
2 chunks |
+1 line, -15 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/arm64/lithium-codegen-arm64.cc
|
View
|
|
2 chunks |
+1 line, -14 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/hydrogen.cc
|
View
|
|
2 chunks |
+8 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/ia32/lithium-codegen-ia32.cc
|
View
|
|
2 chunks |
+0 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips/lithium-codegen-mips.cc
|
View
|
|
2 chunks |
+1 line, -15 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips64/lithium-codegen-mips64.cc
|
View
|
|
2 chunks |
+1 line, -16 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/x64/lithium-codegen-x64.cc
|
View
|
|
2 chunks |
+1 line, -14 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/arm/full-codegen-arm.cc
|
View
|
|
2 chunks |
+11 lines, -18 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/arm64/full-codegen-arm64.cc
|
View
|
|
2 chunks |
+9 lines, -15 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/ia32/full-codegen-ia32.cc
|
View
|
|
2 chunks |
+10 lines, -14 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/mips/full-codegen-mips.cc
|
View
|
|
2 chunks |
+15 lines, -18 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/mips64/full-codegen-mips64.cc
|
View
|
|
2 chunks |
+14 lines, -16 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/x64/full-codegen-x64.cc
|
View
|
|
2 chunks |
+11 lines, -17 lines |
0 comments
|
Download
|
|
M |
src/mips/macro-assembler-mips.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/mips/macro-assembler-mips.cc
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
src/mips64/macro-assembler-mips64.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/mips64/macro-assembler-mips64.cc
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.h
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.cc
|
View
|
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
Dependent Patchsets:
Total messages: 8 (2 generated)
|