| Index: src/deoptimizer.cc
|
| ===================================================================
|
| --- src/deoptimizer.cc (revision 9984)
|
| +++ src/deoptimizer.cc (working copy)
|
| @@ -116,25 +116,11 @@
|
| // Get the function and code from the frame.
|
| JSFunction* function = JSFunction::cast(frame->function());
|
| Code* code = frame->LookupCode();
|
| - Address code_start_address = code->instruction_start();
|
|
|
| // Locate the deoptimization point in the code. As we are at a call the
|
| // return address must be at a place in the code with deoptimization support.
|
| - int deoptimization_index = Safepoint::kNoDeoptimizationIndex;
|
| - // Scope this as the safe point constructor will disallow allocation.
|
| - {
|
| - SafepointTable table(code);
|
| - for (unsigned i = 0; i < table.length(); ++i) {
|
| - Address address = code_start_address + table.GetPcOffset(i);
|
| - if (address == frame->pc()) {
|
| - SafepointEntry safepoint_entry = table.GetEntry(i);
|
| - ASSERT(safepoint_entry.deoptimization_index() !=
|
| - Safepoint::kNoDeoptimizationIndex);
|
| - deoptimization_index = safepoint_entry.deoptimization_index();
|
| - break;
|
| - }
|
| - }
|
| - }
|
| + SafepointEntry safepoint_entry = code->GetSafepointEntry(frame->pc());
|
| + int deoptimization_index = safepoint_entry.deoptimization_index();
|
| ASSERT(deoptimization_index != Safepoint::kNoDeoptimizationIndex);
|
|
|
| // Always use the actual stack slots when calculating the fp to sp
|
|
|