| Index: src/frames.cc
|
| ===================================================================
|
| --- src/frames.cc (revision 3149)
|
| +++ src/frames.cc (working copy)
|
| @@ -393,8 +393,19 @@
|
| }
|
|
|
|
|
| +Object*& ExitFrame::code_slot() const {
|
| + const int offset = ExitFrameConstants::kCodeOffset;
|
| + return Memory::Object_at(fp() + offset);
|
| +}
|
| +
|
| +
|
| Code* ExitFrame::code() const {
|
| - return Heap::c_entry_code();
|
| + Object* code = code_slot();
|
| + if (code->IsSmi()) {
|
| + return Heap::c_entry_debug_break_code();
|
| + } else {
|
| + return Code::cast(code);
|
| + }
|
| }
|
|
|
|
|
| @@ -412,11 +423,6 @@
|
| }
|
|
|
|
|
| -Code* ExitDebugFrame::code() const {
|
| - return Heap::c_entry_debug_break_code();
|
| -}
|
| -
|
| -
|
| Address StandardFrame::GetExpressionAddress(int n) const {
|
| const int offset = StandardFrameConstants::kExpressionsOffset;
|
| return fp() + offset - n * kPointerSize;
|
|
|