Index: runtime/vm/intermediate_language.h |
=================================================================== |
--- runtime/vm/intermediate_language.h (revision 8130) |
+++ runtime/vm/intermediate_language.h (working copy) |
@@ -1430,7 +1430,7 @@ |
// Returns structure describing location constraints required |
// to emit native code for this instruction. |
- virtual LocationSummary* locs() const { |
+ virtual LocationSummary* locs() { |
// TODO(vegorov): This should be pure virtual method. |
// However we are temporary using NULL for instructions that |
// were not converted to the location based code generation yet. |
@@ -1650,7 +1650,7 @@ |
virtual void RecordAssignedVars(BitVector* assigned_vars); |
- virtual LocationSummary* locs() const { |
+ virtual LocationSummary* locs() { |
return computation()->locs(); |
} |
@@ -1701,7 +1701,7 @@ |
virtual void RecordAssignedVars(BitVector* assigned_vars); |
- virtual LocationSummary* locs() const { |
+ virtual LocationSummary* locs() { |
return computation()->locs(); |
} |
@@ -1719,7 +1719,7 @@ |
class ReturnInstr : public Instruction { |
public: |
ReturnInstr(intptr_t token_index, Value* value) |
- : token_index_(token_index), value_(value) { |
+ : token_index_(token_index), value_(value), locs_(NULL) { |
ASSERT(value_ != NULL); |
} |
@@ -1731,9 +1731,13 @@ |
virtual Instruction* StraightLineSuccessor() const { return NULL; } |
virtual void SetSuccessor(Instruction* instr) { UNREACHABLE(); } |
+ virtual LocationSummary* locs(); |
+ virtual void EmitNativeCode(FlowGraphCompiler* compiler); |
+ |
private: |
const intptr_t token_index_; |
Value* value_; |
+ LocationSummary* locs_; |
DISALLOW_COPY_AND_ASSIGN(ReturnInstr); |
}; |