| 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);
|
| };
|
|
|