���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /home/real/node-v13.0.1/deps/v8/src/codegen/ |
// Copyright 2018 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef V8_CODEGEN_CODE_COMMENTS_H_ #define V8_CODEGEN_CODE_COMMENTS_H_ #include <ostream> #include <string> #include <vector> #include "include/v8-internal.h" #include "src/base/macros.h" namespace v8 { namespace internal { class Assembler; // Code comments section layout: // byte count content // ------------------------------------------------------------------------ // 4 size as uint32_t (only for sanity check) // [Inline array of CodeCommentEntry in increasing pc_offset order] // ┌ 4 pc_offset of entry as uint32_t // ├ 4 length of the comment including terminating '\0' // └ <variable length> characters of the comment including terminating '\0' struct CodeCommentEntry { uint32_t pc_offset; std::string comment; uint32_t comment_length() const; uint32_t size() const; }; class CodeCommentsWriter { public: V8_EXPORT_PRIVATE void Add(uint32_t pc_offset, std::string comment); void Emit(Assembler* assm); size_t entry_count() const; uint32_t section_size() const; private: uint32_t byte_count_ = 0; std::vector<CodeCommentEntry> comments_; }; class V8_EXPORT_PRIVATE CodeCommentsIterator { public: CodeCommentsIterator(Address code_comments_start, uint32_t code_comments_size); uint32_t size() const; const char* GetComment() const; uint32_t GetCommentSize() const; uint32_t GetPCOffset() const; void Next(); bool HasCurrent() const; private: Address code_comments_start_; uint32_t code_comments_size_; Address current_entry_; }; void PrintCodeCommentsSection(std::ostream& out, Address code_comments_start, uint32_t code_comments_size); } // namespace internal } // namespace v8 #endif // V8_CODEGEN_CODE_COMMENTS_H_