Index: runtime/vm/kernel_binary_flowgraph.h |
diff --git a/runtime/vm/kernel_binary_flowgraph.h b/runtime/vm/kernel_binary_flowgraph.h |
index 21afadc253d6f02f9233b9d5b370e80b9e58961f..cf9b60e203cff1b677f125b08fa8ffe5ea9e8fe3 100644 |
--- a/runtime/vm/kernel_binary_flowgraph.h |
+++ b/runtime/vm/kernel_binary_flowgraph.h |
@@ -117,6 +117,7 @@ class StreamingScopeBuilder { |
void VisitInterfaceType(bool simple); |
void VisitFunctionType(bool simple); |
void VisitTypeParameterType(); |
+ void VisitVectorType(); |
void HandleLocalFunction(intptr_t parent_kernel_offset); |
void EnterScope(intptr_t kernel_offset); |
@@ -372,6 +373,7 @@ class StreamingFlowGraphBuilder { |
Fragment BuildFieldInitializer(NameIndex canonical_name); |
Fragment BuildInitializers(intptr_t constructor_class_parent_offset); |
FlowGraph* BuildGraphOfImplicitClosureFunction(const Function& function); |
+ FlowGraph* BuildGraphOfConvertedClosureFunction(const Function& function); |
FlowGraph* BuildGraphOfFunction( |
intptr_t constructor_class_parent_offset = -1); |
@@ -442,6 +444,7 @@ class StreamingFlowGraphBuilder { |
BreakableBlock* breakable_block(); |
GrowableArray<YieldContinuation>& yield_continuations(); |
Value* stack(); |
+ void Push(Definition* definition); |
Value* Pop(); |
Tag PeekArgumentsFirstPositionalTag(); |
@@ -497,8 +500,13 @@ class StreamingFlowGraphBuilder { |
Fragment AllocateObject(TokenPosition position, |
const dart::Class& klass, |
intptr_t argument_count); |
+ Fragment AllocateObject(const dart::Class& klass, |
+ const Function& closure_function); |
+ Fragment AllocateContext(intptr_t size); |
+ Fragment LoadField(intptr_t offset); |
Fragment StoreLocal(TokenPosition position, LocalVariable* variable); |
Fragment StoreStaticField(TokenPosition position, const dart::Field& field); |
+ Fragment StoreInstanceField(TokenPosition position, intptr_t offset); |
Fragment StringInterpolate(TokenPosition position); |
Fragment StringInterpolateSingle(TokenPosition position); |
Fragment ThrowTypeError(); |
@@ -586,6 +594,11 @@ class StreamingFlowGraphBuilder { |
Fragment BuildDoubleLiteral(TokenPosition* position); |
Fragment BuildBoolLiteral(bool value, TokenPosition* position); |
Fragment BuildNullLiteral(TokenPosition* position); |
+ Fragment BuildVectorCreation(TokenPosition* position); |
+ Fragment BuildVectorGet(TokenPosition* position); |
+ Fragment BuildVectorSet(TokenPosition* position); |
+ Fragment BuildVectorCopy(TokenPosition* position); |
+ Fragment BuildClosureCreation(TokenPosition* position); |
Fragment BuildInvalidStatement(); |
Fragment BuildExpressionStatement(); |