| Index: runtime/vm/intermediate_language.h | 
| =================================================================== | 
| --- runtime/vm/intermediate_language.h	(revision 31338) | 
| +++ runtime/vm/intermediate_language.h	(working copy) | 
| @@ -669,6 +669,7 @@ | 
| M(UnaryMintOp)                                                               \ | 
| M(CheckArrayBound)                                                           \ | 
| M(Constraint)                                                                \ | 
| +  M(StringToCharCode)                                                          \ | 
| M(StringFromCharCode)                                                        \ | 
| M(StringInterpolate)                                                         \ | 
| M(InvokeMathCFunction)                                                       \ | 
| @@ -3697,6 +3698,36 @@ | 
| }; | 
|  | 
|  | 
| +class StringToCharCodeInstr : public TemplateDefinition<1> { | 
| + public: | 
| +  StringToCharCodeInstr(Value* str, intptr_t cid) : cid_(cid) { | 
| +    ASSERT(str != NULL); | 
| +    SetInputAt(0, str); | 
| +  } | 
| + | 
| +  DECLARE_INSTRUCTION(StringToCharCode) | 
| +  virtual CompileType ComputeType() const; | 
| + | 
| +  Value* str() const { return inputs_[0]; } | 
| + | 
| +  virtual bool CanDeoptimize() const { return false; } | 
| + | 
| +  virtual bool AllowsCSE() const { return true; } | 
| +  virtual EffectSet Effects() const { return EffectSet::None(); } | 
| +  virtual EffectSet Dependencies() const { return EffectSet::None(); } | 
| +  virtual bool AttributesEqual(Instruction* other) const { | 
| +    return other->AsStringToCharCode()->cid_ == cid_; | 
| +  } | 
| + | 
| +  virtual bool MayThrow() const { return false; } | 
| + | 
| + private: | 
| +  const intptr_t cid_; | 
| + | 
| +  DISALLOW_COPY_AND_ASSIGN(StringToCharCodeInstr); | 
| +}; | 
| + | 
| + | 
| class StringInterpolateInstr : public TemplateDefinition<1> { | 
| public: | 
| StringInterpolateInstr(Value* value, intptr_t token_pos) | 
|  |