Index: src/x64/lithium-codegen-x64.h |
diff --git a/src/x64/lithium-codegen-x64.h b/src/x64/lithium-codegen-x64.h |
index 65c6dcae1f9793c6e668c03bc894a1115e2e3f56..b840310d0c8816f73b5c9e7974d5959d95cb9a85 100644 |
--- a/src/x64/lithium-codegen-x64.h |
+++ b/src/x64/lithium-codegen-x64.h |
@@ -123,7 +123,7 @@ class LCodeGen V8_FINAL BASE_EMBEDDED { |
// Deferred code support. |
void DoDeferredNumberTagD(LNumberTagD* instr); |
void DoDeferredNumberTagU(LNumberTagU* instr); |
- void DoDeferredTaggedToI(LTaggedToI* instr); |
+ void DoDeferredTaggedToI(LTaggedToI* instr, Label* done); |
void DoDeferredMathAbsTaggedHeapNumber(LMathAbs* instr); |
void DoDeferredStackCheck(LStackCheck* instr); |
void DoDeferredRandom(LRandom* instr); |
@@ -427,6 +427,7 @@ class LDeferredCode: public ZoneObject { |
void SetExit(Label* exit) { external_exit_ = exit; } |
Label* entry() { return &entry_; } |
Label* exit() { return external_exit_ != NULL ? external_exit_ : &exit_; } |
+ Label* done() { return codegen_->NeedsDeferredFrame() ? &done_ : exit(); } |
int instruction_index() const { return instruction_index_; } |
protected: |
@@ -437,6 +438,7 @@ class LDeferredCode: public ZoneObject { |
LCodeGen* codegen_; |
Label entry_; |
Label exit_; |
+ Label done_; |
Label* external_exit_; |
int instruction_index_; |
}; |