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

Unified Diff: runtime/vm/intrinsifier_x64.cc

Issue 2646443005: Track async causal stack traces (Closed)
Patch Set: Chain stack traces together Created 3 years, 10 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) {
+ __ 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/02/08 18:46:29 why does RAX need to be reset to the null object?
rmacnak 2017/02/08 18:52:49 The corresponding native function returns null. In
siva 2017/02/08 18:59:12 True, why does the native function return null cou
+ __ ret();
+}
+
#undef __
} // namespace dart

Powered by Google App Engine
This is Rietveld 408576698