| // Copyright 2019 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_SNAPSHOT_EMBEDDED_PLATFORM_EMBEDDED_FILE_WRITER_AIX_H_ |
| #define V8_SNAPSHOT_EMBEDDED_PLATFORM_EMBEDDED_FILE_WRITER_AIX_H_ |
| |
| #include "src/base/macros.h" |
| #include "src/snapshot/embedded/platform-embedded-file-writer-base.h" |
| |
| namespace v8 { |
| namespace internal { |
| |
| class PlatformEmbeddedFileWriterAIX : public PlatformEmbeddedFileWriterBase { |
| public: |
| PlatformEmbeddedFileWriterAIX(EmbeddedTargetArch target_arch, |
| EmbeddedTargetOs target_os) |
| : target_arch_(target_arch), target_os_(target_os) { |
| USE(target_arch_); |
| USE(target_os_); |
| DCHECK_EQ(target_os_, EmbeddedTargetOs::kAIX); |
| } |
| |
| void SectionText() override; |
| void SectionData() override; |
| void SectionRoData() override; |
| |
| void AlignToCodeAlignment() override; |
| void AlignToDataAlignment() override; |
| |
| void DeclareUint32(const char* name, uint32_t value) override; |
| void DeclarePointerToSymbol(const char* name, const char* target) override; |
| |
| void DeclareSymbolGlobal(const char* name) override; |
| void DeclareLabel(const char* name) override; |
| |
| void SourceInfo(int fileid, const char* filename, int line) override; |
| void DeclareFunctionBegin(const char* name, uint32_t size) override; |
| void DeclareFunctionEnd(const char* name) override; |
| |
| void Comment(const char* string) override; |
| |
| void FilePrologue() override; |
| void DeclareExternalFilename(int fileid, const char* filename) override; |
| void FileEpilogue() override; |
| |
| int IndentedDataDirective(DataDirective directive) override; |
| |
| DataDirective ByteChunkDataDirective() const override; |
| |
| private: |
| const EmbeddedTargetArch target_arch_; |
| const EmbeddedTargetOs target_os_; |
| }; |
| |
| } // namespace internal |
| } // namespace v8 |
| |
| #endif // V8_SNAPSHOT_EMBEDDED_PLATFORM_EMBEDDED_FILE_WRITER_AIX_H_ |