Index: runtime/vm/intermediate_language.h |
diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h |
index f7adb887791cb671165703e1b0df60644f8bdaf7..609f89e41a6a2930440ca2cd7fd9486a5c10dfc8 100644 |
--- a/runtime/vm/intermediate_language.h |
+++ b/runtime/vm/intermediate_language.h |
@@ -561,6 +561,7 @@ class EmbeddedArray<T, 0> { |
M(BoxInt32) \ |
M(UnboxInt32) \ |
M(UnboxedIntConverter) \ |
+ M(GrowRegExpStack) \ |
M(Deoptimize) |
#define FOR_EACH_ABSTRACT_INSTRUCTION(M) \ |
@@ -7793,6 +7794,24 @@ class UnboxedIntConverterInstr : public TemplateDefinition<1, NoThrow> { |
}; |
+class GrowRegExpStackInstr : public TemplateDefinition<1, Throws> { |
+ public: |
+ explicit GrowRegExpStackInstr(Value* typed_data_cell) { |
+ SetInputAt(0, typed_data_cell); |
+ } |
+ |
+ Value* typed_data_cell() const { return inputs_[0]; } |
+ |
+ virtual bool CanDeoptimize() const { return MayThrow(); } |
+ virtual EffectSet Effects() const { return EffectSet::None(); } |
+ |
+ DECLARE_INSTRUCTION(GrowRegExpStack); |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(GrowRegExpStackInstr); |
+}; |
+ |
+ |
#undef DECLARE_INSTRUCTION |
class Environment : public ZoneAllocated { |