Chromium Code Reviews| Index: runtime/vm/intermediate_language.h |
| =================================================================== |
| --- runtime/vm/intermediate_language.h (revision 18669) |
| +++ runtime/vm/intermediate_language.h (working copy) |
| @@ -224,13 +224,13 @@ |
| Value* next_; |
| }; |
| - explicit Value(Definition* definition) |
| + explicit Value(Definition* definition, CompileType* type = NULL) |
|
srdjan
2013/02/19 16:51:47
Why the optional argument? We really should avoid
|
| : definition_(definition), |
| previous_use_(NULL), |
| next_use_(NULL), |
| instruction_(NULL), |
| use_index_(-1), |
| - reaching_type_(NULL) { } |
| + reaching_type_(type) { } |
| Definition* definition() const { return definition_; } |
| void set_definition(Definition* definition) { definition_ = definition; } |
| @@ -252,6 +252,10 @@ |
| Value* Copy() { return new Value(definition_); } |
| + // This function must only be used when the new Value is dominated by |
| + // the original Value. |
| + Value* CopyWithType() { return new Value(definition_, reaching_type_); } |
| + |
| CompileType* Type(); |
| void SetReachingType(CompileType* type) { |