|
Fix bug and refactor optimized try-catch.
When untagged values flow into a exception-throwing instruction
they need to be converted eagerly. Catch block entries assume all
values are tagged at the entry.
I changed the generation of moves at throwing
instructions in try-catch: Instead of manuallu emitting moves,
construct a parallel move and use the resolver to emit the native code.
This eliminates a lot of duplicated code from all platforms.
It will also allow to re-use stack space that is currently allocated
separately for each individual try-catch in a function.
I added a few more unrelated minor changes in various parts of the VM
* Simpilify guard code generation
* Resolve refactoring TODO in deoptimization
* Improve names
R=johnmccutchan@google.com
Committed: https://code.google.com/p/dart/source/detail?r=31536
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+125 lines, -344 lines) |
Patch |
|
M |
runtime/vm/deferred_objects.h
|
View
|
|
7 chunks |
+7 lines, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/deferred_objects.cc
|
View
|
|
5 chunks |
+6 lines, -11 lines |
0 comments
|
Download
|
|
M |
runtime/vm/deopt_instructions.cc
|
View
|
|
3 chunks |
+5 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler.h
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler.cc
|
View
|
|
2 chunks |
+46 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_arm.cc
|
View
|
|
1 chunk |
+0 lines, -68 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_ia32.cc
|
View
|
|
1 chunk |
+0 lines, -69 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_mips.cc
|
View
|
|
1 chunk |
+0 lines, -68 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_x64.cc
|
View
|
|
1 chunk |
+0 lines, -68 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_optimizer.h
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_optimizer.cc
|
View
|
1
|
5 chunks |
+44 lines, -18 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language.h
|
View
|
|
3 chunks |
+11 lines, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_arm.cc
|
View
|
|
3 chunks |
+1 line, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_ia32.cc
|
View
|
|
3 chunks |
+1 line, -7 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_mips.cc
|
View
|
|
3 chunks |
+1 line, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_x64.cc
|
View
|
|
3 chunks |
+1 line, -6 lines |
0 comments
|
Download
|
Total messages: 3 (0 generated)
|