|
VM: Fix checked mode crash (issue 13831).
The AST for static getters differs between parsing the first time, and
subsequent parsings. This leads to a mismatch in deoptimization-ids
between the optimized and the unoptimized code.
This CL avoids creating different ASTs for the same static getters. To allow
better inlining of these getters, the initialization expression is wrapped in a
hidden static initializer-function. As a result the size of such getters is
constant and does not depend on the initializer expression.
R=srdjan@google.com
Committed: https://code.google.com/p/dart/source/detail?r=29680
Total comments: 6
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+151 lines, -76 lines) |
Patch |
|
M |
runtime/vm/class_finalizer.cc
|
View
|
1
2
|
1 chunk |
+13 lines, -0 lines |
2 comments
|
Download
|
|
M |
runtime/vm/compiler.cc
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/debugger.cc
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_builder.cc
|
View
|
1
2
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_arm.cc
|
View
|
1
2
|
2 chunks |
+0 lines, -12 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_ia32.cc
|
View
|
1
2
|
2 chunks |
+0 lines, -12 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_mips.cc
|
View
|
1
2
|
2 chunks |
+0 lines, -12 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_x64.cc
|
View
|
1
2
|
2 chunks |
+0 lines, -12 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_optimizer.cc
|
View
|
1
2
|
2 chunks |
+13 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/mirrors_api_impl.cc
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.h
|
View
|
1
2
|
4 chunks |
+14 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.cc
|
View
|
1
2
3
|
4 chunks |
+38 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/parser.h
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/parser.cc
|
View
|
1
2
|
9 chunks |
+61 lines, -24 lines |
0 comments
|
Download
|
|
M |
runtime/vm/raw_object.h
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/symbols.h
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
tests/standalone/standalone.status
|
View
|
1
2
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
Total messages: 8 (0 generated)
|