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

Side by Side Diff: runtime/vm/intrinsifier_x64.cc

Issue 2646443005: Track async causal stack traces (Closed)
Patch Set: rebase 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 unified diff | Download patch
« no previous file with comments | « runtime/vm/intrinsifier_mips.cc ('k') | runtime/vm/method_recognizer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_X64. 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_X64.
6 #if defined(TARGET_ARCH_X64) 6 #if defined(TARGET_ARCH_X64)
7 7
8 #include "vm/intrinsifier.h" 8 #include "vm/intrinsifier.h"
9 9
10 #include "vm/assembler.h" 10 #include "vm/assembler.h"
(...skipping 2261 matching lines...) Expand 10 before | Expand all | Expand 10 after
2272 __ j(NOT_ZERO, &true_label, Assembler::kNearJump); 2272 __ j(NOT_ZERO, &true_label, Assembler::kNearJump);
2273 // Not enabled. 2273 // Not enabled.
2274 __ LoadObject(RAX, Bool::False()); 2274 __ LoadObject(RAX, Bool::False());
2275 __ ret(); 2275 __ ret();
2276 // Enabled. 2276 // Enabled.
2277 __ Bind(&true_label); 2277 __ Bind(&true_label);
2278 __ LoadObject(RAX, Bool::True()); 2278 __ LoadObject(RAX, Bool::True());
2279 __ ret(); 2279 __ ret();
2280 } 2280 }
2281 2281
2282
2283 void Intrinsifier::ClearAsyncThreadStackTrace(Assembler* assembler) {
2284 __ LoadObject(RAX, Object::null_object());
2285 __ movq(Address(THR, Thread::async_stack_trace_offset()), RAX);
2286 __ ret();
2287 }
2288
2289
2290 void Intrinsifier::SetAsyncThreadStackTrace(Assembler* assembler) {
2291 __ movq(Address(THR, Thread::async_stack_trace_offset()), RAX);
2292 __ LoadObject(RAX, Object::null_object());
2293 __ ret();
2294 }
2295
2282 #undef __ 2296 #undef __
2283 2297
2284 } // namespace dart 2298 } // namespace dart
2285 2299
2286 #endif // defined TARGET_ARCH_X64 2300 #endif // defined TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « runtime/vm/intrinsifier_mips.cc ('k') | runtime/vm/method_recognizer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698