| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ | 5 #ifndef RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ |
| 6 #define RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ | 6 #define RUNTIME_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 7942 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7953 | 7953 |
| 7954 Environment* Outermost() { | 7954 Environment* Outermost() { |
| 7955 Environment* result = this; | 7955 Environment* result = this; |
| 7956 while (result->outer() != NULL) | 7956 while (result->outer() != NULL) |
| 7957 result = result->outer(); | 7957 result = result->outer(); |
| 7958 return result; | 7958 return result; |
| 7959 } | 7959 } |
| 7960 | 7960 |
| 7961 Value* ValueAt(intptr_t ix) const { return values_[ix]; } | 7961 Value* ValueAt(intptr_t ix) const { return values_[ix]; } |
| 7962 | 7962 |
| 7963 void PushValue(Value* value); |
| 7964 |
| 7963 intptr_t Length() const { return values_.length(); } | 7965 intptr_t Length() const { return values_.length(); } |
| 7964 | 7966 |
| 7965 Location LocationAt(intptr_t index) const { | 7967 Location LocationAt(intptr_t index) const { |
| 7966 ASSERT((index >= 0) && (index < values_.length())); | 7968 ASSERT((index >= 0) && (index < values_.length())); |
| 7967 return locations_[index]; | 7969 return locations_[index]; |
| 7968 } | 7970 } |
| 7969 | 7971 |
| 7970 // The use index is the index in the flattened environment. | 7972 // The use index is the index in the flattened environment. |
| 7971 Value* ValueAtUseIndex(intptr_t index) const { | 7973 Value* ValueAtUseIndex(intptr_t index) const { |
| 7972 const Environment* env = this; | 7974 const Environment* env = this; |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8088 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ | 8090 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ |
| 8089 UNIMPLEMENTED(); \ | 8091 UNIMPLEMENTED(); \ |
| 8090 return NULL; \ | 8092 return NULL; \ |
| 8091 } \ | 8093 } \ |
| 8092 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } | 8094 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } |
| 8093 | 8095 |
| 8094 | 8096 |
| 8095 } // namespace dart | 8097 } // namespace dart |
| 8096 | 8098 |
| 8097 #endif // RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ | 8099 #endif // RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ |
| OLD | NEW |