|
When requested to extract a method M from class C inject a method extractor (consisting of a single AST node CreateClosure) as a getter get:M into C.
This allows to cache and optimize method extraction requests as normal method invocations and at hot method extraction sites that significantly decreases overhead of method extraction which previously required two trips into runtime system and was not cached at all.
BUG=
Committed: https://code.google.com/p/dart/source/detail?r=17261
Total comments: 1
Total comments: 10
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+317 lines, -73 lines) |
Patch |
|
M |
runtime/vm/class_finalizer.cc
|
View
|
1
2
3
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/code_generator.cc
|
View
|
1
2
3
|
3 chunks |
+3 lines, -42 lines |
0 comments
|
Download
|
|
M |
runtime/vm/dart_api_impl.cc
|
View
|
1
2
3
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/debugger.cc
|
View
|
1
2
3
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph.h
|
View
|
1
2
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph.cc
|
View
|
1
2
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_builder.cc
|
View
|
1
2
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_optimizer.h
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_optimizer.cc
|
View
|
1
2
3
|
5 chunks |
+40 lines, -12 lines |
0 comments
|
Download
|
|
M |
runtime/vm/il_printer.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language.h
|
View
|
1
2
|
2 chunks |
+10 lines, -7 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_ia32.cc
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_x64.cc
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.h
|
View
|
1
2
3
|
3 chunks |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.cc
|
View
|
1
2
3
|
4 chunks |
+27 lines, -0 lines |
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
3
|
2 chunks |
+34 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/raw_object.h
|
View
|
1
2
3
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/resolver.cc
|
View
|
1
2
3
|
3 chunks |
+63 lines, -5 lines |
0 comments
|
Download
|
|
M |
runtime/vm/symbols.h
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
A |
tests/language/fast_method_extraction_test.dart
|
View
|
1
2
3
|
1 chunk |
+104 lines, -0 lines |
0 comments
|
Download
|
Total messages: 11 (0 generated)
|