Chromium Code Reviews| Index: runtime/lib/stacktrace.cc |
| diff --git a/runtime/lib/stacktrace.cc b/runtime/lib/stacktrace.cc |
| index 9d9a3075d0df62820dc5eee8fb3c2336c647c738..a63d66dd805afdc02fbf18e3d71d3a6fdfaf569f 100644 |
| --- a/runtime/lib/stacktrace.cc |
| +++ b/runtime/lib/stacktrace.cc |
| @@ -61,6 +61,16 @@ void _printCurrentStacktrace() { |
| OS::PrintErr("=== Current Trace:\n%s===\n", stacktrace.ToCString()); |
| } |
| +// Like _printCurrentStacktrace, but works in a NoSafepointScope. |
| +void _printCurrentStacktraceNoSafepoint() { |
| + StackFrameIterator frames(StackFrameIterator::kDontValidateFrames); |
| + StackFrame* frame = frames.NextFrame(); |
| + while (frame != NULL) { |
| + OS::Print("%s\n", frame->ToCString()); |
| + frame = frames.NextFrame(); |
| + } |
| +} |
|
siva
2016/06/30 00:06:07
Do we need the other version, why not make your ve
rmacnak
2016/06/30 01:39:21
The existing version is often preferable when it w
|
| + |
| DEFINE_NATIVE_ENTRY(StackTrace_current, 0) { |
| const Stacktrace& stacktrace = GetCurrentStacktrace(1); |
| return stacktrace.raw(); |