| Index: runtime/lib/stacktrace.cc
|
| diff --git a/runtime/lib/stacktrace.cc b/runtime/lib/stacktrace.cc
|
| index daf703697e833d29caf0ce4d54e296a27a1c865f..48b87d4c50d5402a8ac8f4bc8d19b80cbab7eac6 100644
|
| --- a/runtime/lib/stacktrace.cc
|
| +++ b/runtime/lib/stacktrace.cc
|
| @@ -141,7 +141,9 @@ DEFINE_NATIVE_ENTRY(StackTrace_setAsyncThreadStackTrace, 1) {
|
| static void AppendFrames(const GrowableObjectArray& code_list,
|
| const GrowableObjectArray& pc_offset_list,
|
| int skip_frames) {
|
| - StackFrameIterator frames(StackFrameIterator::kDontValidateFrames);
|
| + StackFrameIterator frames(StackFrameIterator::kDontValidateFrames,
|
| + Thread::Current(),
|
| + StackFrameIterator::kNoCrossThreadIteration);
|
| StackFrame* frame = frames.NextFrame();
|
| ASSERT(frame != NULL); // We expect to find a dart invocation frame.
|
| Code& code = Code::Handle();
|
| @@ -193,7 +195,9 @@ void _printCurrentStackTrace() {
|
|
|
| // Like _printCurrentStackTrace, but works in a NoSafepointScope.
|
| void _printCurrentStackTraceNoSafepoint() {
|
| - StackFrameIterator frames(StackFrameIterator::kDontValidateFrames);
|
| + StackFrameIterator frames(StackFrameIterator::kDontValidateFrames,
|
| + Thread::Current(),
|
| + StackFrameIterator::kNoCrossThreadIteration);
|
| StackFrame* frame = frames.NextFrame();
|
| while (frame != NULL) {
|
| OS::PrintErr("%s\n", frame->ToCString());
|
|
|