| Index: src/cfg.h | 
| =================================================================== | 
| --- src/cfg.h	(revision 2596) | 
| +++ src/cfg.h	(working copy) | 
| @@ -38,6 +38,8 @@ | 
| // generated. | 
| class Value : public ZoneObject { | 
| public: | 
| +  virtual ~Value() {} | 
| + | 
| virtual void ToRegister(MacroAssembler* masm, Register reg) = 0; | 
|  | 
| #ifdef DEBUG | 
| @@ -51,8 +53,10 @@ | 
| public: | 
| explicit Constant(Handle<Object> handle) : handle_(handle) {} | 
|  | 
| -  virtual void ToRegister(MacroAssembler* masm, Register reg); | 
| +  virtual ~Constant() {} | 
|  | 
| +  void ToRegister(MacroAssembler* masm, Register reg); | 
| + | 
| #ifdef DEBUG | 
| void Print(); | 
| #endif | 
| @@ -67,6 +71,8 @@ | 
| // be generated. | 
| class Instruction : public ZoneObject { | 
| public: | 
| +  virtual ~Instruction() {} | 
| + | 
| virtual void Compile(MacroAssembler* masm) = 0; | 
|  | 
| #ifdef DEBUG | 
| @@ -80,6 +86,8 @@ | 
| public: | 
| explicit ReturnInstr(Value* value) : value_(value) {} | 
|  | 
| +  virtual ~ReturnInstr() {} | 
| + | 
| void Compile(MacroAssembler* masm); | 
|  | 
| #ifdef DEBUG | 
| @@ -102,6 +110,8 @@ | 
| #endif | 
| } | 
|  | 
| +  virtual ~CfgNode() {} | 
| + | 
| bool is_marked() { return is_marked_; } | 
|  | 
| static void Reset(); | 
| @@ -137,6 +147,8 @@ | 
| public: | 
| InstructionBlock() : successor_(NULL), instructions_(4) {} | 
|  | 
| +  virtual ~InstructionBlock() {} | 
| + | 
| static InstructionBlock* cast(CfgNode* node) { | 
| ASSERT(node->is_block()); | 
| return reinterpret_cast<InstructionBlock*>(node); | 
| @@ -172,6 +184,8 @@ | 
| public: | 
| EntryNode(FunctionLiteral* fun, InstructionBlock* succ); | 
|  | 
| +  virtual ~EntryNode() {} | 
| + | 
| void Unmark(); | 
|  | 
| void Compile(MacroAssembler* masm); | 
| @@ -193,6 +207,8 @@ | 
| public: | 
| explicit ExitNode(FunctionLiteral* fun); | 
|  | 
| +  virtual ~ExitNode() {} | 
| + | 
| void Unmark(); | 
|  | 
| void Compile(MacroAssembler* masm); | 
|  |