Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(892)

Unified Diff: runtime/vm/profiler.cc

Issue 2845053003: Fix asserts in StackFrameIterator which were effectively disabled (Closed)
Patch Set: Add StackFrameIterator::{ValidationPolicy,CrossThreadPolicy} enums Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/os_win.cc ('k') | runtime/vm/runtime_entry.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/profiler.cc
diff --git a/runtime/vm/profiler.cc b/runtime/vm/profiler.cc
index 8bfd7299fe6575e1bdc291ee1df6a536b7d74fd9..2e1d10b4a32ba9ff45afa3667183af154ffe2920 100644
--- a/runtime/vm/profiler.cc
+++ b/runtime/vm/profiler.cc
@@ -451,8 +451,16 @@ class ProfilerDartStackWalker : public ProfilerStackWalker {
stack_lower_(stack_lower),
has_exit_frame_(exited_dart_code) {
if (exited_dart_code) {
+// On windows the profiler does not run on the thread being profiled.
+#if defined(_WIN32)
+ const StackFrameIterator::CrossThreadPolicy cross_thread_policy =
+ StackFrameIterator::kAllowCrossThreadIteration;
+#else
+ const StackFrameIterator::CrossThreadPolicy cross_thread_policy =
+ StackFrameIterator::kNoCrossThreadIteration;
+#endif
StackFrameIterator iterator(StackFrameIterator::kDontValidateFrames,
- thread);
+ thread, cross_thread_policy);
pc_ = NULL;
fp_ = NULL;
sp_ = NULL;
« no previous file with comments | « runtime/vm/os_win.cc ('k') | runtime/vm/runtime_entry.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698