| Index: src/frames.cc
|
| diff --git a/src/frames.cc b/src/frames.cc
|
| index ed407e796b637af4072e6be69b85c8cd64fe86c0..586f14148d000fa6fe8abf01138b2d510f1af2dc 100644
|
| --- a/src/frames.cc
|
| +++ b/src/frames.cc
|
| @@ -1311,18 +1311,17 @@ Address StubFailureTrampolineFrame::GetCallerStackPointer() const {
|
|
|
|
|
| Code* StubFailureTrampolineFrame::unchecked_code() const {
|
| - int i = 0;
|
| - for (; i <= StubFailureTrampolineStub::kMaxExtraExpressionStackCount; ++i) {
|
| - Code* trampoline;
|
| - StubFailureTrampolineStub(i).FindCodeInCache(&trampoline, isolate());
|
| - ASSERT(trampoline != NULL);
|
| - Address current_pc = pc();
|
| - Address code_start = trampoline->instruction_start();
|
| - Address code_end = code_start + trampoline->instruction_size();
|
| - if (code_start <= current_pc && current_pc < code_end) {
|
| - return trampoline;
|
| - }
|
| + Code* trampoline;
|
| + StubFailureTrampolineStub(false).FindCodeInCache(&trampoline, isolate());
|
| + if (trampoline->contains(pc())) {
|
| + return trampoline;
|
| }
|
| +
|
| + StubFailureTrampolineStub(true).FindCodeInCache(&trampoline, isolate());
|
| + if (trampoline->contains(pc())) {
|
| + return trampoline;
|
| + }
|
| +
|
| UNREACHABLE();
|
| return NULL;
|
| }
|
|
|