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

Unified Diff: runtime/vm/intrinsifier_x64.cc

Issue 2646443005: Track async causal stack traces (Closed)
Patch Set: Observatory UI support Created 3 years, 11 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
Index: runtime/vm/intrinsifier_x64.cc
diff --git a/runtime/vm/intrinsifier_x64.cc b/runtime/vm/intrinsifier_x64.cc
index fa250d4a6e1026ea105c092a5e4471a990931ee2..47deca12fa9103cfaed05c64da6135810a2fde9d 100644
--- a/runtime/vm/intrinsifier_x64.cc
+++ b/runtime/vm/intrinsifier_x64.cc
@@ -2279,6 +2279,20 @@ void Intrinsifier::Timeline_isDartStreamEnabled(Assembler* assembler) {
__ ret();
}
+
+void Intrinsifier::ClearAsyncThreadStackTrace(Assembler* assembler) {
rmacnak 2017/01/26 18:05:57 Plus the other architectures.
+ __ LoadObject(RAX, Object::null_object());
+ __ movq(Address(THR, Thread::async_stack_trace_offset()), RAX);
+ __ ret();
+}
+
+
+void Intrinsifier::SetAsyncThreadStackTrace(Assembler* assembler) {
+ __ movq(Address(THR, Thread::async_stack_trace_offset()), RAX);
+ __ LoadObject(RAX, Object::null_object());
siva 2017/01/26 19:26:23 why is RAX being cleared here with the null object
Cutch 2017/01/31 23:45:31 RAX is being cleared so that we return "null" from
+ __ ret();
+}
+
#undef __
} // namespace dart

Powered by Google App Engine
This is Rietveld 408576698