| Index: vm/intermediate_language.h
|
| ===================================================================
|
| --- vm/intermediate_language.h (revision 7865)
|
| +++ vm/intermediate_language.h (working copy)
|
| @@ -261,7 +261,9 @@
|
|
|
| class ConstantVal: public Value {
|
| public:
|
| - explicit ConstantVal(const Object& value) : value_(value) {
|
| + explicit ConstantVal(const Object& value)
|
| + : value_(value),
|
| + location_summary_(MakeLocationSummary()) {
|
| ASSERT(value.IsZoneHandle());
|
| }
|
|
|
| @@ -269,8 +271,18 @@
|
|
|
| const Object& value() const { return value_; }
|
|
|
| + virtual LocationSummary* locs() const {
|
| + return location_summary_;
|
| + }
|
| +
|
| + // Platform specific summary factory for this instruction.
|
| + LocationSummary* MakeLocationSummary();
|
| +
|
| + virtual void EmitNativeCode(FlowGraphCompiler* compiler);
|
| +
|
| private:
|
| const Object& value_;
|
| + LocationSummary* location_summary_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ConstantVal);
|
| };
|
| @@ -611,7 +623,9 @@
|
| class LoadLocalComp : public TemplateComputation<0> {
|
| public:
|
| LoadLocalComp(const LocalVariable& local, intptr_t context_level)
|
| - : local_(local), context_level_(context_level) { }
|
| + : local_(local),
|
| + context_level_(context_level),
|
| + location_summary_(MakeLocationSummary()) { }
|
|
|
| DECLARE_COMPUTATION(LoadLocal)
|
|
|
| @@ -620,9 +634,19 @@
|
|
|
| virtual void PrintOperandsTo(BufferFormatter* f) const;
|
|
|
| + virtual LocationSummary* locs() const {
|
| + return location_summary_;
|
| + }
|
| +
|
| + // Platform specific summary factory for this instruction.
|
| + LocationSummary* MakeLocationSummary();
|
| +
|
| + virtual void EmitNativeCode(FlowGraphCompiler* compiler);
|
| +
|
| private:
|
| const LocalVariable& local_;
|
| const intptr_t context_level_;
|
| + LocationSummary* location_summary_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(LoadLocalComp);
|
| };
|
| @@ -633,7 +657,9 @@
|
| StoreLocalComp(const LocalVariable& local,
|
| Value* value,
|
| intptr_t context_level)
|
| - : local_(local), context_level_(context_level) {
|
| + : local_(local),
|
| + context_level_(context_level),
|
| + location_summary_(MakeLocationSummary()) {
|
| inputs_[0] = value;
|
| }
|
|
|
| @@ -647,9 +673,19 @@
|
|
|
| virtual void PrintOperandsTo(BufferFormatter* f) const;
|
|
|
| + virtual LocationSummary* locs() const {
|
| + return location_summary_;
|
| + }
|
| +
|
| + // Platform specific summary factory for this instruction.
|
| + LocationSummary* MakeLocationSummary();
|
| +
|
| + virtual void EmitNativeCode(FlowGraphCompiler* compiler);
|
| +
|
| private:
|
| const LocalVariable& local_;
|
| const intptr_t context_level_;
|
| + LocationSummary* location_summary_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(StoreLocalComp);
|
| };
|
|
|