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; |