| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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/object.h" | 5 #include "vm/object.h" |
| 6 | 6 |
| 7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
| 10 #include "vm/become.h" | 10 #include "vm/become.h" |
| (...skipping 22404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 22415 // To account for gap frames. | 22415 // To account for gap frames. |
| 22416 (*frame_index) += Smi::Value(stack_trace.PcOffsetAtFrame(i)); | 22416 (*frame_index) += Smi::Value(stack_trace.PcOffsetAtFrame(i)); |
| 22417 } | 22417 } |
| 22418 } else if (code.raw() == | 22418 } else if (code.raw() == |
| 22419 StubCode::AsynchronousGapMarker_entry()->code()) { | 22419 StubCode::AsynchronousGapMarker_entry()->code()) { |
| 22420 buffer.AddString("<asynchronous suspension>\n"); | 22420 buffer.AddString("<asynchronous suspension>\n"); |
| 22421 } else { | 22421 } else { |
| 22422 ASSERT(code.IsFunctionCode()); | 22422 ASSERT(code.IsFunctionCode()); |
| 22423 intptr_t pc_offset = Smi::Value(stack_trace.PcOffsetAtFrame(i)); | 22423 intptr_t pc_offset = Smi::Value(stack_trace.PcOffsetAtFrame(i)); |
| 22424 if (code.is_optimized() && stack_trace.expand_inlined() && | 22424 if (code.is_optimized() && stack_trace.expand_inlined() && |
| 22425 !FLAG_precompiled_runtime) { | 22425 !FLAG_precompiled_mode) { |
| 22426 code.GetInlinedFunctionsAtReturnAddress(pc_offset, &inlined_functions, | 22426 code.GetInlinedFunctionsAtReturnAddress(pc_offset, &inlined_functions, |
| 22427 &inlined_token_positions); | 22427 &inlined_token_positions); |
| 22428 ASSERT(inlined_functions.length() >= 1); | 22428 ASSERT(inlined_functions.length() >= 1); |
| 22429 for (intptr_t j = inlined_functions.length() - 1; j >= 0; j--) { | 22429 for (intptr_t j = inlined_functions.length() - 1; j >= 0; j--) { |
| 22430 if (inlined_functions[j]->is_visible() || | 22430 if (inlined_functions[j]->is_visible() || |
| 22431 FLAG_show_invisible_frames) { | 22431 FLAG_show_invisible_frames) { |
| 22432 PrintStackTraceFrame(zone, &buffer, *inlined_functions[j], | 22432 PrintStackTraceFrame(zone, &buffer, *inlined_functions[j], |
| 22433 inlined_token_positions[j], *frame_index); | 22433 inlined_token_positions[j], *frame_index); |
| 22434 (*frame_index)++; | 22434 (*frame_index)++; |
| 22435 } | 22435 } |
| (...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 22768 return UserTag::null(); | 22768 return UserTag::null(); |
| 22769 } | 22769 } |
| 22770 | 22770 |
| 22771 | 22771 |
| 22772 const char* UserTag::ToCString() const { | 22772 const char* UserTag::ToCString() const { |
| 22773 const String& tag_label = String::Handle(label()); | 22773 const String& tag_label = String::Handle(label()); |
| 22774 return tag_label.ToCString(); | 22774 return tag_label.ToCString(); |
| 22775 } | 22775 } |
| 22776 | 22776 |
| 22777 } // namespace dart | 22777 } // namespace dart |
| OLD | NEW |