| // Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| #include "vm/globals.h" // For INCLUDE_IL_PRINTER |
| #if defined(INCLUDE_IL_PRINTER) |
| |
| #include "vm/code_comments.h" |
| #if !defined(DART_PRECOMPILED_RUNTIME) |
| #include "vm/compiler/assembler/assembler.h" |
| #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| #include "vm/object.h" |
| |
| namespace dart { |
| |
| #if !defined(DART_PRECOMPILED_RUNTIME) |
| const CodeComments& CreateCommentsFrom(compiler::Assembler* assembler) { |
| const auto& comments = assembler->comments(); |
| Code::Comments& result = Code::Comments::New(comments.length()); |
| |
| for (intptr_t i = 0; i < comments.length(); i++) { |
| result.SetPCOffsetAt(i, comments[i]->pc_offset()); |
| result.SetCommentAt(i, comments[i]->comment()); |
| } |
| |
| return result; |
| } |
| #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| |
| } // namespace dart |
| #endif // defined(INCLUDE_IL_PRINTER) |