Chromium Code Reviews| 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 |