| Index: runtime/vm/intermediate_language.h
|
| ===================================================================
|
| --- runtime/vm/intermediate_language.h (revision 38897)
|
| +++ runtime/vm/intermediate_language.h (working copy)
|
| @@ -715,6 +715,7 @@
|
| M(InstantiateType) \
|
| M(InstantiateTypeArguments) \
|
| M(AllocateContext) \
|
| + M(AllocateUninitializedContext) \
|
| M(CloneContext) \
|
| M(BinarySmiOp) \
|
| M(UnarySmiOp) \
|
| @@ -4965,6 +4966,35 @@
|
| };
|
|
|
|
|
| +class AllocateUninitializedContextInstr : public TemplateDefinition<0> {
|
| + public:
|
| + AllocateUninitializedContextInstr(intptr_t token_pos,
|
| + intptr_t num_context_variables)
|
| + : token_pos_(token_pos),
|
| + num_context_variables_(num_context_variables) {}
|
| +
|
| + DECLARE_INSTRUCTION(AllocateUninitializedContext)
|
| + virtual CompileType ComputeType() const;
|
| +
|
| + virtual intptr_t token_pos() const { return token_pos_; }
|
| + intptr_t num_context_variables() const { return num_context_variables_; }
|
| +
|
| + virtual void PrintOperandsTo(BufferFormatter* f) const;
|
| +
|
| + virtual bool CanDeoptimize() const { return false; }
|
| +
|
| + virtual EffectSet Effects() const { return EffectSet::None(); }
|
| +
|
| + virtual bool MayThrow() const { return false; }
|
| +
|
| + private:
|
| + const intptr_t token_pos_;
|
| + const intptr_t num_context_variables_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(AllocateUninitializedContextInstr);
|
| +};
|
| +
|
| +
|
| class CloneContextInstr : public TemplateDefinition<1> {
|
| public:
|
| CloneContextInstr(intptr_t token_pos, Value* context_value)
|
|
|