Chromium Code Reviews| Index: runtime/vm/intrinsifier_mips.cc |
| diff --git a/runtime/vm/intrinsifier_mips.cc b/runtime/vm/intrinsifier_mips.cc |
| index 2398a7b957d512cc3a278c788e4733e2fa33f164..d42bcde0b45e5a20e846cba9ab24383079641d1b 100644 |
| --- a/runtime/vm/intrinsifier_mips.cc |
| +++ b/runtime/vm/intrinsifier_mips.cc |
| @@ -14,6 +14,7 @@ |
| #include "vm/object_store.h" |
| #include "vm/regexp_assembler.h" |
| #include "vm/symbols.h" |
| +#include "vm/timeline.h" |
| namespace dart { |
| @@ -2208,6 +2209,28 @@ void Intrinsifier::Profiler_getCurrentTag(Assembler* assembler) { |
| __ delay_slot()->lw(V0, Address(V0, Isolate::current_tag_offset())); |
| } |
| + |
| +void Intrinsifier::Timeline_isDartStreamEnabled(Assembler* assembler) { |
| + if (!FLAG_support_timeline) { |
| + __ LoadObject(V0, Bool::False()); |
| + __ Ret(); |
| + return; |
| + } |
| + Label true_label; |
| + // Load TimelineStream*. |
| + __ lw(V0, Address(THR, Thread::dart_stream_offset())); |
| + // Load uintptr_t from TimelineStream*. |
| + __ lw(V0, Address(V0, TimelineStream::enabled_offset())); |
|
zra
2016/05/17 17:35:49
__ lw(T0, Address(V0, ...));
__ LoadObject(V0, Boo
|
| + __ bne(V0, ZR, &true_label); |
| + // Not enabled. |
| + __ LoadObject(V0, Bool::False()); |
| + __ Ret(); |
| + // Enabled. |
| + __ Bind(&true_label); |
| + __ LoadObject(V0, Bool::True()); |
| + __ Ret(); |
| +} |
| + |
| } // namespace dart |
| #endif // defined TARGET_ARCH_MIPS |