|
Don't do any special normalization if a boilerplate contains function literals.
This mechanism was used to ensure that functions ended up as constants on the map of prototypes defined using object literals, e.g.,:
function.prototype = {
method: function() { ... }
}
Nowadays we treat prototypes specially, and make all their functions constants when an object turns prototype. Hence this special custom code isn't necessary anymore.
This also affects boilerplates that do not become prototypes. Their functions will not be constants but fields instead. Calling their methods will slow down. However, multiple instances of the same boilerplate will stay monomorphic. We'll have to see what the impact is for such objects, but preliminary benchmarks do not show this as an important regression.
BUG= chromium:593008
LOG=n
Committed: https://crrev.com/fd405704191e419bd5be1559ef5c768b07a61161
Cr-Commit-Position: refs/heads/master@{#34602}
Total comments: 3
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+51 lines, -452 lines) |
Patch |
|
M |
src/ast/ast.h
|
View
|
1
|
6 chunks |
+6 lines, -13 lines |
0 comments
|
Download
|
|
M |
src/compiler/ast-graph-builder.cc
|
View
|
1
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/compiler/linkage.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/crankshaft/arm/lithium-arm.h
|
View
|
1
2
|
2 chunks |
+0 lines, -14 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/arm/lithium-arm.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/arm/lithium-codegen-arm.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/arm64/lithium-arm64.h
|
View
|
1
2
|
2 chunks |
+0 lines, -14 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/arm64/lithium-arm64.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/arm64/lithium-codegen-arm64.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/hydrogen.cc
|
View
|
1
|
1 chunk |
+1 line, -11 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/hydrogen-instructions.h
|
View
|
1
2
|
2 chunks |
+0 lines, -30 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/hydrogen-instructions.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/crankshaft/ia32/lithium-codegen-ia32.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/ia32/lithium-ia32.h
|
View
|
1
2
|
2 chunks |
+0 lines, -14 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/ia32/lithium-ia32.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips/lithium-codegen-mips.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips/lithium-mips.h
|
View
|
1
2
|
2 chunks |
+0 lines, -14 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips/lithium-mips.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips64/lithium-codegen-mips64.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips64/lithium-mips64.h
|
View
|
1
2
|
2 chunks |
+0 lines, -14 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/mips64/lithium-mips64.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/ppc/lithium-codegen-ppc.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/ppc/lithium-ppc.h
|
View
|
1
2
|
2 chunks |
+0 lines, -12 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/ppc/lithium-ppc.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/s390/lithium-codegen-s390.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/s390/lithium-s390.h
|
View
|
1
2
|
2 chunks |
+0 lines, -11 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/s390/lithium-s390.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/x64/lithium-codegen-x64.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/x64/lithium-x64.h
|
View
|
1
2
|
2 chunks |
+0 lines, -14 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/x64/lithium-x64.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/x87/lithium-codegen-x87.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/x87/lithium-x87.h
|
View
|
1
2
|
2 chunks |
+0 lines, -14 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/x87/lithium-x87.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/arm/full-codegen-arm.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/arm64/full-codegen-arm64.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/full-codegen.cc
|
View
|
1
2
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/ia32/full-codegen-ia32.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/mips/full-codegen-mips.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/mips64/full-codegen-mips64.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/ppc/full-codegen-ppc.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/s390/full-codegen-s390.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/x64/full-codegen-x64.cc
|
View
|
1
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/x87/full-codegen-x87.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-generator.cc
|
View
|
1
|
1 chunk |
+0 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/parsing/parser.h
|
View
|
1
2
3
4
5
|
1 chunk |
+0 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/parsing/parser-base.h
|
View
|
1
2
3
4
5
|
3 chunks |
+0 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/parsing/preparser.h
|
View
|
1
2
3
4
5
|
2 chunks |
+0 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-literals.cc
|
View
|
|
7 chunks |
+8 lines, -16 lines |
0 comments
|
Download
|
|
M |
test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden
|
View
|
1
2
3
4
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
test/cctest/interpreter/bytecode_expectations/CountOperators.golden
|
View
|
1
2
3
4
|
4 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
test/cctest/interpreter/bytecode_expectations/Delete.golden
|
View
|
1
2
3
4
|
4 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
test/cctest/interpreter/bytecode_expectations/ForIn.golden
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/cctest/interpreter/bytecode_expectations/ForOf.golden
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden
|
View
|
1
2
3
4
|
16 chunks |
+16 lines, -16 lines |
0 comments
|
Download
|
|
M |
test/cctest/interpreter/bytecode_expectations/ObjectLiteralsWide.golden
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/cctest/interpreter/bytecode_expectations/TopLevelObjectLiterals.golden
|
View
|
1
2
3
4
5
6
|
2 chunks |
+3 lines, -4 lines |
0 comments
|
Download
|
|
M |
test/cctest/interpreter/bytecode_expectations/WithStatement.golden
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/mjsunit/mjsunit.status
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
Total messages: 40 (21 generated)
|