Index: src/ia32/lithium-codegen-ia32.h |
=================================================================== |
--- src/ia32/lithium-codegen-ia32.h (revision 9418) |
+++ src/ia32/lithium-codegen-ia32.h (working copy) |
@@ -352,16 +352,20 @@ |
class LDeferredCode: public ZoneObject { |
public: |
explicit LDeferredCode(LCodeGen* codegen) |
- : codegen_(codegen), external_exit_(NULL) { |
+ : codegen_(codegen), |
+ external_exit_(NULL), |
+ instruction_index_(codegen->current_instruction_) { |
codegen->AddDeferredCode(this); |
} |
virtual ~LDeferredCode() { } |
virtual void Generate() = 0; |
+ virtual LInstruction* instr() = 0; |
void SetExit(Label *exit) { external_exit_ = exit; } |
Label* entry() { return &entry_; } |
Label* exit() { return external_exit_ != NULL ? external_exit_ : &exit_; } |
+ int instruction_index() const { return instruction_index_; } |
protected: |
LCodeGen* codegen() const { return codegen_; } |
@@ -372,6 +376,7 @@ |
Label entry_; |
Label exit_; |
Label* external_exit_; |
+ int instruction_index_; |
}; |
} } // namespace v8::internal |