From 16c775ea81a7ec439954ec8ae02e12b03fdb8649 Mon Sep 17 00:00:00 2001 From: "yangguo@chromium.org" Date: Fri, 22 Jun 2012 09:36:39 +0000 Subject: [PATCH] Actually put debug information on stack when aborting. R=ulan@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10627015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/debug.cc | 14 ++++++++++++++ src/debug.h | 2 ++ 2 files changed, 16 insertions(+) diff --git a/src/debug.cc b/src/debug.cc index 67d47c04e0..668e6a1863 100644 --- a/src/debug.cc +++ b/src/debug.cc @@ -896,8 +896,18 @@ void Debug::PutValuesOnStackAndDie(int start, Address c_entry_fp, Address last_fp, Address larger_fp, + Address last_in_fp, + Address last_out_fp, int count, int end) { + OS::PrintError("start: %d\n", start); + OS::PrintError("c_entry_fp: %p\n", static_cast(c_entry_fp)); + OS::PrintError("last_fp: %p\n", static_cast(last_fp)); + OS::PrintError("larger_fp: %p\n", static_cast(larger_fp)); + OS::PrintError("last_in_fp: %p\n", static_cast(last_in_fp)); + OS::PrintError("last_out_fp: %p\n", static_cast(last_out_fp)); + OS::PrintError("count: %d\n", count); + OS::PrintError("end: %d\n", end); OS::Abort(); } @@ -1010,6 +1020,8 @@ Object* Debug::Break(Arguments args) { frame->fp(), thread_local_.last_fp_, NULL, + thread_local_.step_into_fp_, + thread_local_.step_out_fp_, count, 0xFEEEEEEE); } else if (it.frame()->fp() != thread_local_.last_fp_) { @@ -1018,6 +1030,8 @@ Object* Debug::Break(Arguments args) { frame->fp(), thread_local_.last_fp_, it.frame()->fp(), + thread_local_.step_into_fp_, + thread_local_.step_out_fp_, count, 0xFEEEEEEE); } diff --git a/src/debug.h b/src/debug.h index c7c4b55489..607dab7b83 100644 --- a/src/debug.h +++ b/src/debug.h @@ -236,6 +236,8 @@ class Debug { Address c_entry_fp, Address last_fp, Address larger_fp, + Address last_in_fp, + Address last_out_fp, int count, int end)); Object* Break(Arguments args);