| Index: runtime/vm/intermediate_language.h
|
| ===================================================================
|
| --- runtime/vm/intermediate_language.h (revision 41279)
|
| +++ runtime/vm/intermediate_language.h (working copy)
|
| @@ -726,7 +726,7 @@
|
| locs_ = MakeLocationSummary(isolate, optimizing);
|
| }
|
|
|
| - static LocationSummary* MakeCallSummary();
|
| + static LocationSummary* MakeCallSummary(Isolate* isolate);
|
|
|
| virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
|
| UNIMPLEMENTED();
|
| @@ -1318,7 +1318,7 @@
|
|
|
| ZoneGrowableArray<PhiInstr*>* phis() const { return phis_; }
|
|
|
| - void InsertPhi(intptr_t var_index, intptr_t var_count);
|
| + void InsertPhi(intptr_t var_index, intptr_t var_count, bool always_live);
|
| void RemoveDeadPhis(Definition* replacement);
|
|
|
| void InsertPhi(PhiInstr* phi);
|
| @@ -2583,19 +2583,28 @@
|
| };
|
|
|
|
|
| -class ClosureCallInstr : public TemplateDefinition<1> {
|
| +class ClosureCallInstr : public TemplateDefinition<2> {
|
| public:
|
| + enum {
|
| + kFunctionPos = 0,
|
| + kContextPos = 1
|
| + };
|
| +
|
| ClosureCallInstr(Value* function,
|
| + Value* context,
|
| ClosureCallNode* node,
|
| ZoneGrowableArray<PushArgumentInstr*>* arguments)
|
| - : TemplateDefinition<1>(Isolate::Current()->GetNextDeoptId()),
|
| + : TemplateDefinition<2>(Isolate::Current()->GetNextDeoptId()),
|
| ast_node_(*node),
|
| arguments_(arguments) {
|
| - SetInputAt(0, function);
|
| + SetInputAt(kFunctionPos, function);
|
| + SetInputAt(kContextPos, context);
|
| }
|
|
|
| DECLARE_INSTRUCTION(ClosureCall)
|
|
|
| + Value* context() const { return InputAt(kContextPos); }
|
| +
|
| const Array& argument_names() const { return ast_node_.arguments()->names(); }
|
| virtual intptr_t token_pos() const { return ast_node_.token_pos(); }
|
|
|
|
|