diff options
Diffstat (limited to 'deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.h')
-rw-r--r-- | deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.h b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.h new file mode 100644 index 0000000000..4f2cd3d6ae --- /dev/null +++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.h @@ -0,0 +1,61 @@ +// 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_MAC_H_ +#define V8_SNAPSHOT_EMBEDDED_PLATFORM_EMBEDDED_FILE_WRITER_MAC_H_ + +#include "src/base/macros.h" +#include "src/snapshot/embedded/platform-embedded-file-writer-base.h" + +namespace v8 { +namespace internal { + +class PlatformEmbeddedFileWriterMac : public PlatformEmbeddedFileWriterBase { + public: + PlatformEmbeddedFileWriterMac(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::kMac); + } + + 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 DeclareLabel(const char* name) override; + + void SourceInfo(int fileid, const char* filename, int line) override; + void DeclareFunctionBegin(const char* name) override; + void DeclareFunctionEnd(const char* name) override; + + int HexLiteral(uint64_t value) 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; + + private: + void DeclareSymbolGlobal(const char* name); + + private: + const EmbeddedTargetArch target_arch_; + const EmbeddedTargetOs target_os_; +}; + +} // namespace internal +} // namespace v8 + +#endif // V8_SNAPSHOT_EMBEDDED_PLATFORM_EMBEDDED_FILE_WRITER_MAC_H_ |