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

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

Issue 2503653002: JumpToFrame refactor (Closed)
Patch Set: code review Created 4 years, 1 month 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/exceptions.cc ('k') | runtime/vm/simulator_arm.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 "platform/address_sanitizer.h" 5 #include "platform/address_sanitizer.h"
6 #include "platform/memory_sanitizer.h" 6 #include "platform/memory_sanitizer.h"
7 #include "platform/utils.h" 7 #include "platform/utils.h"
8 8
9 #include "vm/allocation.h" 9 #include "vm/allocation.h"
10 #include "vm/atomic.h" 10 #include "vm/atomic.h"
(...skipping 1086 matching lines...) Expand 10 before | Expand all | Expand 10 after
1097 OSThread* os_thread = thread->os_thread(); 1097 OSThread* os_thread = thread->os_thread();
1098 ASSERT(os_thread != NULL); 1098 ASSERT(os_thread != NULL);
1099 Isolate* isolate = thread->isolate(); 1099 Isolate* isolate = thread->isolate();
1100 1100
1101 // Thread is not doing VM work. 1101 // Thread is not doing VM work.
1102 if (thread->task_kind() == Thread::kUnknownTask) { 1102 if (thread->task_kind() == Thread::kUnknownTask) {
1103 AtomicOperations::IncrementInt64By(&counters_.bail_out_unknown_task, 1); 1103 AtomicOperations::IncrementInt64By(&counters_.bail_out_unknown_task, 1);
1104 return; 1104 return;
1105 } 1105 }
1106 1106
1107 if (StubCode::HasBeenInitialized() && 1107 if (StubCode::HasBeenInitialized() && StubCode::InJumpToFrameStub(state.pc)) {
1108 StubCode::InJumpToExceptionHandlerStub(state.pc)) { 1108 // The JumpToFrame stub manually adjusts the stack pointer, frame
1109 // The JumpToExceptionHandler stub manually adjusts the stack pointer, 1109 // pointer, and some isolate state. It is not safe to walk the
1110 // frame pointer, and some isolate state before jumping to a catch entry. 1110 // stack when executing this stub.
1111 // It is not safe to walk the stack when executing this stub.
1112 AtomicOperations::IncrementInt64By( 1111 AtomicOperations::IncrementInt64By(
1113 &counters_.bail_out_jump_to_exception_handler, 1); 1112 &counters_.bail_out_jump_to_exception_handler, 1);
1114 return; 1113 return;
1115 } 1114 }
1116 1115
1117 const bool in_dart_code = thread->IsExecutingDartCode(); 1116 const bool in_dart_code = thread->IsExecutingDartCode();
1118 1117
1119 uintptr_t sp = 0; 1118 uintptr_t sp = 0;
1120 uintptr_t fp = state.fp; 1119 uintptr_t fp = state.fp;
1121 uintptr_t pc = state.pc; 1120 uintptr_t pc = state.pc;
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
1529 1528
1530 1529
1531 ProcessedSampleBuffer::ProcessedSampleBuffer() 1530 ProcessedSampleBuffer::ProcessedSampleBuffer()
1532 : code_lookup_table_(new CodeLookupTable(Thread::Current())) { 1531 : code_lookup_table_(new CodeLookupTable(Thread::Current())) {
1533 ASSERT(code_lookup_table_ != NULL); 1532 ASSERT(code_lookup_table_ != NULL);
1534 } 1533 }
1535 1534
1536 #endif // !PRODUCT 1535 #endif // !PRODUCT
1537 1536
1538 } // namespace dart 1537 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/exceptions.cc ('k') | runtime/vm/simulator_arm.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698