| 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 {
|
|
|