ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
stores a bit vector More...
#include <Instruction.h>
Public Member Functions | |
BitArray (const super &a) | |
unsigned | byteCount () const |
unsigned | intCount () const |
void | set_value (size_type width, unsigned long value) |
change the value the object is holding More... | |
void | set_value (unsigned long value) |
BitArray | get_range (size_type end, size_type start) const |
get the interval [end, start] More... | |
void | set_range (unsigned long val, size_type end, size_type start) |
set the value to the interval [end, start] More... | |
std::string | to_string () const |
string representation of the BitArray More... | |
Static Public Member Functions | |
static std::vector< BitArray > | permutate (const BitArray &input, std::vector< size_type > indexes) |
permutates the given input at the specified indexes. More... | |
Private Types | |
typedef boost::dynamic_bitset | super |
stores a bit vector
Definition at line 160 of file Instruction.h.
|
private |
Definition at line 163 of file Instruction.h.
|
inline |
Definition at line 166 of file Instruction.h.
unsigned etiss::instr::BitArray::byteCount | ( | ) | const |
Definition at line 134 of file Instruction.cpp.
Referenced by RV32IMACFDArch::initInstrSet(), RV64IMACFDArch::initInstrSet(), and etiss::Translation::translateBlock().
get the interval [end, start]
Definition at line 172 of file Instruction.cpp.
Referenced by etiss::instr::InstructionSet::compile(), etiss::instr::BitArrayRange::read(), and etiss::instr::InstructionSet::resolve().
unsigned etiss::instr::BitArray::intCount | ( | ) | const |
Definition at line 140 of file Instruction.cpp.
Referenced by etiss::CPUArch::compensateEndianess(), etiss::Translation::disasm(), and etiss::Translation::translateBlock().
|
static |
permutates the given input at the specified indexes.
Ex: the bit array of 0101 with indexes 1 and 3 will be permutated to 0101, 0111, 1101, 1111
Definition at line 147 of file Instruction.cpp.
References get_metrics::results.
Referenced by etiss::instr::InstructionSet::compile().
set the value to the interval [end, start]
Definition at line 181 of file Instruction.cpp.
Referenced by etiss::instr::BitArrayRange::write().
void etiss::instr::BitArray::set_value | ( | size_type | width, |
unsigned long | value | ||
) |
change the value the object is holding
Definition at line 163 of file Instruction.cpp.
References b.
Referenced by etiss::CPUArch::compensateEndianess(), etiss::Translation::disasm(), set_value(), and etiss::Translation::translateBlock().
void etiss::instr::BitArray::set_value | ( | unsigned long | value | ) |
Definition at line 168 of file Instruction.cpp.
References set_value().
std::string etiss::instr::BitArray::to_string | ( | ) | const |