mirror of
https://github.com/RPCSX/llvm.git
synced 2026-01-31 01:05:23 +01:00
MappedBlockSTream can work with any sequence of block data where the ordering is specified by a list of block numbers. So rather than manually stitch them together in the case of the FPM, reuse this functionality so that we can treat the FPM as if it were contiguous. Reviewed By: ruiu Differential Revision: https://reviews.llvm.org/D23066 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@277609 91177308-0d34-0410-b5e6-96231b3b80d8
36 lines
1.2 KiB
C++
36 lines
1.2 KiB
C++
//===- MSFStreamLayout.h - Describes the layout of a stream -----*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_DEBUGINFO_MSF_MSFSTREAMLAYOUT_H
|
|
#define LLVM_DEBUGINFO_MSF_MSFSTREAMLAYOUT_H
|
|
|
|
#include "llvm/Support/Endian.h"
|
|
|
|
#include <cstdint>
|
|
#include <vector>
|
|
|
|
namespace llvm {
|
|
namespace msf {
|
|
|
|
/// \brief Describes the layout of a stream in an MSF layout. A "stream" here
|
|
/// is defined as any logical unit of data which may be arranged inside the MSF
|
|
/// file as a sequence of (possibly discontiguous) blocks. When we want to read
|
|
/// from a particular MSF Stream, we fill out a stream layout structure and the
|
|
/// reader uses it to determine which blocks in the underlying MSF file contain
|
|
/// the data, so that it can be pieced together in the right order.
|
|
class MSFStreamLayout {
|
|
public:
|
|
uint32_t Length;
|
|
std::vector<support::ulittle32_t> Blocks;
|
|
};
|
|
} // namespace msf
|
|
} // namespace llvm
|
|
|
|
#endif // LLVM_DEBUGINFO_MSF_MSFSTREAMLAYOUT_H
|