| Index: src/x64/deoptimizer-x64.cc
|
| diff --git a/src/x64/deoptimizer-x64.cc b/src/x64/deoptimizer-x64.cc
|
| index 708be862ac3732d87a9231d657e1617bf7b720d8..29b9023d42a7aad0ab19fd246b8c5f9a21523445 100644
|
| --- a/src/x64/deoptimizer-x64.cc
|
| +++ b/src/x64/deoptimizer-x64.cc
|
| @@ -1,4 +1,4 @@
|
| -// Copyright 2010 the V8 project authors. All rights reserved.
|
| +// Copyright 2011 the V8 project authors. All rights reserved.
|
| // Redistribution and use in source and binary forms, with or without
|
| // modification, are permitted provided that the following conditions are
|
| // met:
|
| @@ -40,6 +40,12 @@ namespace internal {
|
|
|
| int Deoptimizer::table_entry_size_ = 10;
|
|
|
| +
|
| +int Deoptimizer::patch_size() {
|
| + return Assembler::kCallInstructionLength;
|
| +}
|
| +
|
| +
|
| void Deoptimizer::DeoptimizeFunction(JSFunction* function) {
|
| AssertNoAllocation no_allocation;
|
|
|
| @@ -72,12 +78,12 @@ void Deoptimizer::DeoptimizeFunction(JSFunction* function) {
|
| #endif
|
| last_pc_offset = pc_offset;
|
| if (deoptimization_index != Safepoint::kNoDeoptimizationIndex) {
|
| - CodePatcher patcher(
|
| - code->instruction_start() + pc_offset + gap_code_size,
|
| - Assembler::kCallInstructionLength);
|
| + last_pc_offset += gap_code_size;
|
| + CodePatcher patcher(code->instruction_start() + last_pc_offset,
|
| + patch_size());
|
| patcher.masm()->Call(GetDeoptimizationEntry(deoptimization_index, LAZY),
|
| RelocInfo::NONE);
|
| - last_pc_offset += gap_code_size + Assembler::kCallInstructionLength;
|
| + last_pc_offset += patch_size();
|
| }
|
| }
|
| #ifdef DEBUG
|
|
|