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 |