X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fdisassembler%2FBasicBlock.hxx;h=b3e5a89d819cfbd74c5b375919eba6dcccd7e09a;hp=22a31e097e2469a2adc1b298af41b46a1f97648c;hb=64cdefa8eebaedef3a852b061d4df431b7e6c654;hpb=2a014774e29e324bc5b5f26143d0384351738ca1 diff --git a/src/disassembler/BasicBlock.hxx b/src/disassembler/BasicBlock.hxx index 22a31e0..b3e5a89 100644 --- a/src/disassembler/BasicBlock.hxx +++ b/src/disassembler/BasicBlock.hxx @@ -1,8 +1,54 @@ +#ifndef INCLUDE__BasicBlock_hxx +#define INCLUDE__BasicBlock_hxx +#include +#include +#include class BasicBlock { public: + BasicBlock() { + next_blocks[0] = 0; + next_blocks[1] = 0; + } + + uint64_t getStartAddress() const { + return start_address; + } + + uint64_t getEndAddress() const { + return end_address; + } + + uint64_t getNextBlock(size_t index) const { + assert(index < 2); + return next_blocks[index]; + } + + void setNextBlock(size_t index, uint64_t address) { + assert(index < 2); + next_blocks[index] = address; + } + + void setStartAddress(uint64_t address) { + start_address = address; + } + + void setEndAddress(uint64_t address) { + end_address = address; + } + + std::string getName() { + std::stringstream s; + s << "BLOCK_" << std::hex << start_address << '_' << end_address; + return s.str(); + } private: + uint64_t start_address; + uint64_t end_address; + uint64_t next_blocks[2]; }; + +#endif