Index: runtime/vm/intermediate_language.h |
diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h |
index b92de0a9de275dcd022df81ca1008c41eb82943f..903d31906b9436b0d5663be2445d60b2fad9b477 100644 |
--- a/runtime/vm/intermediate_language.h |
+++ b/runtime/vm/intermediate_language.h |
@@ -3701,7 +3701,8 @@ class LoadCodeUnitsInstr : public TemplateDefinition<2, NoThrow> { |
intptr_t token_pos) |
: class_id_(class_id), |
token_pos_(token_pos), |
- element_count_(element_count) { |
+ element_count_(element_count), |
+ representation_(kTagged) { |
ASSERT(element_count == 1 || element_count == 2 || element_count == 4); |
ASSERT(class_id == kOneByteStringCid || class_id == kTwoByteStringCid); |
SetInputAt(0, str); |
@@ -3729,7 +3730,8 @@ class LoadCodeUnitsInstr : public TemplateDefinition<2, NoThrow> { |
virtual bool CanDeoptimize() const { return false; } |
- virtual Representation representation() const; |
+ virtual Representation representation() const { return representation_; } |
+ void set_representation(Representation repr) { representation_ = repr; } |
virtual void InferRange(RangeAnalysis* analysis, Range* range); |
virtual EffectSet Effects() const { return EffectSet::None(); } |
@@ -3738,6 +3740,7 @@ class LoadCodeUnitsInstr : public TemplateDefinition<2, NoThrow> { |
const intptr_t class_id_; |
const intptr_t token_pos_; |
const intptr_t element_count_; |
+ Representation representation_; |
DISALLOW_COPY_AND_ASSIGN(LoadCodeUnitsInstr); |
}; |