| // 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) |