diff options
Diffstat (limited to 'deps/v8/src/compiler/backend/unwinding-info-writer.h')
-rw-r--r-- | deps/v8/src/compiler/backend/unwinding-info-writer.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/deps/v8/src/compiler/backend/unwinding-info-writer.h b/deps/v8/src/compiler/backend/unwinding-info-writer.h new file mode 100644 index 0000000000..3383da99f7 --- /dev/null +++ b/deps/v8/src/compiler/backend/unwinding-info-writer.h @@ -0,0 +1,57 @@ +// Copyright 2014 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_COMPILER_BACKEND_UNWINDING_INFO_WRITER_H_ +#define V8_COMPILER_BACKEND_UNWINDING_INFO_WRITER_H_ + +#include "src/flags.h" + +#if V8_TARGET_ARCH_ARM +#include "src/compiler/backend/arm/unwinding-info-writer-arm.h" +#elif V8_TARGET_ARCH_ARM64 +#include "src/compiler/backend/arm64/unwinding-info-writer-arm64.h" +#elif V8_TARGET_ARCH_X64 +#include "src/compiler/backend/x64/unwinding-info-writer-x64.h" +#else + +// Placeholder for unsupported architectures. + +#include "src/base/logging.h" + +namespace v8 { +namespace internal { + +class EhFrameWriter; + +namespace compiler { + +class InstructionBlock; + +class UnwindingInfoWriter { + public: + explicit UnwindingInfoWriter(Zone* zone) {} + + void SetNumberOfInstructionBlocks(int number) { + if (FLAG_perf_prof_unwinding_info) UNIMPLEMENTED(); + } + + void BeginInstructionBlock(int pc_offset, const InstructionBlock* block) { + if (FLAG_perf_prof_unwinding_info) UNIMPLEMENTED(); + } + void EndInstructionBlock(const InstructionBlock* block) { + if (FLAG_perf_prof_unwinding_info) UNIMPLEMENTED(); + } + + void Finish(int code_size) {} + + EhFrameWriter* eh_frame_writer() { return nullptr; } +}; + +} // namespace compiler +} // namespace internal +} // namespace v8 + +#endif + +#endif // V8_COMPILER_BACKEND_UNWINDING_INFO_WRITER_H_ |