| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ | 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ |
| 6 #define VM_INTERMEDIATE_LANGUAGE_H_ | 6 #define VM_INTERMEDIATE_LANGUAGE_H_ |
| 7 | 7 |
| 8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
| 9 #include "vm/ast.h" | 9 #include "vm/ast.h" |
| 10 #include "vm/growable_array.h" | 10 #include "vm/growable_array.h" |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 Instruction* instr() const { return instr_; } | 130 Instruction* instr() const { return instr_; } |
| 131 | 131 |
| 132 // Create a location summary for this computation. | 132 // Create a location summary for this computation. |
| 133 // TODO(fschneider): Temporarily returns NULL for instructions | 133 // TODO(fschneider): Temporarily returns NULL for instructions |
| 134 // that are not yet converted to the location based code generation. | 134 // that are not yet converted to the location based code generation. |
| 135 virtual LocationSummary* MakeLocationSummary() const = 0; | 135 virtual LocationSummary* MakeLocationSummary() const = 0; |
| 136 | 136 |
| 137 // TODO(fschneider): Make EmitNativeCode and locs const. | 137 // TODO(fschneider): Make EmitNativeCode and locs const. |
| 138 virtual void EmitNativeCode(FlowGraphCompiler* compiler) = 0; | 138 virtual void EmitNativeCode(FlowGraphCompiler* compiler) = 0; |
| 139 | 139 |
| 140 static LocationSummary* MakeCallSummary(); |
| 141 |
| 140 private: | 142 private: |
| 141 friend class Instruction; | 143 friend class Instruction; |
| 142 static intptr_t GetNextCid(Isolate* isolate) { | 144 static intptr_t GetNextCid(Isolate* isolate) { |
| 143 intptr_t tmp = isolate->computation_id(); | 145 intptr_t tmp = isolate->computation_id(); |
| 144 isolate->set_computation_id(tmp + 1); | 146 isolate->set_computation_id(tmp + 1); |
| 145 return tmp; | 147 return tmp; |
| 146 } | 148 } |
| 147 static ICData* GetICDataForCid(intptr_t cid, Isolate* isolate) { | 149 static ICData* GetICDataForCid(intptr_t cid, Isolate* isolate) { |
| 148 if (isolate->ic_data_array() == Array::null()) { | 150 if (isolate->ic_data_array() == Array::null()) { |
| 149 return NULL; | 151 return NULL; |
| (...skipping 1847 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1997 const GrowableArray<BlockEntryInstr*>& block_order_; | 1999 const GrowableArray<BlockEntryInstr*>& block_order_; |
| 1998 | 2000 |
| 1999 private: | 2001 private: |
| 2000 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 2002 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
| 2001 }; | 2003 }; |
| 2002 | 2004 |
| 2003 | 2005 |
| 2004 } // namespace dart | 2006 } // namespace dart |
| 2005 | 2007 |
| 2006 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 2008 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
| OLD | NEW |