クラス Onikiri::AlphaLinux::Alpha64Info

#include <Alpha64Info.h>

Onikiri::AlphaLinux::Alpha64Infoに対する継承グラフ

Inheritance graph
[凡例]
Onikiri::AlphaLinux::Alpha64Infoのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public メソッド

virtual int GetAddressSpaceBitSize ()
virtual int GetInstructionWordBitSize ()
virtual ISA_TYPE GetISAType ()
virtual int GetMaxDstRegCount ()
virtual int GetMaxMemoryAccessByteSize ()
virtual int GetMaxOpInfoCountPerPC ()
virtual int GetMaxSrcRegCount ()
virtual int GetRegisterCount ()
virtual int GetRegisterSegmentCount ()
virtual int GetRegisterSegmentID (int regNum)
virtual int GetRegisterWordBitSize ()
virtual bool IsLittleEndian ()

Static Public 変数

static const int InstructionWordBitSize = 32
static const int MAX_MEMORY_ACCESS_WIDTH = 8
static const int MaxDstRegCount = 2
static const int MaxImmCount = 2
static const int MaxSrcRegCount = 3
static const int REG_ADDRESS = 64
static const int REG_FPCR = 65
static const int RegisterCount = 32+32+1+1

説明

Alpha64Info.h41 行で定義されています。


関数

int Alpha64Info::GetAddressSpaceBitSize (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

Alpha64Info.cpp82 行で定義されています。

00083 {
00084     return 64;
00085 }

int Alpha64Info::GetInstructionWordBitSize (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

Alpha64Info.cpp67 行で定義されています。

参照先 InstructionWordBitSize.

00068 {
00069     return InstructionWordBitSize;
00070 }

ISA_TYPE Alpha64Info::GetISAType (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

Alpha64Info.cpp40 行で定義されています。

参照先 Onikiri::ISA_ALPHA.

00041 {
00042     return ISA_ALPHA;
00043 }

int Alpha64Info::GetMaxDstRegCount (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

Alpha64Info.cpp92 行で定義されています。

参照先 MaxDstRegCount.

00093 {
00094     return MaxDstRegCount;
00095 }

int Alpha64Info::GetMaxMemoryAccessByteSize (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

Alpha64Info.cpp102 行で定義されています。

参照先 MAX_MEMORY_ACCESS_WIDTH.

00103 {
00104     return MAX_MEMORY_ACCESS_WIDTH;
00105 }

int Alpha64Info::GetMaxOpInfoCountPerPC (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

Alpha64Info.cpp97 行で定義されています。

参照先 Onikiri::AlphaLinux::Alpha64ConverterTraits::MaxOpInfoDefs.

00098 {
00099     return Alpha64ConverterTraits::MaxOpInfoDefs;
00100 }

int Alpha64Info::GetMaxSrcRegCount (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

Alpha64Info.cpp87 行で定義されています。

参照先 MaxSrcRegCount.

00088 {
00089     return MaxSrcRegCount;
00090 }

int Alpha64Info::GetRegisterCount (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

Alpha64Info.cpp77 行で定義されています。

参照先 RegisterCount.

00078 {
00079     return RegisterCount;
00080 }

int Alpha64Info::GetRegisterSegmentCount (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

Alpha64Info.cpp62 行で定義されています。

00063 {
00064     return 4; // INT/FP/Address(for micro op)/FPCR
00065 }

int Alpha64Info::GetRegisterSegmentID ( int  regNum  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

Alpha64Info.cpp45 行で定義されています。

参照先 ASSERTRegisterCount.

00046 {
00047     const int segmentRange[] = {
00048          0,     // Int
00049         32,     // FP
00050         64,     // Address
00051         65,     // FPCR
00052         66      // +1
00053     };
00054     const int nElems = sizeof(segmentRange)/sizeof(segmentRange[0]);
00055 
00056     ASSERT(0 <= regNum && regNum < RegisterCount, "regNum out of bound");
00057     ASSERT(segmentRange[nElems-1] == RegisterCount);
00058 
00059     return static_cast<int>( upper_bound(segmentRange, segmentRange+nElems, regNum) - segmentRange ) - 1;
00060 }

int Alpha64Info::GetRegisterWordBitSize (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

Alpha64Info.cpp72 行で定義されています。

00073 {
00074     return 64;
00075 }

bool Alpha64Info::IsLittleEndian (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

Alpha64Info.cpp107 行で定義されています。

00108 {
00109     return true;
00110 }


変数

const int Onikiri::AlphaLinux::Alpha64Info::InstructionWordBitSize = 32 [static]

Alpha64Info.h44 行で定義されています。

参照元 GetInstructionWordBitSize().

const int Onikiri::AlphaLinux::Alpha64Info::MAX_MEMORY_ACCESS_WIDTH = 8 [static]

Alpha64Info.h57 行で定義されています。

参照元 GetMaxMemoryAccessByteSize().

const int Onikiri::AlphaLinux::Alpha64Info::MaxDstRegCount = 2 [static]

Alpha64Info.h46 行で定義されています。

参照元 GetMaxDstRegCount().

const int Onikiri::AlphaLinux::Alpha64Info::MaxImmCount = 2 [static]

Alpha64Info.h47 行で定義されています。

const int Onikiri::AlphaLinux::Alpha64Info::MaxSrcRegCount = 3 [static]

Alpha64Info.h45 行で定義されています。

参照元 GetMaxSrcRegCount().

const int Onikiri::AlphaLinux::Alpha64Info::REG_ADDRESS = 64 [static]

Alpha64Info.h54 行で定義されています。

const int Onikiri::AlphaLinux::Alpha64Info::REG_FPCR = 65 [static]

Alpha64Info.h55 行で定義されています。

const int Onikiri::AlphaLinux::Alpha64Info::RegisterCount = 32+32+1+1 [static]

Alpha64Info.h52 行で定義されています。

参照元 GetRegisterCount()GetRegisterSegmentID().


このクラスの説明は次のファイルから生成されました:
Onikiri2に対してTue Jun 18 15:24:22 2013に生成されました。  doxygen 1.4.7