diff options
Diffstat (limited to 'deps/v8/src/jump-target-heavy.cc')
-rw-r--r-- | deps/v8/src/jump-target-heavy.cc | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/deps/v8/src/jump-target-heavy.cc b/deps/v8/src/jump-target-heavy.cc index 468cf4a542..e0585e7942 100644 --- a/deps/v8/src/jump-target-heavy.cc +++ b/deps/v8/src/jump-target-heavy.cc @@ -332,22 +332,10 @@ void JumpTarget::ComputeEntryFrame() { } -DeferredCode::DeferredCode() - : masm_(CodeGeneratorScope::Current()->masm()), - statement_position_(masm_->current_statement_position()), - position_(masm_->current_position()) { - ASSERT(statement_position_ != RelocInfo::kNoPosition); - ASSERT(position_ != RelocInfo::kNoPosition); - - CodeGeneratorScope::Current()->AddDeferred(this); -#ifdef DEBUG - comment_ = ""; -#endif - +FrameRegisterState::FrameRegisterState(VirtualFrame* frame) { // Copy the register locations from the code generator's frame. // These are the registers that will be spilled on entry to the // deferred code and restored on exit. - VirtualFrame* frame = CodeGeneratorScope::Current()->frame(); int sp_offset = frame->fp_relative(frame->stack_pointer_); for (int i = 0; i < RegisterAllocator::kNumRegisters; i++) { int loc = frame->register_location(i); @@ -423,4 +411,19 @@ void BreakTarget::Branch(Condition cc, Hint hint) { } } + +DeferredCode::DeferredCode() + : masm_(CodeGeneratorScope::Current()->masm()), + statement_position_(masm_->current_statement_position()), + position_(masm_->current_position()), + frame_state_(CodeGeneratorScope::Current()->frame()) { + ASSERT(statement_position_ != RelocInfo::kNoPosition); + ASSERT(position_ != RelocInfo::kNoPosition); + + CodeGeneratorScope::Current()->AddDeferred(this); +#ifdef DEBUG + comment_ = ""; +#endif +} + } } // namespace v8::internal |