SYMBOL INDEX (1775 symbols across 328 files) FILE: cmake/dummy.c function dummy (line 1) | int dummy() { return 42; } FILE: cmake/llvm/rename_object.py function eprint (line 14) | def eprint(*args, **kwargs): function listArchs (line 17) | def listArchs(archive): function extractArch (line 31) | def extractArch(archive, arch, path): function extractObjs (line 43) | def extractObjs(archive, path): function archiveObjs (line 53) | def archiveObjs(archive, path): function mergeArch (line 65) | def mergeArch(archives, outpath): function rename_object (line 77) | def rename_object(archive, ofname, suffix="", remove=False): FILE: docs/rtd_pyqbdi_artifact/setup.py function do_get_request (line 25) | def do_get_request(path, params={}, headers={}, retry=10, retry_sleep=1,... function get_workflow_id (line 42) | def get_workflow_id(name): function get_last_workflow_run (line 61) | def get_last_workflow_run(ident, artifact_name, branch=None, commit_hash... function get_artifact (line 101) | def get_artifact(run_id, artifact_name, check=False): function download_wheel (line 121) | def download_wheel(artifact): function install_wheel (line 137) | def install_wheel(wheelname, wheeldata): function check_installation (line 147) | def check_installation(): function install_pyqbdi (line 151) | def install_pyqbdi(): FILE: docs/source/conf.py function extract_version (line 24) | def extract_version(cmakefile): FILE: examples/c/fibonacci.c function fibonacci (line 8) | int fibonacci(int n) { function VMAction (line 14) | VMAction showInstruction(VMInstanceRef vm, GPRState *gprState, function VMAction (line 27) | VMAction countIteration(VMInstanceRef vm, GPRState *gprState, function main (line 36) | int main(int argc, char **argv) { FILE: examples/c/tracer_preload.c function VMAction (line 6) | static VMAction onInstruction(VMInstanceRef vm, GPRState *gprState, function qbdipreload_on_start (line 15) | int qbdipreload_on_start(void *main) { function qbdipreload_on_premain (line 24) | int qbdipreload_on_premain(void *gprCtx, void *fpuCtx) { function qbdipreload_on_main (line 28) | int qbdipreload_on_main(int argc, char **argv) { function qbdipreload_on_run (line 32) | int qbdipreload_on_run(VMInstanceRef vm, rword start, rword stop) { function qbdipreload_on_exit (line 38) | int qbdipreload_on_exit(int status) { return QBDIPRELOAD_NO_ERROR; } FILE: examples/cpp/fibonacci.cpp function fibonacci (line 10) | int fibonacci(int n) { function showInstruction (line 16) | QBDI::VMAction showInstruction(QBDI::VM *vm, QBDI::GPRState *gprState, function countIteration (line 29) | QBDI::VMAction countIteration(QBDI::VM *vm, QBDI::GPRState *gprState, function main (line 38) | int main(int argc, char **argv) { FILE: examples/cpp/tracer_preload.cpp function onInstruction (line 6) | static QBDI::VMAction onInstruction(QBDI::VMInstanceRef vm, function qbdipreload_on_start (line 21) | int qbdipreload_on_start(void *main) { function qbdipreload_on_premain (line 30) | int qbdipreload_on_premain(void *gprCtx, void *fpuCtx) { function qbdipreload_on_main (line 34) | int qbdipreload_on_main(int argc, char **argv) { function qbdipreload_on_run (line 38) | int qbdipreload_on_run(QBDI::VMInstanceRef vm, QBDI::rword start, function qbdipreload_on_exit (line 45) | int qbdipreload_on_exit(int status) { return QBDIPRELOAD_NO_ERROR; } FILE: examples/cryptolock.c function QBDI_NOINLINE (line 9) | QBDI_NOINLINE void hashPassword(char *hash, const char *password) { function QBDI_NOINLINE (line 25) | QBDI_NOINLINE const char *getSecret(const char *password) { function QBDI_NOINLINE (line 34) | QBDI_NOINLINE const char *cryptolock(const char *password) { function VMAction (line 54) | VMAction onwrite(VMInstanceRef vm, GPRState *gprState, FPRState *fprState, function main (line 86) | int main(int argc, char **argv) { FILE: examples/cryptolock.cpp function QBDI_NOINLINE (line 8) | QBDI_NOINLINE void hashPassword(char *hash, const char *password) { function QBDI_NOINLINE (line 23) | QBDI_NOINLINE const char *getSecret(const char *password) { function QBDI_NOINLINE (line 31) | QBDI_NOINLINE const char *cryptolock(const char *password) { function onwrite (line 50) | QBDI::VMAction onwrite(QBDI::VMInstanceRef vm, QBDI::GPRState *gprState, function main (line 80) | int main(int argc, char **argv) { FILE: examples/mnemonicFilter.cpp function HW (line 13) | int HW(void) { function CBMnemonic (line 21) | QBDI::VMAction CBMnemonic(QBDI::VMInstanceRef vm, QBDI::GPRState *gprState, function main (line 29) | int main(int argc, char **argv) { FILE: examples/modules.c function main (line 6) | int main(int argc, char **argv) { FILE: examples/modules.cpp function main (line 5) | int main(int argc, char **argv) { FILE: examples/pyqbdi/coverage.py class CovModule (line 8) | class CovModule: method __init__ (line 11) | def __init__(self, module): method append (line 16) | def append(self, module): function get_modules (line 24) | def get_modules(): function writeCoverage (line 43) | def writeCoverage(stats): function vmCB (line 75) | def vmCB(vm, evt, gpr, fpr, data): function pyqbdipreload_on_run (line 83) | def pyqbdipreload_on_run(vm, start, stop): FILE: examples/pyqbdi/trace_preload.py function showInstruction (line 5) | def showInstruction(vm, gpr, fpr, data): function pyqbdipreload_on_run (line 11) | def pyqbdipreload_on_run(vm, start, stop): FILE: examples/pyqbdi/trace_sin.py function insnCB (line 9) | def insnCB(vm, gpr, fpr, data): function run (line 15) | def run(): FILE: examples/thedude.c function stripLF (line 10) | void stripLF(char *s) { function QBDI_NOINLINE (line 17) | QBDI_NOINLINE uint64_t magicPow(uint64_t n, uint64_t e) { function QBDI_NOINLINE (line 27) | QBDI_NOINLINE uint64_t magicHash(char *secret) { function QBDI_NOINLINE (line 42) | QBDI_NOINLINE int thedude() { function VMAction (line 69) | VMAction count(VMInstanceRef vm, GPRState *gprState, FPRState *fprState, function main (line 88) | int main(int argc, char **argv) { FILE: examples/thedude.cpp function QBDI_NOINLINE (line 11) | QBDI_NOINLINE uint64_t magicPow(uint64_t n, uint64_t e) { function QBDI_NOINLINE (line 21) | QBDI_NOINLINE uint64_t magicHash(const char *secret) { function QBDI_NOINLINE (line 36) | QBDI_NOINLINE int thedude() { function count (line 59) | QBDI::VMAction count(QBDI::VMInstanceRef vm, QBDI::GPRState *gprState, function main (line 78) | int main(int argc, char **argv) { FILE: include/QBDI/Bitmask.h function namespace (line 24) | namespace QBDI { FILE: include/QBDI/Callback.h type VMAction (line 34) | typedef enum { type VMInstance (line 76) | typedef VMInstance *VMInstanceRef; type VMAction (line 94) | typedef VMAction (*InstCallback)(VMInstanceRef vm, GPRState *gprState, type std (line 110) | typedef std::function range, Permission permission, std::string name) FILE: include/QBDI/PtrAuth.h function namespace (line 24) | namespace QBDI { function namespace (line 38) | namespace QBDI { function namespace (line 72) | namespace QBDI { FILE: include/QBDI/Range.h function namespace (line 27) | namespace QBDI { function operator (line 94) | bool operator==(const Range &r) const { function contains (line 104) | bool contains(const T t) const { return (start() <= t) && (t < end()); } function contains (line 112) | bool contains(const Range &r) const { function overlaps (line 123) | bool overlaps(const Range &r) const { function display (line 131) | void display(std::ostream &os) const { function T (line 164) | T size() const { function Range (line 172) | const Range *getElementRange(const T &t) const { function contains (line 183) | bool contains(const T &t) const { return getElementRange(t) != nullptr; } function contains (line 185) | bool contains(const Range &t) const { function overlaps (line 199) | bool overlaps(const Range &t) const { function add (line 213) | void add(const Range &t) { function add (line 261) | void add(const RangeSet &t) { function clear (line 375) | void clear() { ranges.clear(); } function display (line 377) | void display(std::ostream &os) const { FILE: include/QBDI/VM.h function namespace (line 38) | namespace QBDI { FILE: include/QBDI/VM_C.h function namespace (line 33) | namespace QBDI { FILE: include/QBDI/arch/AARCH64/Options.h function namespace (line 27) | namespace QBDI { FILE: include/QBDI/arch/AARCH64/State.h function namespace (line 37) | namespace QBDI { FILE: include/QBDI/arch/ARM/Options.h function namespace (line 27) | namespace QBDI { FILE: include/QBDI/arch/ARM/State.h function namespace (line 37) | namespace QBDI { FILE: include/QBDI/arch/X86/Options.h function namespace (line 27) | namespace QBDI { FILE: include/QBDI/arch/X86/State.h function namespace (line 33) | namespace QBDI { FILE: include/QBDI/arch/X86_64/Options.h function namespace (line 27) | namespace QBDI { FILE: include/QBDI/arch/X86_64/State.h function namespace (line 33) | namespace QBDI { FILE: setup.py function detect_QBDI_platform (line 35) | def detect_QBDI_platform(): class CMakeExtension (line 84) | class CMakeExtension(Extension): method __init__ (line 85) | def __init__(self, name, sourcedir=''): class CMakeBuild (line 89) | class CMakeBuild(build_ext): method build_extension (line 91) | def build_extension(self, ext): FILE: src/Engine/Engine.cpp type QBDI (line 50) | namespace QBDI { function Engine (line 111) | Engine &Engine::operator=(const Engine &other) { function GPRState (line 194) | GPRState *Engine::getGPRState() const { return curGPRState; } function FPRState (line 196) | FPRState *Engine::getFPRState() const { return curFPRState; } FILE: src/Engine/Engine.h function namespace (line 35) | namespace QBDI { FILE: src/Engine/LLVMCPU.cpp type QBDI (line 57) | namespace QBDI { FILE: src/Engine/LLVMCPU.h function namespace (line 33) | namespace llvm { function namespace (line 49) | namespace QBDI { function hasOptions (line 116) | bool hasOptions(Options opts) const { return (getOptions() & opts) == op... function class (line 123) | class LLVMCPUs { FILE: src/Engine/VM.cpp function warmConflictPriority (line 56) | inline void warmConflictPriority(int priority) { function VMAction (line 67) | VMAction memReadGate(VMInstanceRef vm, GPRState *gprState, FPRState *fpr... function VMAction (line 97) | VMAction memWriteGate(VMInstanceRef vm, GPRState *gprState, FPRState *fp... function InstrCBGateC (line 137) | std::vector function VMAction (line 145) | VMAction VMCBLambdaProxy(VMInstanceRef vm, const VMState *vmState, function VMAction (line 151) | VMAction InstCBLambdaProxy(VMInstanceRef vm, GPRState *gprState, function InstrRuleCBLambdaProxy (line 157) | std::vector function VMAction (line 163) | VMAction stopCallback(VMInstanceRef vm, GPRState *gprState, FPRState *fp... function VM (line 204) | VM &VM::operator=(VM &&vm) { function VM (line 286) | VM &VM::operator=(const VM &vm) { function GPRState (line 355) | GPRState *VM::getGPRState() const { return engine->getGPRState(); } function FPRState (line 359) | FPRState *VM::getFPRState() const { return engine->getFPRState(); } function Options (line 377) | Options VM::getOptions() const { return engine->getOptions(); } function QBDI_REQUIRE_ACTION (line 734) | QBDI_REQUIRE_ACTION(start < end, return VMError::INVALID_EVENTID); function QBDI_REQUIRE_ACTION (line 856) | QBDI_REQUIRE_ACTION(id < EVENTID_VIRTCB_MASK, function InstAnalysis (line 957) | const InstAnalysis *VM::getInstAnalysis(AnalysisType type) const { function InstAnalysis (line 966) | const InstAnalysis *VM::getCachedInstAnalysis(rword address, function InstAnalysis (line 972) | const InstAnalysis *VM::getJITInstAnalysis(rword jitAddress, FILE: src/Engine/VM_C.cpp type QBDI (line 33) | namespace QBDI { function qbdi_initVM (line 35) | void qbdi_initVM(VMInstanceRef *instance, const char *cpu, const char ... function qbdi_terminateVM (line 56) | void qbdi_terminateVM(VMInstanceRef instance) { function qbdi_addInstrumentedRange (line 61) | void qbdi_addInstrumentedRange(VMInstanceRef instance, rword start, rw... function qbdi_addInstrumentedModule (line 66) | bool qbdi_addInstrumentedModule(VMInstanceRef instance, const char *na... function qbdi_addInstrumentedModuleFromAddr (line 71) | bool qbdi_addInstrumentedModuleFromAddr(VMInstanceRef instance, rword ... function qbdi_instrumentAllExecutableMaps (line 76) | bool qbdi_instrumentAllExecutableMaps(VMInstanceRef instance) { function qbdi_removeInstrumentedRange (line 81) | void qbdi_removeInstrumentedRange(VMInstanceRef instance, rword start, function qbdi_removeAllInstrumentedRanges (line 87) | void qbdi_removeAllInstrumentedRanges(VMInstanceRef instance) { function qbdi_removeInstrumentedModule (line 92) | bool qbdi_removeInstrumentedModule(VMInstanceRef instance, const char ... function qbdi_removeInstrumentedModuleFromAddr (line 98) | bool qbdi_removeInstrumentedModuleFromAddr(VMInstanceRef instance, rwo... function qbdi_run (line 103) | bool qbdi_run(VMInstanceRef instance, rword start, rword stop) { function qbdi_call (line 108) | bool qbdi_call(VMInstanceRef instance, rword *retval, rword function, function qbdi_callV (line 118) | bool qbdi_callV(VMInstanceRef instance, rword *retval, rword function, function qbdi_callA (line 124) | bool qbdi_callA(VMInstanceRef instance, rword *retval, rword function, function qbdi_switchStackAndCall (line 130) | bool qbdi_switchStackAndCall(VMInstanceRef instance, rword *retval, function qbdi_switchStackAndCallV (line 142) | bool qbdi_switchStackAndCallV(VMInstanceRef instance, rword *retval, function qbdi_switchStackAndCallA (line 150) | bool qbdi_switchStackAndCallA(VMInstanceRef instance, rword *retval, function GPRState (line 158) | GPRState *qbdi_getGPRState(VMInstanceRef instance) { function FPRState (line 163) | FPRState *qbdi_getFPRState(VMInstanceRef instance) { function qbdi_getErrno (line 168) | uint32_t qbdi_getErrno(VMInstanceRef instance) { function qbdi_setGPRState (line 173) | void qbdi_setGPRState(VMInstanceRef instance, GPRState *gprState) { function qbdi_setFPRState (line 178) | void qbdi_setFPRState(VMInstanceRef instance, FPRState *fprState) { function qbdi_setErrno (line 183) | void qbdi_setErrno(VMInstanceRef instance, uint32_t backupErrno) { function Options (line 188) | Options qbdi_getOptions(VMInstanceRef instance) { function qbdi_setOptions (line 193) | void qbdi_setOptions(VMInstanceRef instance, Options options) { function qbdi_addMnemonicCB (line 198) | uint32_t qbdi_addMnemonicCB(VMInstanceRef instance, const char *mnemonic, function qbdi_addCodeCB (line 206) | uint32_t qbdi_addCodeCB(VMInstanceRef instance, InstPosition pos, function qbdi_addCodeAddrCB (line 212) | uint32_t qbdi_addCodeAddrCB(VMInstanceRef instance, rword address, function qbdi_addCodeRangeCB (line 220) | uint32_t qbdi_addCodeRangeCB(VMInstanceRef instance, rword start, rwor... function qbdi_addMemAccessCB (line 228) | uint32_t qbdi_addMemAccessCB(VMInstanceRef instance, MemoryAccessType ... function qbdi_addMemAddrCB (line 234) | uint32_t qbdi_addMemAddrCB(VMInstanceRef instance, rword address, function qbdi_addMemRangeCB (line 241) | uint32_t qbdi_addMemRangeCB(VMInstanceRef instance, rword start, rword... function qbdi_addVMEventCB (line 249) | uint32_t qbdi_addVMEventCB(VMInstanceRef instance, VMEvent mask, VMCal... function qbdi_deleteInstrumentation (line 255) | bool qbdi_deleteInstrumentation(VMInstanceRef instance, uint32_t id) { function qbdi_deleteAllInstrumentations (line 260) | void qbdi_deleteAllInstrumentations(VMInstanceRef instance) { function InstAnalysis (line 265) | const InstAnalysis *qbdi_getInstAnalysis(const VMInstanceRef instance, function InstAnalysis (line 271) | const InstAnalysis *qbdi_getCachedInstAnalysis(const VMInstanceRef ins... function InstAnalysis (line 279) | const InstAnalysis *qbdi_getJITInstAnalysis(const VMInstanceRef instance, function qbdi_recordMemoryAccess (line 285) | bool qbdi_recordMemoryAccess(VMInstanceRef instance, MemoryAccessType ... function MemoryAccess (line 290) | MemoryAccess *qbdi_getInstMemoryAccess(VMInstanceRef instance, size_t ... function MemoryAccess (line 310) | MemoryAccess *qbdi_getBBMemoryAccess(VMInstanceRef instance, size_t *s... function qbdi_precacheBasicBlock (line 330) | bool qbdi_precacheBasicBlock(VMInstanceRef instance, rword pc) { function qbdi_clearAllCache (line 335) | void qbdi_clearAllCache(VMInstanceRef instance) { function qbdi_clearCache (line 339) | void qbdi_clearCache(VMInstanceRef instance, rword start, rword end) { function qbdi_getNbExecBlock (line 343) | uint32_t qbdi_getNbExecBlock(VMInstanceRef instance) { function qbdi_reduceCacheTo (line 347) | void qbdi_reduceCacheTo(VMInstanceRef instance, uint32_t nb) { function qbdi_addInstrRule (line 351) | uint32_t qbdi_addInstrRule(VMInstanceRef instance, InstrRuleCallbackC ... function qbdi_addInstrRuleRange (line 357) | uint32_t qbdi_addInstrRuleRange(VMInstanceRef instance, rword start, r... function qbdi_addInstrRuleData (line 365) | void qbdi_addInstrRuleData(InstrRuleDataVec cbks, InstPosition position, FILE: src/Engine/VM_internal.h function namespace (line 23) | namespace QBDI { FILE: src/ExecBlock/AARCH64/Context_AARCH64.h function namespace (line 23) | namespace QBDI { FILE: src/ExecBlock/AARCH64/ExecBlock_AARCH64.cpp type QBDI (line 44) | namespace QBDI { FILE: src/ExecBlock/AARCH64/ScratchRegisterInfo_AARCH64.h function namespace (line 25) | namespace QBDI { FILE: src/ExecBlock/ARM/Context_ARM.h function namespace (line 23) | namespace QBDI { FILE: src/ExecBlock/ARM/ExecBlock_ARM.cpp type QBDI (line 36) | namespace QBDI { FILE: src/ExecBlock/ARM/ScratchRegisterInfo_ARM.h function namespace (line 23) | namespace QBDI { FILE: src/ExecBlock/Context.h function namespace (line 23) | namespace QBDI { FILE: src/ExecBlock/ExecBlock.cpp type QBDI (line 48) | namespace QBDI { function VMAction (line 195) | VMAction ExecBlock::execute() { function SeqWriteResult (line 363) | SeqWriteResult function rword (line 571) | rword ExecBlock::getShadow(uint16_t id) const { function rword (line 578) | rword ExecBlock::getShadowOffset(uint16_t id) const { function InstMetadata (line 594) | const InstMetadata &ExecBlock::getInstMetadata(uint16_t instID) const { function rword (line 599) | rword ExecBlock::getInstAddress(uint16_t instID) const { function rword (line 604) | rword ExecBlock::getInstInstrumentedAddress(uint16_t instID) const { function InstAnalysis (line 615) | const InstAnalysis *ExecBlock::getInstAnalysis(uint16_t instID, function LLVMCPU (line 761) | const LLVMCPU &ExecBlock::getLLVMCPUByInst(uint16_t instID) const { FILE: src/ExecBlock/ExecBlock.h function namespace (line 46) | namespace llvm { function namespace (line 50) | namespace QBDI { FILE: src/ExecBlock/ExecBlockManager.cpp type QBDI (line 33) | namespace QBDI { function rword (line 37) | inline rword getExecRegionKey(rword address, CPUMode cpumode) { function ExecBlock (line 114) | ExecBlock *ExecBlockManager::getProgrammedExecBlock(rword address, function ExecBlock (line 175) | const ExecBlock *ExecBlockManager::getExecBlock(rword address, FILE: src/ExecBlock/ExecBlockManager.h function namespace (line 34) | namespace QBDI { FILE: src/ExecBlock/X86_64/Context_X86_64.h function namespace (line 23) | namespace QBDI { FILE: src/ExecBlock/X86_64/ExecBlock_X86_64.cpp type QBDI (line 46) | namespace QBDI { FILE: src/ExecBlock/X86_64/ScratchRegisterInfo_X86_64.h function namespace (line 21) | namespace QBDI { FILE: src/ExecBroker/AARCH64/ExecBroker_AARCH64.cpp type QBDI (line 31) | namespace QBDI { function rword (line 145) | rword *ExecBroker::getReturnPoint(GPRState *gprState) const { FILE: src/ExecBroker/AARCH64/ExecBroker_AARCH64.h function namespace (line 23) | namespace QBDI { FILE: src/ExecBroker/ARM/ExecBroker_ARM.cpp type QBDI (line 25) | namespace QBDI { function rword (line 29) | rword *ExecBroker::getReturnPoint(GPRState *gprState) const { FILE: src/ExecBroker/ARM/ExecBroker_ARM.h function namespace (line 21) | namespace QBDI { FILE: src/ExecBroker/ExecBroker.cpp type QBDI (line 27) | namespace QBDI { FILE: src/ExecBroker/ExecBroker.h function namespace (line 44) | namespace QBDI { FILE: src/ExecBroker/X86_64/ExecBroker_X86_64.cpp type QBDI (line 28) | namespace QBDI { class LLVMCPUs (line 29) | class LLVMCPUs function rword (line 33) | rword *ExecBroker::getReturnPoint(GPRState *gprState) const { FILE: src/ExecBroker/X86_64/ExecBroker_X86_64.h function namespace (line 21) | namespace QBDI { FILE: src/Patch/AARCH64/ExecBlockFlags_AARCH64.cpp type QBDI (line 21) | namespace QBDI { function getExecBlockFlags (line 25) | uint8_t getExecBlockFlags(const llvm::MCInst &inst, FILE: src/Patch/AARCH64/ExecBlockFlags_AARCH64.h function namespace (line 23) | namespace QBDI { FILE: src/Patch/AARCH64/ExecBlockPatch_AARCH64.cpp type QBDI (line 33) | namespace QBDI { function getExecBlockPrologue (line 35) | RelocatableInst::UniquePtrVec getExecBlockPrologue(const LLVMCPU &llvm... function getExecBlockEpilogue (line 119) | RelocatableInst::UniquePtrVec getExecBlockEpilogue(const LLVMCPU &llvm... function getTerminator (line 210) | RelocatableInst::UniquePtrVec getTerminator(const LLVMCPU &llvmcpu, function changeScratchRegister (line 226) | RelocatableInst::UniquePtrVec FILE: src/Patch/AARCH64/ExecBlockPatch_AARCH64.h function namespace (line 27) | namespace QBDI { FILE: src/Patch/AARCH64/InstInfo_AARCH64.cpp type QBDI (line 38) | namespace QBDI { function READ (line 1707) | constexpr uint32_t READ(uint32_t s, uint32_t p) { return (s * p) & 0x3... function WRITE (line 1708) | constexpr uint32_t WRITE(uint32_t s, uint32_t p) { function GET_READ_SIZE (line 1711) | constexpr uint32_t GET_READ_SIZE(uint32_t v) { return v & 0x3ff; } function GET_WRITE_SIZE (line 1712) | constexpr uint32_t GET_WRITE_SIZE(uint32_t v) { function IS_READ_DYN (line 1715) | constexpr uint32_t IS_READ_DYN(uint32_t v) { return (v >> READ_DYN_FLA... function IS_WRITE_DYN (line 1716) | constexpr uint32_t IS_WRITE_DYN(uint32_t v) { type MemAccessArray (line 1720) | struct MemAccessArray { method _initMemAccessRead (line 1723) | constexpr inline void _initMemAccessRead(const unsigned buff[], method _initMemAccessWrite (line 1731) | constexpr inline void _initMemAccessWrite(const unsigned buff[], method _initMemAccessFlags (line 1739) | constexpr inline void _initMemAccessFlags(const unsigned buff[], method MemAccessArray (line 1747) | constexpr MemAccessArray() { method check_table (line 1799) | void check_table(const unsigned buff[], const size_t buffSize, uint3... method check (line 1813) | int check() const { method get (line 1887) | inline uint32_t get(size_t op) const { function getReadSize (line 1904) | unsigned getReadSize(const llvm::MCInst &inst, const LLVMCPU &llvmcpu) { function getWriteSize (line 1908) | unsigned getWriteSize(const llvm::MCInst &inst, const LLVMCPU &llvmcpu) { function getInstSize (line 1912) | unsigned getInstSize(const llvm::MCInst &inst, const LLVMCPU &llvmcpu) { function sword (line 1916) | sword getFixedOperandValue(const llvm::MCInst &inst, const LLVMCPU &ll... function getImmediateSize (line 1921) | unsigned getImmediateSize(const llvm::MCInst &inst, const LLVMCPU &llv... function unsupportedRead (line 1926) | bool unsupportedRead(const llvm::MCInst &inst) { function unsupportedWrite (line 1930) | bool unsupportedWrite(const llvm::MCInst &inst) { function variadicOpsIsWrite (line 1934) | bool variadicOpsIsWrite(const llvm::MCInst &inst) { return false; } function isMOPSPrologue (line 1936) | bool isMOPSPrologue(const llvm::MCInst &inst) { FILE: src/Patch/AARCH64/InstInfo_AARCH64.h function namespace (line 21) | namespace llvm { function namespace (line 25) | namespace QBDI { FILE: src/Patch/AARCH64/InstMetadata_AARCH64.h function namespace (line 21) | namespace QBDI { FILE: src/Patch/AARCH64/InstrRules_AARCH64.cpp type QBDI (line 32) | namespace QBDI { function getBreakToHost (line 38) | RelocatableInst::UniquePtrVec getBreakToHost(Reg temp, const Patch &pa... FILE: src/Patch/AARCH64/Layer2_AARCH64.cpp type QBDI (line 28) | namespace QBDI { function format_as (line 30) | unsigned format_as(ShiftExtendType type) { return fmt::underlying(type... function st1_post_inc (line 32) | llvm::MCInst st1_post_inc(RegLLVM regs, RegLLVM base) { function ld1_post_inc (line 42) | llvm::MCInst ld1_post_inc(RegLLVM regs, RegLLVM base) { function addr (line 52) | llvm::MCInst addr(RegLLVM dst, RegLLVM src) { return addr(dst, dst, sr... function addr (line 54) | llvm::MCInst addr(RegLLVM dst, RegLLVM src1, RegLLVM src2) { function addr (line 74) | llvm::MCInst addr(RegLLVM dst, RegLLVM src1, RegLLVM src2, ShiftExtend... function addri (line 124) | llvm::MCInst addri(RegLLVM dst, RegLLVM src, rword offset) { function subr (line 143) | llvm::MCInst subr(RegLLVM dst, RegLLVM src) { return subr(dst, dst, sr... function subr (line 145) | llvm::MCInst subr(RegLLVM dst, RegLLVM src1, RegLLVM src2) { function subri (line 167) | llvm::MCInst subri(RegLLVM dst, RegLLVM src, rword offset) { function br (line 186) | llvm::MCInst br(RegLLVM reg) { function blr (line 193) | llvm::MCInst blr(RegLLVM reg) { function branch (line 200) | llvm::MCInst branch(rword offset) { function cbz (line 207) | llvm::MCInst cbz(RegLLVM reg, sword offset) { function ret (line 221) | llvm::MCInst ret(RegLLVM reg) { function adr (line 228) | llvm::MCInst adr(RegLLVM reg, sword offset) { function adrp (line 238) | llvm::MCInst adrp(RegLLVM reg, sword offset) { function nop (line 252) | llvm::MCInst nop() { function ldr (line 259) | llvm::MCInst ldr(RegLLVM dest, RegLLVM base, rword offset) { function ldri (line 267) | llvm::MCInst ldri(RegLLVM dest, RegLLVM base, sword offset) { function ldrui (line 280) | llvm::MCInst ldrui(RegLLVM dest, RegLLVM base, rword offset) { function ldrw (line 294) | llvm::MCInst ldrw(RegLLVM dest, RegLLVM base, rword offset) { function ldrwi (line 302) | llvm::MCInst ldrwi(RegLLVM dest, RegLLVM base, sword offset) { function ldrwui (line 315) | llvm::MCInst ldrwui(RegLLVM dest, RegLLVM base, rword offset) { function ldrh (line 329) | llvm::MCInst ldrh(RegLLVM dest, RegLLVM base, rword offset) { function ldrhi (line 337) | llvm::MCInst ldrhi(RegLLVM dest, RegLLVM base, sword offset) { function ldrhui (line 350) | llvm::MCInst ldrhui(RegLLVM dest, RegLLVM base, rword offset) { function ldrb (line 364) | llvm::MCInst ldrb(RegLLVM dest, RegLLVM base, rword offset) { function ldxrb (line 377) | llvm::MCInst ldxrb(RegLLVM dest, RegLLVM addr) { function ldp (line 385) | llvm::MCInst ldp(RegLLVM dest1, RegLLVM dest2, RegLLVM base, sword off... function ldr_post_inc (line 401) | llvm::MCInst ldr_post_inc(RegLLVM dest, RegLLVM base, sword imm) { function ldp_post_inc (line 414) | llvm::MCInst ldp_post_inc(RegLLVM dest1, RegLLVM dest2, RegLLVM base, function str (line 431) | llvm::MCInst str(RegLLVM src, RegLLVM base, rword offset) { function stri (line 439) | llvm::MCInst stri(RegLLVM src, RegLLVM base, sword offset) { function strui (line 450) | llvm::MCInst strui(RegLLVM src, RegLLVM base, rword offset) { function stp (line 462) | llvm::MCInst stp(RegLLVM src1, RegLLVM src2, RegLLVM base, sword offse... function str_pre_inc (line 478) | llvm::MCInst str_pre_inc(RegLLVM reg, RegLLVM base, sword imm) { function lsl (line 491) | llvm::MCInst lsl(RegLLVM dst, RegLLVM src, size_t shift) { function lsr (line 507) | llvm::MCInst lsr(RegLLVM dst, RegLLVM src, size_t shift) { function msr (line 519) | llvm::MCInst msr(unsigned sysdst, RegLLVM src) { function mrs (line 527) | llvm::MCInst mrs(RegLLVM dst, unsigned syssrc) { function movrr (line 535) | llvm::MCInst movrr(RegLLVM dst, RegLLVM src) { function movri (line 548) | llvm::MCInst movri(RegLLVM dst, uint16_t v) { function orrrs (line 557) | llvm::MCInst orrrs(RegLLVM dst, RegLLVM src1, RegLLVM src2, unsigned l... function brk (line 567) | llvm::MCInst brk(unsigned imm) { function hint (line 574) | llvm::MCInst hint(unsigned imm) { function xpacd (line 581) | llvm::MCInst xpacd(RegLLVM reg) { function xpaci (line 589) | llvm::MCInst xpaci(RegLLVM reg) { function autia (line 597) | llvm::MCInst autia(RegLLVM reg, RegLLVM ctx) { function autib (line 606) | llvm::MCInst autib(RegLLVM reg, RegLLVM ctx) { function autiza (line 615) | llvm::MCInst autiza(RegLLVM reg) { function autizb (line 623) | llvm::MCInst autizb(RegLLVM reg) { function Ld1PostInc (line 633) | RelocatableInst::UniquePtr Ld1PostInc(RegLLVM regs, RegLLVM base) { function St1PostInc (line 637) | RelocatableInst::UniquePtr St1PostInc(RegLLVM regs, RegLLVM base) { function Add (line 641) | RelocatableInst::UniquePtr Add(RegLLVM dst, RegLLVM src, Constant val) { function Addc (line 649) | RelocatableInst::UniquePtrVec Addc(RegLLVM dst, RegLLVM src, Constant ... function Addr (line 667) | RelocatableInst::UniquePtr Addr(RegLLVM dst, RegLLVM src) { function Addr (line 671) | RelocatableInst::UniquePtr Addr(RegLLVM dst, RegLLVM src1, RegLLVM src2, function Br (line 676) | RelocatableInst::UniquePtr Br(RegLLVM reg) { return NoReloc::unique(br... function Blr (line 678) | RelocatableInst::UniquePtr Blr(RegLLVM reg) { function Cbz (line 682) | RelocatableInst::UniquePtr Cbz(RegLLVM reg, Constant offset) { function Ret (line 686) | RelocatableInst::UniquePtr Ret() { function Adr (line 690) | RelocatableInst::UniquePtr Adr(RegLLVM reg, rword offset) { function Adrp (line 694) | RelocatableInst::UniquePtr Adrp(RegLLVM reg, rword offset) { function Nop (line 701) | RelocatableInst::UniquePtr Nop() { return NoReloc::unique(nop()); } function Ldr (line 703) | RelocatableInst::UniquePtr Ldr(RegLLVM reg, RegLLVM base, rword offset) { function Ldrw (line 707) | RelocatableInst::UniquePtr Ldrw(RegLLVM reg, RegLLVM base, rword offse... function Ldrh (line 715) | RelocatableInst::UniquePtr Ldrh(RegLLVM reg, RegLLVM base, rword offse... function Ldrb (line 723) | RelocatableInst::UniquePtr Ldrb(RegLLVM reg, RegLLVM base, rword offse... function Ldr (line 731) | RelocatableInst::UniquePtr Ldr(RegLLVM reg, Offset offset) { function Ldxrb (line 735) | RelocatableInst::UniquePtr Ldxrb(RegLLVM dst, RegLLVM addr) { function LdrPost (line 743) | RelocatableInst::UniquePtr LdrPost(RegLLVM dest, RegLLVM base, Constan... function Ldp (line 747) | RelocatableInst::UniquePtr Ldp(RegLLVM dest1, RegLLVM dest2, RegLLVM b... function LdpPost (line 752) | RelocatableInst::UniquePtr LdpPost(RegLLVM dest1, RegLLVM dest2, RegLL... function Str (line 757) | RelocatableInst::UniquePtr Str(RegLLVM reg, RegLLVM base, Offset offse... function Str (line 761) | RelocatableInst::UniquePtr Str(RegLLVM reg, Offset offset) { function StrPre (line 765) | RelocatableInst::UniquePtr StrPre(RegLLVM src, RegLLVM base, Constant ... function Stp (line 769) | RelocatableInst::UniquePtr Stp(RegLLVM src1, RegLLVM src2, RegLLVM base, function Lsl (line 774) | RelocatableInst::UniquePtr Lsl(RegLLVM dst, RegLLVM src, Constant shif... function Lsr (line 778) | RelocatableInst::UniquePtr Lsr(RegLLVM dst, RegLLVM src, Constant shif... function ReadTPIDR (line 782) | RelocatableInst::UniquePtr ReadTPIDR(RegLLVM reg) { function WriteTPIDR (line 786) | RelocatableInst::UniquePtr WriteTPIDR(RegLLVM reg) { function WriteSRinTPIDR (line 790) | RelocatableInst::UniquePtr WriteSRinTPIDR() { function ReadNZCV (line 794) | RelocatableInst::UniquePtr ReadNZCV(RegLLVM reg) { function WriteNZCV (line 798) | RelocatableInst::UniquePtr WriteNZCV(RegLLVM reg) { function ReadFPCR (line 802) | RelocatableInst::UniquePtr ReadFPCR(RegLLVM reg) { function WriteFPCR (line 806) | RelocatableInst::UniquePtr WriteFPCR(RegLLVM reg) { function ReadFPSR (line 810) | RelocatableInst::UniquePtr ReadFPSR(RegLLVM reg) { function WriteFPSR (line 814) | RelocatableInst::UniquePtr WriteFPSR(RegLLVM reg) { function Mov (line 818) | RelocatableInst::UniquePtr Mov(RegLLVM dst, RegLLVM src) { function Mov (line 822) | RelocatableInst::UniquePtr Mov(RegLLVM dst, Constant constant) { function Orrs (line 826) | RelocatableInst::UniquePtr Orrs(RegLLVM dst, RegLLVM src1, RegLLVM src2, function BreakPoint (line 831) | RelocatableInst::UniquePtr BreakPoint() { return NoReloc::unique(brk(0... function BTIc (line 833) | RelocatableInst::UniquePtr BTIc() { return NoReloc::unique(hint(0x22)); } function BTIj (line 835) | RelocatableInst::UniquePtr BTIj() { return NoReloc::unique(hint(0x24)); } function Xpacd (line 837) | RelocatableInst::UniquePtr Xpacd(RegLLVM reg) { function Xpaci (line 841) | RelocatableInst::UniquePtr Xpaci(RegLLVM reg) { function Autia (line 845) | RelocatableInst::UniquePtr Autia(RegLLVM reg, RegLLVM ctx) { function Autib (line 849) | RelocatableInst::UniquePtr Autib(RegLLVM reg, RegLLVM ctx) { function Autiza (line 853) | RelocatableInst::UniquePtr Autiza(RegLLVM reg) { function Autizb (line 857) | RelocatableInst::UniquePtr Autizb(RegLLVM reg) { FILE: src/Patch/AARCH64/Layer2_AARCH64.h function namespace (line 30) | namespace QBDI { FILE: src/Patch/AARCH64/MemoryAccess_AARCH64.cpp type QBDI (line 56) | namespace QBDI { function ADDR_REGISTER_FN (line 69) | RelocatableInst::UniquePtrVec ADDR_REGISTER_FN(const Patch &patch, function ADDR_REGISTER_2_FN (line 262) | RelocatableInst::UniquePtrVec ADDR_REGISTER_2_FN(const Patch &patch, function ADDR_REGISTER_3_FN (line 643) | RelocatableInst::UniquePtrVec ADDR_REGISTER_3_FN(const Patch &patch, function ADDR_REGISTER_4_FN (line 764) | RelocatableInst::UniquePtrVec ADDR_REGISTER_4_FN(const Patch &patch, function ADDR_REGISTER_5_FN (line 815) | RelocatableInst::UniquePtrVec ADDR_REGISTER_5_FN(const Patch &patch, function ADDR_REGISTER_IMM_FN (line 824) | RelocatableInst::UniquePtrVec ADDR_REGISTER_IMM_FN(const Patch &patch, function ADDR_REGISTER_IMM_2_FN (line 914) | RelocatableInst::UniquePtrVec function ADDR_REGISTER_IMM_3_FN (line 953) | RelocatableInst::UniquePtrVec function ADDR_REGISTER_IMM_LSL_FN (line 962) | RelocatableInst::UniquePtrVec function ADDR_REGISTER_IMM_LSL_2_FN (line 1024) | RelocatableInst::UniquePtrVec function ADDR_PAC_REGISTER_IMM_LSL_FN (line 1033) | RelocatableInst::UniquePtrVec function ADDR_PAC_REGISTER_IMM_LSL_2_FN (line 1082) | RelocatableInst::UniquePtrVec function ADDR_PAC_REGISTER_IMM_LSL_3_FN (line 1101) | RelocatableInst::UniquePtrVec function ADDR_REGISTER_IMM_LSL2_FN (line 1110) | RelocatableInst::UniquePtrVec function ADDR_REGISTER_IMM_LSL2_3_FN (line 1171) | RelocatableInst::UniquePtrVec function ADDR_REGISTER_IMM_LSL2_4_FN (line 1199) | RelocatableInst::UniquePtrVec function ADDR_REGISTER_FIXIMM_LSL_FN (line 1208) | RelocatableInst::UniquePtrVec function ADDR_REGISTER_MIN1_LSL_3_FN (line 1243) | RelocatableInst::UniquePtrVec function ADDR_REGISTER_MIN1_LSL_4_FN (line 1260) | RelocatableInst::UniquePtrVec function ADDR_REGISTER_EXT_FN (line 1268) | RelocatableInst::UniquePtrVec function ADDR_REGISTER_EXT_2_FN (line 1405) | RelocatableInst::UniquePtrVec function ADDR_REGISTER_PC_FN (line 1414) | RelocatableInst::UniquePtrVec ADDR_REGISTER_PC_FN(const Patch &patch, function ADDR_REGISTER_PC_2_FN (line 1446) | RelocatableInst::UniquePtrVec type MemoryAccessInfoArray (line 1451) | struct MemoryAccessInfoArray { method addData (line 1455) | constexpr void addData(size_t index, const unsigned insts[], method MemoryAccessInfoArray (line 1463) | constexpr MemoryAccessInfoArray() { type AddressGenerator (line 1506) | struct AddressGenerator { function checkTable (line 1512) | int checkTable() { function generateAddressPatch (line 1601) | RelocatableInst::UniquePtrVec generateAddressPatch(const Patch &patch, type MemoryTag (line 1623) | enum MemoryTag : uint16_t { function getInstrRuleMemAccessRead (line 1913) | std::vector> getInstrRuleMemAccessRead() { function getInstrRuleMemAccessWrite (line 1927) | std::vector> getInstrRuleMemAccessWrite() { function analyseMemoryAccessAddrValue (line 1953) | void analyseMemoryAccessAddrValue(const ExecBlock &curExecBlock, function analyseMemoryAccess (line 2059) | void analyseMemoryAccess(const ExecBlock &curExecBlock, uint16_t instID, FILE: src/Patch/AARCH64/MemoryAccess_AARCH64.h function namespace (line 25) | namespace QBDI { FILE: src/Patch/AARCH64/PatchCondition_AARCH64.cpp type QBDI (line 24) | namespace QBDI { FILE: src/Patch/AARCH64/PatchCondition_AARCH64.h function namespace (line 23) | namespace QBDI { FILE: src/Patch/AARCH64/PatchGenerator_AARCH64.cpp type QBDI (line 39) | namespace QBDI { FILE: src/Patch/AARCH64/PatchGenerator_AARCH64.h function namespace (line 30) | namespace QBDI { FILE: src/Patch/AARCH64/PatchRuleAssembly_AARCH64.cpp type QBDI (line 33) | namespace QBDI { function getDefaultPatchRules (line 37) | std::vector getDefaultPatchRules(Options opts) { FILE: src/Patch/AARCH64/PatchRuleAssembly_AARCH64.h function namespace (line 25) | namespace QBDI { FILE: src/Patch/AARCH64/Register_AARCH64.cpp type QBDI (line 30) | namespace QBDI { function getEncodedBaseReg (line 507) | constexpr int8_t getEncodedBaseReg(unsigned reg) { type RegisterInfoArray (line 594) | struct RegisterInfoArray { method setValue (line 603) | constexpr uint16_t setValue(uint8_t size, uint8_t packed) { method RegisterInfoArray (line 607) | constexpr RegisterInfoArray() { method getSize (line 652) | inline uint8_t getSize(RegLLVM reg_) const { method getPacked (line 661) | inline uint8_t getPacked(RegLLVM reg_) const { method RegLLVM (line 670) | inline RegLLVM getUpperReg(RegLLVM reg_) const { method getGPRPos (line 706) | inline size_t getGPRPos(RegLLVM reg_) const { method RegLLVM (line 720) | inline RegLLVM getUpperBasedRegister(RegLLVM reg) const { function getRegisterSize (line 733) | uint8_t getRegisterSize(RegLLVM reg) { return arrayInfo.getSize(reg); } function getRegisterBaseOffset (line 735) | uint8_t getRegisterBaseOffset(RegLLVM reg) { return 0; } function getRegisterPacked (line 737) | uint8_t getRegisterPacked(RegLLVM reg) { return arrayInfo.getPacked(re... function getRegisterSpaced (line 739) | uint8_t getRegisterSpaced(RegLLVM reg) { return 1; } function getGPRPosition (line 741) | size_t getGPRPosition(RegLLVM reg) { return arrayInfo.getGPRPos(reg); } function RegLLVM (line 743) | RegLLVM getUpperRegister(RegLLVM reg, size_t pos) { function RegLLVM (line 792) | RegLLVM getPackedRegister(RegLLVM reg, size_t pos) { function fixLLVMUsedGPR (line 855) | void fixLLVMUsedGPR(const llvm::MCInst &inst, const LLVMCPU &llvmcpu, FILE: src/Patch/AARCH64/RelocatableInst_AARCH64.cpp type QBDI (line 25) | namespace QBDI { FILE: src/Patch/AARCH64/RelocatableInst_AARCH64.h function namespace (line 32) | namespace QBDI { FILE: src/Patch/AARCH64/TempManagerImpl_AARCH64.h function namespace (line 24) | namespace QBDI { FILE: src/Patch/AARCH64/TempManager_AARCH64.cpp type QBDI (line 27) | namespace QBDI { FILE: src/Patch/ARM/ExecBlockFlags_ARM.cpp type QBDI (line 21) | namespace QBDI { function getExecBlockFlags (line 25) | uint8_t getExecBlockFlags(const llvm::MCInst &inst, FILE: src/Patch/ARM/ExecBlockFlags_ARM.h function namespace (line 23) | namespace QBDI { FILE: src/Patch/ARM/ExecBlockPatch_ARM.cpp type QBDI (line 32) | namespace QBDI { function getExecBlockPrologue (line 34) | RelocatableInst::UniquePtrVec getExecBlockPrologue(const LLVMCPU &llvm... function getExecBlockEpilogue (line 97) | RelocatableInst::UniquePtrVec getExecBlockEpilogue(const LLVMCPU &llvm... function getTerminator (line 156) | RelocatableInst::UniquePtrVec getTerminator(const LLVMCPU &llvmcpu, function changeScratchRegister (line 181) | RelocatableInst::UniquePtrVec FILE: src/Patch/ARM/ExecBlockPatch_ARM.h function namespace (line 27) | namespace QBDI { FILE: src/Patch/ARM/InstInfo_ARM.cpp type QBDI (line 38) | namespace QBDI { function READ (line 1109) | constexpr uint32_t READ(uint32_t s) { return s & 0x3ff; } function WRITE (line 1110) | constexpr uint32_t WRITE(uint32_t s) { return (s & 0x3ff) << WRITE_POS... function GET_READ_SIZE (line 1118) | constexpr uint32_t GET_READ_SIZE(uint32_t v) { return v & 0x3ff; } function GET_WRITE_SIZE (line 1119) | constexpr uint32_t GET_WRITE_SIZE(uint32_t v) { function IS_READ_DYN (line 1122) | constexpr bool IS_READ_DYN(uint32_t v) { function IS_WRITE_DYN (line 1125) | constexpr bool IS_WRITE_DYN(uint32_t v) { function IS_UNSUPPORTED_READ (line 1128) | constexpr bool IS_UNSUPPORTED_READ(uint32_t v) { function IS_UNSUPPORTED_WRITE (line 1131) | constexpr bool IS_UNSUPPORTED_WRITE(uint32_t v) { function IS_TWO_BYTES_ENCODING (line 1134) | constexpr bool IS_TWO_BYTES_ENCODING(uint32_t v) { type MemAccessArray (line 1138) | struct MemAccessArray { method _initMemAccessRead (line 1141) | constexpr inline void _initMemAccessRead(const unsigned buff[], method _initMemAccessWrite (line 1152) | constexpr inline void _initMemAccessWrite(const unsigned buff[], method _initMemUnsupported (line 1163) | constexpr inline void _initMemUnsupported(const unsigned buff[], method _initTwoBytesEncode (line 1174) | constexpr inline void _initTwoBytesEncode(const unsigned buff[], method MemAccessArray (line 1181) | constexpr MemAccessArray() { method check_table (line 1215) | void check_table(const unsigned buff[], const size_t buffSize, uint3... method check (line 1229) | int check() const { method get (line 1266) | inline uint32_t get(size_t op) const { function getReadSize (line 1283) | unsigned getReadSize(const llvm::MCInst &inst, const LLVMCPU &llvmcpu) { function getWriteSize (line 1323) | unsigned getWriteSize(const llvm::MCInst &inst, const LLVMCPU &llvmcpu) { function getInstSize (line 1363) | unsigned getInstSize(const llvm::MCInst &inst, const LLVMCPU &llvmcpu) { function getImmediateSize (line 1372) | unsigned getImmediateSize(const llvm::MCInst &inst, const LLVMCPU &llv... function unsupportedRead (line 1377) | bool unsupportedRead(const llvm::MCInst &inst) { function unsupportedWrite (line 1381) | bool unsupportedWrite(const llvm::MCInst &inst) { function getCondition (line 1385) | unsigned getCondition(const llvm::MCInst &inst, const LLVMCPU &llvmcpu) { function variadicOpsIsWrite (line 1441) | bool variadicOpsIsWrite(const llvm::MCInst &inst) { function sword (line 1470) | sword getFixedOperandValue(const llvm::MCInst &inst, const LLVMCPU &ll... FILE: src/Patch/ARM/InstInfo_ARM.h function namespace (line 21) | namespace llvm { function namespace (line 25) | namespace QBDI { FILE: src/Patch/ARM/InstMetadata_ARM.h function namespace (line 21) | namespace QBDI { FILE: src/Patch/ARM/InstrRules_ARM.cpp type QBDI (line 32) | namespace QBDI { function getBreakToHost (line 38) | RelocatableInst::UniquePtrVec getBreakToHost(Reg temp, const Patch &pa... FILE: src/Patch/ARM/Layer2_ARM.cpp type QBDI (line 25) | namespace QBDI { function getCondReg (line 27) | static inline unsigned int getCondReg(unsigned cond) { function ldmstmCommon (line 35) | static inline void ldmstmCommon(llvm::MCInst &inst, RegLLVM base, function armExpandCompatible (line 66) | bool armExpandCompatible(rword imm) { function thumbExpandCompatible (line 70) | bool thumbExpandCompatible(rword imm) { function t2moviCompatible (line 74) | bool t2moviCompatible(rword imm) { function popr1 (line 92) | llvm::MCInst popr1(RegLLVM reg, unsigned cond) { function ldri12 (line 96) | llvm::MCInst ldri12(RegLLVM reg, RegLLVM base, sword offset) { function ldri12 (line 100) | llvm::MCInst ldri12(RegLLVM reg, RegLLVM base, sword offset, unsigned ... function ldrPost (line 115) | llvm::MCInst ldrPost(RegLLVM dst, RegLLVM src, sword offset) { function ldrPost (line 119) | llvm::MCInst ldrPost(RegLLVM dst, RegLLVM src, sword offset, unsigned ... function t2ldri8 (line 135) | llvm::MCInst t2ldri8(RegLLVM reg, RegLLVM base, sword offset) { function t2ldri8 (line 139) | llvm::MCInst t2ldri8(RegLLVM reg, RegLLVM base, sword offset, unsigned... function t2ldri12 (line 154) | llvm::MCInst t2ldri12(RegLLVM reg, RegLLVM base, sword offset) { function t2ldri12 (line 158) | llvm::MCInst t2ldri12(RegLLVM reg, RegLLVM base, sword offset, unsigne... function t2ldrPost (line 173) | llvm::MCInst t2ldrPost(RegLLVM reg, RegLLVM base, sword offset) { function t2ldrPost (line 177) | llvm::MCInst t2ldrPost(RegLLVM reg, RegLLVM base, sword offset, unsign... function t2ldrPre (line 193) | llvm::MCInst t2ldrPre(RegLLVM reg, RegLLVM base, sword offset) { function t2ldrPre (line 197) | llvm::MCInst t2ldrPre(RegLLVM reg, RegLLVM base, sword offset, unsigne... function ldrh (line 215) | llvm::MCInst ldrh(RegLLVM dst, RegLLVM src, unsigned int offset) { function ldrh (line 219) | llvm::MCInst ldrh(RegLLVM dst, RegLLVM src, unsigned int offset, function ldrhPost (line 233) | llvm::MCInst ldrhPost(RegLLVM dst, RegLLVM src) { function ldrhPost (line 237) | llvm::MCInst ldrhPost(RegLLVM dst, RegLLVM src, unsigned cond) { function t2ldrh (line 251) | llvm::MCInst t2ldrh(RegLLVM dst, RegLLVM src, unsigned int offset) { function t2ldrh (line 255) | llvm::MCInst t2ldrh(RegLLVM dst, RegLLVM src, unsigned int offset, function t2ldrhPost (line 268) | llvm::MCInst t2ldrhPost(RegLLVM dst, RegLLVM src) { function t2ldrhPost (line 272) | llvm::MCInst t2ldrhPost(RegLLVM dst, RegLLVM src, unsigned cond) { function t2ldrhr (line 285) | llvm::MCInst t2ldrhr(RegLLVM base, RegLLVM reg, RegLLVM offReg) { function t2ldrhr (line 289) | llvm::MCInst t2ldrhr(RegLLVM base, RegLLVM reg, RegLLVM offReg, unsign... function t2ldrhrs (line 293) | llvm::MCInst t2ldrhrs(RegLLVM base, RegLLVM reg, RegLLVM offReg, unsig... function t2ldrhrs (line 297) | llvm::MCInst t2ldrhrs(RegLLVM base, RegLLVM reg, RegLLVM offReg, unsig... function ldrb (line 314) | llvm::MCInst ldrb(RegLLVM dst, RegLLVM src, unsigned int offset) { function ldrb (line 318) | llvm::MCInst ldrb(RegLLVM dst, RegLLVM src, unsigned int offset, function ldrbPost (line 331) | llvm::MCInst ldrbPost(RegLLVM dst, RegLLVM src) { function ldrbPost (line 335) | llvm::MCInst ldrbPost(RegLLVM dst, RegLLVM src, unsigned cond) { function t2ldrb (line 349) | llvm::MCInst t2ldrb(RegLLVM dst, RegLLVM src, unsigned int offset) { function t2ldrb (line 353) | llvm::MCInst t2ldrb(RegLLVM dst, RegLLVM src, unsigned int offset, function t2ldrbPost (line 366) | llvm::MCInst t2ldrbPost(RegLLVM dst, RegLLVM src) { function t2ldrbPost (line 370) | llvm::MCInst t2ldrbPost(RegLLVM dst, RegLLVM src, unsigned cond) { function t2ldrbr (line 383) | llvm::MCInst t2ldrbr(RegLLVM base, RegLLVM reg, RegLLVM offReg) { function t2ldrbr (line 387) | llvm::MCInst t2ldrbr(RegLLVM base, RegLLVM reg, RegLLVM offReg, unsign... function t2ldrbrs (line 391) | llvm::MCInst t2ldrbrs(RegLLVM base, RegLLVM reg, RegLLVM offReg, unsig... function t2ldrbrs (line 395) | llvm::MCInst t2ldrbrs(RegLLVM base, RegLLVM reg, RegLLVM offReg, unsig... function ldrexb (line 412) | llvm::MCInst ldrexb(RegLLVM dest, RegLLVM reg) { function ldrexb (line 416) | llvm::MCInst ldrexb(RegLLVM dest, RegLLVM reg, unsigned cond) { function t2ldrexb (line 427) | llvm::MCInst t2ldrexb(RegLLVM dest, RegLLVM reg) { function t2ldrexb (line 431) | llvm::MCInst t2ldrexb(RegLLVM dest, RegLLVM reg, unsigned cond) { function ldrexh (line 442) | llvm::MCInst ldrexh(RegLLVM dest, RegLLVM reg) { function ldrexh (line 446) | llvm::MCInst ldrexh(RegLLVM dest, RegLLVM reg, unsigned cond) { function t2ldrexh (line 457) | llvm::MCInst t2ldrexh(RegLLVM dest, RegLLVM reg) { function t2ldrexh (line 461) | llvm::MCInst t2ldrexh(RegLLVM dest, RegLLVM reg, unsigned cond) { function ldrex (line 472) | llvm::MCInst ldrex(RegLLVM dest, RegLLVM reg) { function ldrex (line 476) | llvm::MCInst ldrex(RegLLVM dest, RegLLVM reg, unsigned cond) { function t2ldrex (line 487) | llvm::MCInst t2ldrex(RegLLVM dest, RegLLVM reg) { function t2ldrex (line 491) | llvm::MCInst t2ldrex(RegLLVM dest, RegLLVM reg, unsigned cond) { function ldrexd (line 503) | llvm::MCInst ldrexd(RegLLVM dest, RegLLVM dest2, RegLLVM reg) { function ldrexd (line 507) | llvm::MCInst ldrexd(RegLLVM dest, RegLLVM dest2, RegLLVM reg, unsigned... function t2ldrexd (line 545) | llvm::MCInst t2ldrexd(RegLLVM dest, RegLLVM dest2, RegLLVM reg) { function t2ldrexd (line 549) | llvm::MCInst t2ldrexd(RegLLVM dest, RegLLVM dest2, RegLLVM reg, unsign... function ldmia (line 563) | llvm::MCInst ldmia(RegLLVM base, unsigned int regMask, bool wback) { function ldmia (line 567) | llvm::MCInst ldmia(RegLLVM base, unsigned int regMask, bool wback, function t2ldmia (line 581) | llvm::MCInst t2ldmia(RegLLVM base, unsigned int regMask, bool wback) { function t2ldmia (line 585) | llvm::MCInst t2ldmia(RegLLVM base, unsigned int regMask, bool wback, function t2ldmdb (line 602) | llvm::MCInst t2ldmdb(RegLLVM base, unsigned int regMask, bool wback) { function t2ldmdb (line 606) | llvm::MCInst t2ldmdb(RegLLVM base, unsigned int regMask, bool wback, function vldmia (line 623) | llvm::MCInst vldmia(RegLLVM base, RegLLVM reg, unsigned int nreg, bool... function vldmia (line 627) | llvm::MCInst vldmia(RegLLVM base, RegLLVM reg, unsigned int nreg, bool... function pushr1 (line 654) | llvm::MCInst pushr1(RegLLVM reg, unsigned cond) { function stri12 (line 668) | llvm::MCInst stri12(RegLLVM reg, RegLLVM base, sword offset) { function stri12 (line 672) | llvm::MCInst stri12(RegLLVM reg, RegLLVM base, sword offset, unsigned ... function t2stri8 (line 689) | llvm::MCInst t2stri8(RegLLVM reg, RegLLVM base, sword offset) { function t2stri8 (line 693) | llvm::MCInst t2stri8(RegLLVM reg, RegLLVM base, sword offset, unsigned... function t2stri12 (line 714) | llvm::MCInst t2stri12(RegLLVM reg, RegLLVM base, sword offset) { function t2stri12 (line 718) | llvm::MCInst t2stri12(RegLLVM reg, RegLLVM base, sword offset, unsigne... function t2strPost (line 739) | llvm::MCInst t2strPost(RegLLVM reg, RegLLVM base, sword offset) { function t2strPost (line 743) | llvm::MCInst t2strPost(RegLLVM reg, RegLLVM base, sword offset, unsign... function t2strPre (line 761) | llvm::MCInst t2strPre(RegLLVM reg, RegLLVM base, sword offset) { function t2strPre (line 765) | llvm::MCInst t2strPre(RegLLVM reg, RegLLVM base, sword offset, unsigne... function stmia (line 785) | llvm::MCInst stmia(RegLLVM base, unsigned int regMask, bool wback) { function stmia (line 789) | llvm::MCInst stmia(RegLLVM base, unsigned int regMask, bool wback, function t2stmia (line 803) | llvm::MCInst t2stmia(RegLLVM base, unsigned int regMask, bool wback) { function t2stmia (line 807) | llvm::MCInst t2stmia(RegLLVM base, unsigned int regMask, bool wback, function t2stmdb (line 825) | llvm::MCInst t2stmdb(RegLLVM base, unsigned int regMask, bool wback) { function t2stmdb (line 829) | llvm::MCInst t2stmdb(RegLLVM base, unsigned int regMask, bool wback, function vstmia (line 846) | llvm::MCInst vstmia(RegLLVM base, RegLLVM reg, unsigned int nreg, bool... function vstmia (line 850) | llvm::MCInst vstmia(RegLLVM base, RegLLVM reg, unsigned int nreg, bool... function movr (line 877) | llvm::MCInst movr(RegLLVM dst, RegLLVM src) { function movr (line 881) | llvm::MCInst movr(RegLLVM dst, RegLLVM src, unsigned cond) { function tmovr (line 894) | llvm::MCInst tmovr(RegLLVM dst, RegLLVM src) { function tmovr (line 898) | llvm::MCInst tmovr(RegLLVM dst, RegLLVM src, unsigned cond) { function movi (line 912) | llvm::MCInst movi(RegLLVM dst, rword imm) { function movi (line 916) | llvm::MCInst movi(RegLLVM dst, rword imm, unsigned cond) { function t2movi (line 929) | llvm::MCInst t2movi(RegLLVM dst, rword imm) { function t2movi (line 933) | llvm::MCInst t2movi(RegLLVM dst, rword imm, unsigned cond) { function branch (line 950) | llvm::MCInst branch(sword offset) { return bcc(offset, llvm::ARMCC::AL... function bcc (line 952) | llvm::MCInst bcc(sword offset, unsigned cond) { function tbranch (line 967) | llvm::MCInst tbranch(sword offset) { function tbranchIT (line 971) | llvm::MCInst tbranchIT(sword offset, unsigned cond) { function tbcc (line 988) | llvm::MCInst tbcc(sword offset, unsigned cond) { function t2branch (line 1003) | llvm::MCInst t2branch(sword offset) { function t2branchIT (line 1007) | llvm::MCInst t2branchIT(sword offset, unsigned cond) { function t2bcc (line 1025) | llvm::MCInst t2bcc(sword offset, unsigned cond) { function tbx (line 1041) | llvm::MCInst tbx(RegLLVM reg) { return tbx(reg, llvm::ARMCC::AL); } function tbx (line 1043) | llvm::MCInst tbx(RegLLVM reg, unsigned cond) { function mrs (line 1056) | llvm::MCInst mrs(RegLLVM dst) { return mrs(dst, llvm::ARMCC::AL); } function mrs (line 1058) | llvm::MCInst mrs(RegLLVM dst, unsigned cond) { function msr (line 1069) | llvm::MCInst msr(RegLLVM dst) { return msr(dst, llvm::ARMCC::AL); } function msr (line 1071) | llvm::MCInst msr(RegLLVM dst, unsigned cond) { function t2mrs (line 1083) | llvm::MCInst t2mrs(RegLLVM dst) { return t2mrs(dst, llvm::ARMCC::AL); } function t2mrs (line 1085) | llvm::MCInst t2mrs(RegLLVM dst, unsigned cond) { function t2msr (line 1096) | llvm::MCInst t2msr(RegLLVM dst) { return t2msr(dst, llvm::ARMCC::AL); } function t2msr (line 1098) | llvm::MCInst t2msr(RegLLVM dst, unsigned cond) { function vmrs (line 1110) | llvm::MCInst vmrs(RegLLVM dst) { return vmrs(dst, llvm::ARMCC::AL); } function vmrs (line 1112) | llvm::MCInst vmrs(RegLLVM dst, unsigned cond) { function vmsr (line 1123) | llvm::MCInst vmsr(RegLLVM dst) { return vmsr(dst, llvm::ARMCC::AL); } function vmsr (line 1125) | llvm::MCInst vmsr(RegLLVM dst, unsigned cond) { function adr (line 1138) | llvm::MCInst adr(RegLLVM reg, rword offset) { function adr (line 1142) | llvm::MCInst adr(RegLLVM reg, rword offset, unsigned cond) { function t2adr (line 1155) | llvm::MCInst t2adr(RegLLVM reg, sword offset) { function t2adr (line 1159) | llvm::MCInst t2adr(RegLLVM reg, sword offset, unsigned cond) { function add (line 1174) | llvm::MCInst add(RegLLVM dst, RegLLVM src, rword imm) { function add (line 1178) | llvm::MCInst add(RegLLVM dst, RegLLVM src, rword imm, unsigned cond) { function t2add (line 1194) | llvm::MCInst t2add(RegLLVM dst, RegLLVM src, rword imm) { function t2add (line 1198) | llvm::MCInst t2add(RegLLVM dst, RegLLVM src, rword imm, unsigned cond) { function addrsi (line 1214) | llvm::MCInst addrsi(RegLLVM dst, RegLLVM src, RegLLVM srcOff, unsigned... function addrsi (line 1219) | llvm::MCInst addrsi(RegLLVM dst, RegLLVM src, RegLLVM srcOff, unsigned... function t2addrsi (line 1241) | llvm::MCInst t2addrsi(RegLLVM dst, RegLLVM src, RegLLVM srcOff, unsign... function t2addrsi (line 1246) | llvm::MCInst t2addrsi(RegLLVM dst, RegLLVM src, RegLLVM srcOff, unsign... function addr (line 1268) | llvm::MCInst addr(RegLLVM dst, RegLLVM src, RegLLVM src2) { function addr (line 1272) | llvm::MCInst addr(RegLLVM dst, RegLLVM src, RegLLVM src2, unsigned con... function t2addr (line 1285) | llvm::MCInst t2addr(RegLLVM dst, RegLLVM src, RegLLVM src2) { function t2addr (line 1289) | llvm::MCInst t2addr(RegLLVM dst, RegLLVM src, RegLLVM src2, unsigned c... function sub (line 1304) | llvm::MCInst sub(RegLLVM dst, RegLLVM src, rword imm) { function sub (line 1308) | llvm::MCInst sub(RegLLVM dst, RegLLVM src, rword imm, unsigned cond) { function t2sub (line 1324) | llvm::MCInst t2sub(RegLLVM dst, RegLLVM src, rword imm) { function t2sub (line 1328) | llvm::MCInst t2sub(RegLLVM dst, RegLLVM src, rword imm, unsigned cond) { function subrsi (line 1344) | llvm::MCInst subrsi(RegLLVM dst, RegLLVM src, RegLLVM srcOff, unsigned... function subrsi (line 1349) | llvm::MCInst subrsi(RegLLVM dst, RegLLVM src, RegLLVM srcOff, unsigned... function t2subrsi (line 1370) | llvm::MCInst t2subrsi(RegLLVM dst, RegLLVM src, RegLLVM srcOff, unsign... function t2subrsi (line 1375) | llvm::MCInst t2subrsi(RegLLVM dst, RegLLVM src, RegLLVM srcOff, unsign... function subr (line 1397) | llvm::MCInst subr(RegLLVM dst, RegLLVM src, RegLLVM src2) { function subr (line 1401) | llvm::MCInst subr(RegLLVM dst, RegLLVM src, RegLLVM src2, unsigned con... function t2subr (line 1414) | llvm::MCInst t2subr(RegLLVM dst, RegLLVM src, RegLLVM src2) { function t2subr (line 1418) | llvm::MCInst t2subr(RegLLVM dst, RegLLVM src, RegLLVM src2, unsigned c... function bic (line 1433) | llvm::MCInst bic(RegLLVM dst, RegLLVM src, rword imm) { function bic (line 1437) | llvm::MCInst bic(RegLLVM dst, RegLLVM src, rword imm, unsigned cond) { function t2bic (line 1452) | llvm::MCInst t2bic(RegLLVM dest, RegLLVM reg, rword imm) { function t2bic (line 1456) | llvm::MCInst t2bic(RegLLVM dest, RegLLVM reg, rword imm, unsigned cond) { function orri (line 1474) | llvm::MCInst orri(RegLLVM dest, RegLLVM reg, rword imm) { function orri (line 1478) | llvm::MCInst orri(RegLLVM dest, RegLLVM reg, rword imm, unsigned cond) { function t2orri (line 1494) | llvm::MCInst t2orri(RegLLVM dest, RegLLVM reg, rword imm) { function t2orri (line 1498) | llvm::MCInst t2orri(RegLLVM dest, RegLLVM reg, rword imm, unsigned con... function orrshift (line 1514) | llvm::MCInst orrshift(RegLLVM dest, RegLLVM reg, RegLLVM reg2, function orrshift (line 1519) | llvm::MCInst orrshift(RegLLVM dest, RegLLVM reg, RegLLVM reg2, function t2orrshift (line 1535) | llvm::MCInst t2orrshift(RegLLVM dest, RegLLVM reg, RegLLVM reg2, function t2orrshift (line 1540) | llvm::MCInst t2orrshift(RegLLVM dest, RegLLVM reg, RegLLVM reg2, function cmp (line 1558) | llvm::MCInst cmp(RegLLVM src, rword imm) { function cmp (line 1562) | llvm::MCInst cmp(RegLLVM src, rword imm, unsigned cond) { function t2cmp (line 1575) | llvm::MCInst t2cmp(RegLLVM reg, rword imm) { function t2cmp (line 1579) | llvm::MCInst t2cmp(RegLLVM reg, rword imm, unsigned cond) { function t2it (line 1595) | llvm::MCInst t2it(unsigned int cond, unsigned pred) { function nop (line 1605) | llvm::MCInst nop() { function bkpt (line 1616) | llvm::MCInst bkpt(unsigned int value) { function t2autg (line 1625) | llvm::MCInst t2autg(RegLLVM reg, RegLLVM ctx, RegLLVM tag) { function t2autg (line 1629) | llvm::MCInst t2autg(RegLLVM reg, RegLLVM ctx, RegLLVM tag, unsigned co... function Popr1 (line 1644) | RelocatableInst::UniquePtr Popr1(CPUMode cpuMode, Reg reg) { function Pushr1 (line 1650) | RelocatableInst::UniquePtr Pushr1(CPUMode cpuMode, Reg reg) { function Add (line 1656) | RelocatableInst::UniquePtr Add(CPUMode cpuMode, RegLLVM dst, RegLLVM src, function Addr (line 1673) | RelocatableInst::UniquePtr Addr(CPUMode cpuMode, RegLLVM dst, RegLLVM ... function Subr (line 1682) | RelocatableInst::UniquePtr Subr(CPUMode cpuMode, RegLLVM dst, RegLLVM ... function Addrs (line 1691) | RelocatableInst::UniquePtr Addrs(CPUMode cpuMode, RegLLVM dst, RegLLVM... function Subrs (line 1701) | RelocatableInst::UniquePtr Subrs(CPUMode cpuMode, RegLLVM dst, RegLLVM... function LdmIA (line 1711) | RelocatableInst::UniquePtr LdmIA(CPUMode cpuMode, RegLLVM base, function StmIA (line 1718) | RelocatableInst::UniquePtr StmIA(CPUMode cpuMode, RegLLVM base, function VLdmIA (line 1725) | RelocatableInst::UniquePtr VLdmIA(CPUMode cpuMode, RegLLVM base, function VStmIA (line 1733) | RelocatableInst::UniquePtr VStmIA(CPUMode cpuMode, RegLLVM base, function Mrs (line 1741) | RelocatableInst::UniquePtr Mrs(CPUMode cpuMode, Reg reg) { function Msr (line 1749) | RelocatableInst::UniquePtr Msr(CPUMode cpuMode, Reg reg) { function Vmrs (line 1757) | RelocatableInst::UniquePtr Vmrs(CPUMode cpuMode, Reg reg) { function Vmsr (line 1763) | RelocatableInst::UniquePtr Vmsr(CPUMode cpuMode, Reg reg) { function Bkpt (line 1769) | RelocatableInst::UniquePtr Bkpt(CPUMode cpuMode, unsigned int value) { function T2it (line 1775) | RelocatableInst::UniquePtr T2it(CPUMode cpuMode, unsigned int cond, function Addc (line 1782) | RelocatableInst::UniquePtrVec Addc(CPUMode cpuMode, RegLLVM dst, RegLL... function Addc (line 1787) | RelocatableInst::UniquePtrVec Addc(CPUMode cpuMode, RegLLVM dst, RegLL... function Cmp (line 1861) | RelocatableInst::UniquePtr Cmp(CPUMode cpuMode, RegLLVM src, rword imm) { function Branch (line 1869) | RelocatableInst::UniquePtr Branch(CPUMode cpuMode, sword offset, function BranchCC (line 1874) | RelocatableInst::UniquePtr BranchCC(CPUMode cpuMode, sword offset, FILE: src/Patch/ARM/Layer2_ARM.h function namespace (line 24) | namespace QBDI { FILE: src/Patch/ARM/MemoryAccess_ARM.cpp type QBDI (line 46) | namespace QBDI { function ADDR_REG_FN (line 60) | RelocatableInst::UniquePtrVec ADDR_REG_FN(const Patch &patch, Reg dest, function ADDR_REG_1_FN (line 165) | RelocatableInst::UniquePtrVec ADDR_REG_1_FN(const Patch &patch, Reg dest, function ADDR_REG_2_FN (line 338) | RelocatableInst::UniquePtrVec ADDR_REG_2_FN(const Patch &patch, Reg dest, function ADDR_REG_3_FN (line 481) | RelocatableInst::UniquePtrVec ADDR_REG_3_FN(const Patch &patch, Reg dest, function ADDR_REG_4_FN (line 522) | RelocatableInst::UniquePtrVec ADDR_REG_4_FN(const Patch &patch, Reg dest, function ADDR_REG_5_FN (line 569) | RelocatableInst::UniquePtrVec ADDR_REG_5_FN(const Patch &patch, Reg dest, function ADDR_REG_6_FN (line 599) | RelocatableInst::UniquePtrVec ADDR_REG_6_FN(const Patch &patch, Reg dest, function ADDR_REG_PLUS_FN (line 608) | RelocatableInst::UniquePtrVec ADDR_REG_PLUS_FN(const Patch &patch, Reg... function ADDR_REG_1_PLUS4_FN (line 637) | RelocatableInst::UniquePtrVec ADDR_REG_1_PLUS4_FN(const Patch &patch, ... function ADDR_REG_1_DYN_FN (line 663) | RelocatableInst::UniquePtrVec ADDR_REG_1_DYN_FN(const Patch &patch, Re... function ADDR_REG_1_DYN_PLUS4_FN (line 688) | RelocatableInst::UniquePtrVec function ADDR_REG_SIMM_FN (line 706) | RelocatableInst::UniquePtrVec ADDR_REG_SIMM_FN(const Patch &patch, Reg... function ADDR_REG_1_SIMM_2_FN (line 762) | RelocatableInst::UniquePtrVec ADDR_REG_1_SIMM_2_FN(const Patch &patch,... function ADDR_REG_2_SIMM_3_FN (line 818) | RelocatableInst::UniquePtrVec ADDR_REG_2_SIMM_3_FN(const Patch &patch,... function ADDR_REG_3_SIMM_4_FN (line 847) | RelocatableInst::UniquePtrVec ADDR_REG_3_SIMM_4_FN(const Patch &patch,... function ADDR_REG_4_SIMM_5_FN (line 864) | RelocatableInst::UniquePtrVec ADDR_REG_4_SIMM_5_FN(const Patch &patch,... function ADDR_REG_REG_FN (line 873) | RelocatableInst::UniquePtrVec ADDR_REG_REG_FN(const Patch &patch, Reg ... function ADDR_REG_1_REG_2_FN (line 925) | RelocatableInst::UniquePtrVec ADDR_REG_1_REG_2_FN(const Patch &patch, ... function ADDR_REG_2_REG_3_FN (line 947) | RelocatableInst::UniquePtrVec ADDR_REG_2_REG_3_FN(const Patch &patch, ... function ADDR_REG_1_REGSHIFT1_2_FN (line 965) | RelocatableInst::UniquePtrVec function ADDR_REG_REGLSL_FN (line 1009) | RelocatableInst::UniquePtrVec ADDR_REG_REGLSL_FN(const Patch &patch, R... function ADDR_REG_2_REGLSL_3_FN (line 1079) | RelocatableInst::UniquePtrVec function ADDR_REG_REGSHIFT_FN (line 1088) | RelocatableInst::UniquePtrVec ADDR_REG_REGSHIFT_FN(const Patch &patch,... function ADDR_REG_2_REGSHIFT_3_FN (line 1167) | RelocatableInst::UniquePtrVec function ADDR_REG_3_REGSHIFT_4_FN (line 1185) | RelocatableInst::UniquePtrVec function ADDR_REG_IMMORREG_FN (line 1193) | RelocatableInst::UniquePtrVec ADDR_REG_IMMORREG_FN(const Patch &patch,... function ADDR_REG_IMMORREG_2_FN (line 1267) | RelocatableInst::UniquePtrVec function ADDR_REG_IMMORREG_3_FN (line 1287) | RelocatableInst::UniquePtrVec function ADDR_REG_IMMORREG_4_FN (line 1303) | RelocatableInst::UniquePtrVec function ADDR_REG_IMMSHIFT_FN (line 1312) | RelocatableInst::UniquePtrVec ADDR_REG_IMMSHIFT_FN(const Patch &patch,... function ADDR_REG_IMMSHIFT_2_SHIFT1_FN (line 1368) | RelocatableInst::UniquePtrVec function ADDR_REG_IMMSHIFT_2_SHIFT2_FN (line 1393) | RelocatableInst::UniquePtrVec function ADDR_REG_IMMSHIFT_3_SHIFT2_FN (line 1409) | RelocatableInst::UniquePtrVec function ADDR_REG_IMPLICIT_OFF_FN (line 1418) | RelocatableInst::UniquePtrVec function ADDR_REG_SP_FN (line 1439) | RelocatableInst::UniquePtrVec ADDR_REG_SP_FN(const Patch &patch, Reg d... function ADDR_REG_SP_DYN_FN (line 1454) | RelocatableInst::UniquePtrVec ADDR_REG_SP_DYN_FN(const Patch &patch, R... function ADDR_REG_IMPLICIT_PC_OFF_FN (line 1472) | RelocatableInst::UniquePtrVec ADDR_REG_IMPLICIT_PC_OFF_FN(const Patch ... function ADDR_REG_ALIGNPC_OFF_2_FN (line 1515) | RelocatableInst::UniquePtrVec type MemoryAccessInfoArray (line 1520) | struct MemoryAccessInfoArray { method addData (line 1524) | constexpr void addData(size_t index, const unsigned insts[], method MemoryAccessInfoArray (line 1532) | constexpr MemoryAccessInfoArray() { type AddressGenerator (line 1593) | struct AddressGenerator { function checkTable (line 1599) | int checkTable() { function generateAddressPatch (line 1704) | RelocatableInst::UniquePtrVec generateAddressPatch(const Patch &patch, type MemoryTag (line 1725) | enum MemoryTag : uint16_t { function getInstrRuleMemAccessRead (line 2542) | std::vector> getInstrRuleMemAccessRead() { function getInstrRuleMemAccessWrite (line 2548) | std::vector> getInstrRuleMemAccessWrite() { function analyseMemoryAccessAddrValue (line 2563) | void analyseMemoryAccessAddrValue(const ExecBlock &curExecBlock, function analyseMemoryAccess (line 2675) | void analyseMemoryAccess(const ExecBlock &curExecBlock, uint16_t instID, FILE: src/Patch/ARM/MemoryAccess_ARM.h function namespace (line 26) | namespace QBDI { FILE: src/Patch/ARM/PatchCondition_ARM.cpp type QBDI (line 28) | namespace QBDI { FILE: src/Patch/ARM/PatchCondition_ARM.h function namespace (line 23) | namespace QBDI { FILE: src/Patch/ARM/PatchGenerator_ARM.cpp type QBDI (line 41) | namespace QBDI { function gent2LDMsubPatch (line 1791) | static void gent2LDMsubPatch(RelocatableInst::UniquePtrVec &vec, FILE: src/Patch/ARM/PatchGenerator_ARM.h function namespace (line 31) | namespace QBDI { FILE: src/Patch/ARM/PatchRuleAssembly_ARM.cpp type QBDI (line 35) | namespace QBDI { function getARMPatchRules (line 39) | std::vector getARMPatchRules(Options opts) { function getThumbPatchRules (line 659) | std::vector getThumbPatchRules(Options opts) { FILE: src/Patch/ARM/PatchRuleAssembly_ARM.h function namespace (line 24) | namespace QBDI { FILE: src/Patch/ARM/Register_ARM.cpp type QBDI (line 29) | namespace QBDI { function getEncodedBaseReg (line 345) | constexpr int8_t getEncodedBaseReg(unsigned reg) { type RegisterInfoArray (line 402) | struct RegisterInfoArray { method setValue (line 416) | constexpr uint16_t setValue(uint8_t size, uint8_t packed, uint8_t sp... method RegisterInfoArray (line 420) | constexpr RegisterInfoArray() { method getSize (line 465) | inline uint8_t getSize(RegLLVM reg_) const { method getPacked (line 474) | inline uint8_t getPacked(RegLLVM reg_) const { method getSpaced (line 483) | inline uint8_t getSpaced(RegLLVM reg_) const { method RegLLVM (line 492) | inline RegLLVM getUpperReg(RegLLVM reg_) const { method getGPRPos (line 528) | inline size_t getGPRPos(RegLLVM reg_) const { method RegLLVM (line 542) | inline RegLLVM getUpperBasedRegister(RegLLVM reg) const { function getRegisterSize (line 555) | uint8_t getRegisterSize(RegLLVM reg) { return arrayInfo.getSize(reg); } function getRegisterBaseOffset (line 557) | uint8_t getRegisterBaseOffset(RegLLVM reg) { return 0; } function getRegisterPacked (line 559) | uint8_t getRegisterPacked(RegLLVM reg) { return arrayInfo.getPacked(re... function getRegisterSpaced (line 561) | uint8_t getRegisterSpaced(RegLLVM reg) { return arrayInfo.getSpaced(re... function getGPRPosition (line 563) | size_t getGPRPosition(RegLLVM reg) { return arrayInfo.getGPRPos(reg); } function RegLLVM (line 565) | RegLLVM getUpperRegister(RegLLVM reg, size_t pos) { function RegLLVM (line 576) | RegLLVM getPackedRegister(RegLLVM reg, size_t pos) { function fixLLVMUsedGPR (line 608) | void fixLLVMUsedGPR(const llvm::MCInst &inst, const LLVMCPU &llvmcpu, FILE: src/Patch/ARM/RelocatableInst_ARM.cpp type QBDI (line 28) | namespace QBDI { FILE: src/Patch/ARM/RelocatableInst_ARM.h function namespace (line 32) | namespace QBDI { FILE: src/Patch/ARM/TempManagerImpl_ARM.h function namespace (line 24) | namespace QBDI { FILE: src/Patch/ARM/TempManager_ARM.cpp type QBDI (line 27) | namespace QBDI { function allocateConsecutiveTempRegister (line 53) | void allocateConsecutiveTempRegister(TempManager &temp_manager, Temp t... FILE: src/Patch/ARM/TempManager_ARM.h function namespace (line 24) | namespace QBDI { FILE: src/Patch/ExecBlockFlags.h function namespace (line 34) | namespace llvm { function namespace (line 38) | namespace QBDI { FILE: src/Patch/ExecBlockPatch.h function namespace (line 26) | namespace QBDI { FILE: src/Patch/InstInfo.h function namespace (line 24) | namespace llvm { function namespace (line 28) | namespace QBDI { FILE: src/Patch/InstMetadata.h function namespace (line 35) | namespace QBDI { FILE: src/Patch/InstTransform.cpp type QBDI (line 29) | namespace QBDI { FILE: src/Patch/InstTransform.h function namespace (line 30) | namespace llvm { function class (line 37) | class InstTransform { FILE: src/Patch/InstrRule.cpp type QBDI (line 35) | namespace QBDI { FILE: src/Patch/InstrRule.h function namespace (line 33) | namespace QBDI { FILE: src/Patch/InstrRules.cpp type QBDI (line 25) | namespace QBDI { function getCallbackGenerator (line 36) | PatchGenerator::UniquePtrVec getCallbackGenerator(InstCallback cbk, FILE: src/Patch/InstrRules.h function namespace (line 28) | namespace QBDI { FILE: src/Patch/MemoryAccess.h function namespace (line 25) | namespace QBDI { FILE: src/Patch/Patch.cpp type QBDI (line 33) | namespace QBDI { FILE: src/Patch/Patch.h function namespace (line 34) | namespace llvm { function namespace (line 38) | namespace QBDI { FILE: src/Patch/PatchCondition.cpp type QBDI (line 27) | namespace QBDI { FILE: src/Patch/PatchCondition.h function namespace (line 35) | namespace QBDI { function test (line 116) | bool test(const Patch &patch, const LLVMCPU &llvmcpu) const override { function override (line 121) | const override { function test (line 141) | bool test(const Patch &patch, const LLVMCPU &llvmcpu) const override { function override (line 145) | const override { function test (line 164) | bool test(const Patch &patch, const LLVMCPU &llvmcpu) const override { function override (line 171) | const override { function test (line 197) | bool test(const Patch &patch, const LLVMCPU &llvmcpu) const override { function override (line 204) | const override { function std (line 212) | inline std::unique_ptr clone() const override { FILE: src/Patch/PatchGenerator.cpp type QBDI (line 34) | namespace QBDI { FILE: src/Patch/PatchGenerator.h function namespace (line 31) | namespace llvm { function namespace (line 35) | namespace QBDI { function getPreFlags (line 107) | inline uint32_t getPreFlags() const override { function getPreFlags (line 129) | inline uint32_t getPreFlags() const override { return flags; } FILE: src/Patch/PatchRule.cpp type QBDI (line 31) | namespace QBDI { FILE: src/Patch/PatchRule.h function namespace (line 27) | namespace llvm { function namespace (line 31) | namespace QBDI { FILE: src/Patch/PatchRuleAssemblyBase.h function namespace (line 27) | namespace llvm { function namespace (line 31) | namespace QBDI { FILE: src/Patch/PatchUtils.h function namespace (line 27) | namespace QBDI { function _conv_unique (line 55) | void _conv_unique(std::vector> &vec, function _conv_unique (line 61) | void _conv_unique(std::vector> &vec, function append (line 88) | void append(std::vector> &u, function prepend (line 94) | void prepend(std::vector> &u, FILE: src/Patch/Register.cpp type QBDI (line 39) | namespace QBDI { function addRegisterInfo (line 41) | static void addRegisterInfo(std::array ®Arr, function getUsedGPR (line 62) | void getUsedGPR(const llvm::MCInst &inst, const LLVMCPU &llvmcpu, FILE: src/Patch/Register.h function namespace (line 29) | namespace llvm { function namespace (line 33) | namespace QBDI { FILE: src/Patch/RelocatableInst.h function namespace (line 31) | namespace QBDI { FILE: src/Patch/TempManager.cpp type QBDI (line 52) | namespace QBDI { function Reg (line 86) | Reg TempManager::getRegForTemp(unsigned int id) { function RegLLVM (line 151) | RegLLVM TempManager::getSizedSubReg(RegLLVM reg, unsigned size) const { FILE: src/Patch/TempManager.h function namespace (line 29) | namespace llvm { function namespace (line 34) | namespace QBDI { FILE: src/Patch/Types.h function namespace (line 28) | namespace QBDI { function RegLLVM (line 74) | struct Reg { function operator (line 113) | inline bool operator==(const RegLLVM &o) const { return o == *this; } function operator (line 115) | inline bool operator!=(const RegLLVM &o) const { return o != *this; } function operator (line 124) | inline bool operator<(const Reg &o) const { return id < o.id; } type Shadow (line 129) | struct Shadow { type ShadowReservedTag (line 148) | enum ShadowReservedTag : uint16_t { function rword (line 160) | struct Constant { type RelocatableInstTag (line 252) | enum RelocatableInstTag { FILE: src/Patch/X86_64/ExecBlockFlags_X86_64.cpp type QBDI (line 33) | namespace QBDI { type ExecBlockFlagsArray (line 36) | struct ExecBlockFlagsArray { method ExecBlockFlagsArray (line 39) | constexpr ExecBlockFlagsArray() : arr() { method get (line 56) | inline uint8_t get(RegLLVM reg_) const { function getExecBlockFlags (line 72) | uint8_t getExecBlockFlags(const llvm::MCInst &inst, FILE: src/Patch/X86_64/ExecBlockPatch_X86_64.cpp type QBDI (line 39) | namespace QBDI { function getExecBlockPrologue (line 41) | RelocatableInst::UniquePtrVec getExecBlockPrologue(const LLVMCPU &llvm... function getExecBlockEpilogue (line 161) | RelocatableInst::UniquePtrVec getExecBlockEpilogue(const LLVMCPU &llvm... function getTerminator (line 283) | RelocatableInst::UniquePtrVec getTerminator(const LLVMCPU &llvmcpu, FILE: src/Patch/X86_64/InstInfo_X86_64.cpp function READ (line 4152) | constexpr uint32_t READ(uint32_t s) { return s & 0xfff; } function WRITE (line 4153) | constexpr uint32_t WRITE(uint32_t s) { return (s & 0xfff) << WRITE_POSIT... function STACK_READ (line 4154) | constexpr uint32_t STACK_READ(uint32_t s) { function STACK_WRITE (line 4157) | constexpr uint32_t STACK_WRITE(uint32_t s) { function GET_READ_SIZE (line 4160) | constexpr uint32_t GET_READ_SIZE(uint32_t v) { return v & 0xfff; } function GET_WRITE_SIZE (line 4161) | constexpr uint32_t GET_WRITE_SIZE(uint32_t v) { function IS_STACK_READ (line 4164) | constexpr uint32_t IS_STACK_READ(uint32_t v) { function IS_STACK_WRITE (line 4167) | constexpr uint32_t IS_STACK_WRITE(uint32_t v) { function IS_MIN_SIZE_READ (line 4170) | constexpr uint32_t IS_MIN_SIZE_READ(uint32_t v) { function IS_MIN_SIZE_WRITE (line 4173) | constexpr uint32_t IS_MIN_SIZE_WRITE(uint32_t v) { type MemAccessArray (line 4177) | struct MemAccessArray { method _initMemAccessRead (line 4180) | constexpr inline void _initMemAccessRead(const unsigned buff[], method _initMemAccessWrite (line 4187) | constexpr inline void _initMemAccessWrite(const unsigned buff[], method _initMemAccessStackRead (line 4194) | constexpr inline void _initMemAccessStackRead(const unsigned buff[], method _initMemAccessStackWrite (line 4202) | constexpr inline void _initMemAccessStackWrite(const unsigned buff[], method MemAccessArray (line 4210) | constexpr MemAccessArray() { method check_table (line 4261) | void check_table(const unsigned buff[], size_t buff_size, uint32_t value, method check (line 4274) | int check() const { method get (line 4333) | inline uint32_t get(size_t op) const { function getReadSize (line 4351) | unsigned getReadSize(const llvm::MCInst &inst, const LLVMCPU &llvmcpu) { function getWriteSize (line 4355) | unsigned getWriteSize(const llvm::MCInst &inst, const LLVMCPU &llvmcpu) { function isStackRead (line 4359) | bool isStackRead(const llvm::MCInst &inst) { function isStackWrite (line 4363) | bool isStackWrite(const llvm::MCInst &inst) { function isMinSizeRead (line 4367) | bool isMinSizeRead(const llvm::MCInst &inst) { function isMinSizeWrite (line 4371) | bool isMinSizeWrite(const llvm::MCInst &inst) { function sword (line 4375) | sword getFixedOperandValue(const llvm::MCInst &inst, const LLVMCPU &llvm... function getImmediateSize (line 4380) | unsigned getImmediateSize(const llvm::MCInst &inst, const LLVMCPU &llvmc... function isDoubleRead (line 4385) | bool isDoubleRead(const llvm::MCInst &inst) { function mayChangeWriteAddr (line 4397) | bool mayChangeWriteAddr(const llvm::MCInst &inst, function hasREPPrefix (line 4432) | bool hasREPPrefix(const llvm::MCInst &instr) { function implicitDSIAccess (line 4438) | bool implicitDSIAccess(const llvm::MCInst &inst, function unsupportedRead (line 4463) | bool unsupportedRead(const llvm::MCInst &inst) { function unsupportedWrite (line 4492) | bool unsupportedWrite(const llvm::MCInst &inst) { function variadicOpsIsWrite (line 4502) | bool variadicOpsIsWrite(const llvm::MCInst &inst) { return false; } function getInstSize (line 4504) | unsigned getInstSize(const llvm::MCInst &inst, const LLVMCPU &llvmcpu) { FILE: src/Patch/X86_64/InstInfo_X86_64.h function namespace (line 21) | namespace llvm { function namespace (line 26) | namespace QBDI { FILE: src/Patch/X86_64/InstMetadata_X86_64.h function namespace (line 21) | namespace QBDI { FILE: src/Patch/X86_64/InstrRules_X86_64.cpp type QBDI (line 33) | namespace QBDI { class Patch (line 34) | class Patch function getBreakToHost (line 40) | RelocatableInst::UniquePtrVec getBreakToHost(Reg temp, const Patch &pa... FILE: src/Patch/X86_64/Layer2_X86_64.cpp type QBDI (line 30) | namespace QBDI { function mov32rr (line 32) | llvm::MCInst mov32rr(RegLLVM dst, RegLLVM src) { function mov32ri (line 42) | llvm::MCInst mov32ri(RegLLVM reg, rword imm) { function mov32mr (line 52) | llvm::MCInst mov32mr(RegLLVM base, rword scale, RegLLVM offset, function mov32rm8 (line 67) | llvm::MCInst mov32rm8(RegLLVM dst, RegLLVM base, rword scale, RegLLVM ... function mov32rm16 (line 82) | llvm::MCInst mov32rm16(RegLLVM dst, RegLLVM base, rword scale, RegLLVM... function mov32rm (line 97) | llvm::MCInst mov32rm(RegLLVM dst, RegLLVM base, rword scale, RegLLVM o... function movzx32rr8 (line 112) | llvm::MCInst movzx32rr8(RegLLVM dst, RegLLVM src) { function mov64rr (line 123) | llvm::MCInst mov64rr(RegLLVM dst, RegLLVM src) { function mov64ri (line 133) | llvm::MCInst mov64ri(RegLLVM reg, rword imm) { function mov64ri32 (line 143) | llvm::MCInst mov64ri32(RegLLVM reg, rword imm) { function mov64mr (line 153) | llvm::MCInst mov64mr(RegLLVM base, rword scale, RegLLVM offset, function mov64rm (line 168) | llvm::MCInst mov64rm(RegLLVM dst, RegLLVM base, rword scale, RegLLVM o... function movzx64rr8 (line 183) | llvm::MCInst movzx64rr8(RegLLVM dst, RegLLVM src) { function test32ri (line 194) | llvm::MCInst test32ri(RegLLVM base, uint32_t imm) { function test64ri32 (line 204) | llvm::MCInst test64ri32(RegLLVM base, uint32_t imm) { function jmp32m (line 214) | llvm::MCInst jmp32m(RegLLVM base, rword offset) { function jmp64m (line 227) | llvm::MCInst jmp64m(RegLLVM base, rword offset) { function je (line 240) | llvm::MCInst je(int32_t offset) { function jne (line 250) | llvm::MCInst jne(int32_t offset) { function jmp (line 260) | llvm::MCInst jmp(rword offset) { function fxsave (line 269) | llvm::MCInst fxsave(RegLLVM base, rword offset) { function fxrstor (line 282) | llvm::MCInst fxrstor(RegLLVM base, rword offset) { function vextractf128 (line 295) | llvm::MCInst vextractf128(RegLLVM base, rword offset, RegLLVM src, function vinsertf128 (line 311) | llvm::MCInst vinsertf128(RegLLVM dst, RegLLVM base, rword offset, function push32r (line 328) | llvm::MCInst push32r(RegLLVM reg) { function push64r (line 337) | llvm::MCInst push64r(RegLLVM reg) { function pop32r (line 346) | llvm::MCInst pop32r(RegLLVM reg) { function pop64r (line 355) | llvm::MCInst pop64r(RegLLVM reg) { function addr32i (line 364) | llvm::MCInst addr32i(RegLLVM dst, RegLLVM src, rword imm) { function addr64i (line 370) | llvm::MCInst addr64i(RegLLVM dst, RegLLVM src, rword imm) { function lea32 (line 376) | llvm::MCInst lea32(RegLLVM dst, RegLLVM base, rword scale, RegLLVM off... function lea64 (line 391) | llvm::MCInst lea64(RegLLVM dst, RegLLVM base, rword scale, RegLLVM off... function popf32 (line 406) | llvm::MCInst popf32() { function popf64 (line 414) | llvm::MCInst popf64() { function pushf32 (line 422) | llvm::MCInst pushf32() { function pushf64 (line 430) | llvm::MCInst pushf64() { function ret (line 438) | llvm::MCInst ret() { function rdfsbase64 (line 446) | llvm::MCInst rdfsbase64(RegLLVM reg) { function rdgsbase64 (line 455) | llvm::MCInst rdgsbase64(RegLLVM reg) { function wrfsbase64 (line 464) | llvm::MCInst wrfsbase64(RegLLVM reg) { function wrgsbase64 (line 473) | llvm::MCInst wrgsbase64(RegLLVM reg) { function nop (line 482) | llvm::MCInst nop() { function xor32rr (line 490) | llvm::MCInst xor32rr(RegLLVM dst, RegLLVM src) { function xor64rr (line 501) | llvm::MCInst xor64rr(RegLLVM dst, RegLLVM src) { function isr8_15Reg (line 514) | [[maybe_unused]] static bool isr8_15Reg(RegLLVM r) { function lenInstLEAtype (line 530) | static unsigned lenInstLEAtype(RegLLVM base, RegLLVM scale, Constant cst, function DataBlockRelx86 (line 561) | static inline RelocatableInst::UniquePtr function JmpM (line 578) | RelocatableInst::UniquePtr JmpM(Offset offset) { function Fxsave (line 585) | RelocatableInst::UniquePtr Fxsave(Offset offset) { function Fxrstor (line 589) | RelocatableInst::UniquePtr Fxrstor(Offset offset) { function Vextractf128 (line 593) | RelocatableInst::UniquePtr Vextractf128(Offset offset, RegLLVM src, function Vinsertf128 (line 598) | RelocatableInst::UniquePtr Vinsertf128(RegLLVM dst, Offset offset, function Pushr (line 603) | RelocatableInst::UniquePtr Pushr(Reg reg) { function Popr (line 610) | RelocatableInst::UniquePtr Popr(Reg reg) { function Add (line 617) | RelocatableInst::UniquePtr Add(Reg dest, Reg src, Constant cst) { function Pushf (line 626) | RelocatableInst::UniquePtr Pushf() { function Popf (line 633) | RelocatableInst::UniquePtr Popf() { function Ret (line 640) | RelocatableInst::UniquePtr Ret() { return NoRelocSized::unique(ret(), ... function Test (line 642) | RelocatableInst::UniquePtr Test(Reg reg, uint32_t value) { function Je (line 649) | RelocatableInst::UniquePtr Je(int32_t offset) { function Jne (line 653) | RelocatableInst::UniquePtr Jne(int32_t offset) { function Rdfsbase (line 657) | RelocatableInst::UniquePtr Rdfsbase(Reg reg) { function Rdgsbase (line 661) | RelocatableInst::UniquePtr Rdgsbase(Reg reg) { function Wrfsbase (line 665) | RelocatableInst::UniquePtr Wrfsbase(Reg reg) { function Wrgsbase (line 669) | RelocatableInst::UniquePtr Wrgsbase(Reg reg) { function Xorrr (line 673) | RelocatableInst::UniquePtr Xorrr(RegLLVM dst, RegLLVM src) { function Lea (line 680) | RelocatableInst::UniquePtr Lea(RegLLVM dst, RegLLVM base, rword scale, function MovzxrAL (line 694) | RelocatableInst::UniquePtr MovzxrAL(Reg dst) { function Mov64rm (line 701) | RelocatableInst::UniquePtr Mov64rm(RegLLVM dst, RegLLVM addr, RegLLVM ... function Mov32rm (line 706) | RelocatableInst::UniquePtr Mov32rm(RegLLVM dst, RegLLVM addr, RegLLVM ... function Mov32rm16 (line 723) | RelocatableInst::UniquePtr Mov32rm16(RegLLVM dst, RegLLVM addr, RegLLV... function Mov32rm8 (line 740) | RelocatableInst::UniquePtr Mov32rm8(RegLLVM dst, RegLLVM addr, RegLLVM... FILE: src/Patch/X86_64/Layer2_X86_64.h function namespace (line 29) | namespace QBDI { FILE: src/Patch/X86_64/MemoryAccess_X86_64.cpp type llvm (line 48) | namespace llvm { class MCInstrDesc (line 49) | class MCInstrDesc type QBDI (line 52) | namespace QBDI { type MemoryTag (line 54) | enum MemoryTag : uint16_t { function analyseMemoryAccessAddrValue (line 70) | void analyseMemoryAccessAddrValue(const ExecBlock &curExecBlock, function analyseMemoryAccessAddrRange (line 133) | void analyseMemoryAccessAddrRange(const ExecBlock &curExecBlock, function analyseMemoryAccess (line 212) | void analyseMemoryAccess(const ExecBlock &curExecBlock, uint16_t instID, function getInstrRuleMemAccessRead (line 401) | std::vector> getInstrRuleMemAccessRead() { function getInstrRuleMemAccessWrite (line 411) | std::vector> getInstrRuleMemAccessWrite() { FILE: src/Patch/X86_64/PatchGenerator_X86_64.cpp type QBDI (line 42) | namespace QBDI { FILE: src/Patch/X86_64/PatchGenerator_X86_64.h function namespace (line 30) | namespace QBDI { FILE: src/Patch/X86_64/PatchRuleAssembly_X86_64.cpp type QBDI (line 43) | namespace QBDI { type PatchGeneratorFlagsX86_64 (line 47) | enum PatchGeneratorFlagsX86_64 { function getDefaultPatchRules (line 51) | std::vector getDefaultPatchRules(Options opts) { function setRegisterSaved (line 310) | static void setRegisterSaved(Patch &patch) { FILE: src/Patch/X86_64/PatchRuleAssembly_X86_64.h function namespace (line 25) | namespace QBDI { FILE: src/Patch/X86_64/Register_X86_64.cpp type QBDI (line 31) | namespace QBDI { function getGPRPositionConst (line 511) | constexpr int8_t getGPRPositionConst(size_t reg) { type RegisterInfoArray (line 637) | struct RegisterInfoArray { method RegisterInfoArray (line 641) | constexpr RegisterInfoArray() { method getSize (line 671) | inline uint8_t getSize(RegLLVM reg_) const { method getPos (line 680) | inline int8_t getPos(RegLLVM reg_) const { function getRegisterSize (line 694) | uint8_t getRegisterSize(RegLLVM reg) { return arrayInfo.getSize(reg); } function getRegisterBaseOffset (line 696) | uint8_t getRegisterBaseOffset(RegLLVM reg) { function getRegisterPacked (line 708) | uint8_t getRegisterPacked(RegLLVM reg) { return 1; } function getRegisterSpaced (line 710) | uint8_t getRegisterSpaced(RegLLVM reg) { return 1; } function getGPRPosition (line 712) | size_t getGPRPosition(RegLLVM reg) { return arrayInfo.getPos(reg); } function RegLLVM (line 714) | RegLLVM getUpperRegister(RegLLVM reg, size_t pos) { function RegLLVM (line 725) | RegLLVM getPackedRegister(RegLLVM reg, size_t pos) { function fixLLVMUsedGPR (line 732) | void fixLLVMUsedGPR(const llvm::MCInst &inst, const LLVMCPU &llvmcpu, FILE: src/Patch/X86_64/RelocatableInst_X86_64.cpp type QBDI (line 26) | namespace QBDI { FILE: src/Patch/X86_64/RelocatableInst_X86_64.h function namespace (line 32) | namespace QBDI { FILE: src/Patch/X86_64/TempManagerImpl_X86_64.h function namespace (line 24) | namespace QBDI { FILE: src/Patch/X86_64/TempManager_X86_64.cpp type QBDI (line 26) | namespace QBDI { FILE: src/Utility/AARCH64/InstAnalysis_AARCH64.cpp type QBDI (line 32) | namespace QBDI { type InstructionAnalysis (line 33) | namespace InstructionAnalysis { function ConditionType (line 35) | ConditionType ConditionLLVM2QBDI(unsigned cond) { function getFlagOperand (line 73) | static unsigned getFlagOperand(unsigned opcode) { function analyseCondition (line 109) | void analyseCondition(InstAnalysis *instAnalysis, const llvm::MCInst... function isFlagOperand (line 125) | bool isFlagOperand(unsigned opcode, unsigned opNum, function getBias (line 135) | unsigned getBias(const llvm::MCInstrDesc &desc) { function getAdditionnalOperandNumber (line 157) | unsigned getAdditionnalOperandNumber(const llvm::MCInst &inst, function getAdditionnalOperand (line 163) | void getAdditionnalOperand(InstAnalysis *instAnalysis, const llvm::M... FILE: src/Utility/AARCH64/System_OSX.cpp type QBDI (line 35) | namespace QBDI { function isRWXSupported (line 37) | bool isRWXSupported() { return false; } function isRWRXSupported (line 38) | bool isRWRXSupported() { return true; } function allocateMappedMemory (line 40) | llvm::sys::MemoryBlock function releaseMappedMemory (line 49) | void releaseMappedMemory(llvm::sys::MemoryBlock &block) { FILE: src/Utility/AARCH64/System_darwin.cpp type QBDI (line 36) | namespace QBDI { function _getHostCPUName (line 38) | static const std::string _getHostCPUName() { function getHostCPUName (line 90) | const std::string getHostCPUName() { function getHostCPUFeatures (line 99) | const std::vector getHostCPUFeatures() { function isHostCPUFeaturePresent (line 162) | bool isHostCPUFeaturePresent(const char *query) { FILE: src/Utility/AARCH64/System_iOS.cpp type QBDI (line 36) | namespace QBDI { function vm_prot_t (line 43) | vm_prot_t getPageProtection(vm_address_t address_, mach_port_t &task) { function cache_RWXSupported (line 71) | void cache_RWXSupported() { function isRWXSupported (line 124) | bool isRWXSupported() { function isRWRXSupported (line 130) | bool isRWRXSupported() { function allocateMappedMemory (line 136) | llvm::sys::MemoryBlock function releaseMappedMemory (line 174) | void releaseMappedMemory(llvm::sys::MemoryBlock &block) { FILE: src/Utility/ARM/InstAnalysis_ARM.cpp type QBDI (line 32) | namespace QBDI { type InstructionAnalysis (line 33) | namespace InstructionAnalysis { function ConditionType (line 35) | ConditionType ConditionLLVM2QBDI(unsigned cond) { function analyseCondition (line 72) | void analyseCondition(InstAnalysis *instAnalysis, const llvm::MCInst... function isFlagOperand (line 176) | bool isFlagOperand(unsigned opcode, unsigned opNum, function getBias (line 183) | unsigned getBias(const llvm::MCInstrDesc &desc) { function getAdditionnalOperandNumber (line 205) | unsigned getAdditionnalOperandNumber(const llvm::MCInst &inst, function getAdditionnalOperand (line 216) | void getAdditionnalOperand(InstAnalysis *instAnalysis, const llvm::M... FILE: src/Utility/ARM/System_darwin.cpp type QBDI (line 36) | namespace QBDI { function _getHostCPUName (line 38) | static const std::string _getHostCPUName() { function getHostCPUName (line 90) | const std::string getHostCPUName() { function getHostCPUFeatures (line 99) | const std::vector getHostCPUFeatures() { function isHostCPUFeaturePresent (line 162) | bool isHostCPUFeaturePresent(const char *query) { FILE: src/Utility/ARM/System_iOS.cpp type QBDI (line 47) | namespace QBDI { function init_jit_server (line 49) | void init_jit_server() { function terminate_jit_server (line 63) | void terminate_jit_server() { function isRWXSupported (line 73) | bool isRWXSupported() { function allocateMappedMemory (line 127) | llvm::sys::MemoryBlock function releaseMappedMemory (line 185) | void releaseMappedMemory(llvm::sys::MemoryBlock &block) { FILE: src/Utility/ARM/server-iOS-jit-user.c function mig_internal (line 130) | mig_internal kern_return_t function mig_external (line 167) | mig_external kern_return_t frida_jit_alloc(mach_port_t server, vm_map_t ... FILE: src/Utility/ARM/server-iOS-jit-user.h type function_table_entry (line 85) | typedef struct { type function_table_entry (line 89) | typedef function_table_entry *function_table_t; type __Request__frida_jit_alloc_t (line 140) | typedef struct { type __Reply__frida_jit_alloc_t (line 172) | typedef struct { FILE: src/Utility/InstAnalysis.cpp type QBDI (line 53) | namespace QBDI { type InstructionAnalysis (line 54) | namespace InstructionAnalysis { function isFlagRegister (line 56) | static bool isFlagRegister(RegLLVM regNo) { function analyseRegister (line 71) | void analyseRegister(OperandAnalysis &opa, RegLLVM regNo, function breakPackedRegister (line 151) | void breakPackedRegister(InstAnalysis *instAnalysis, OperandAnalysis... function tryMergeCurrentRegister (line 212) | void tryMergeCurrentRegister(InstAnalysis *instAnalysis) { function analyseImplicitRegisters (line 237) | void analyseImplicitRegisters(InstAnalysis *instAnalysis, function analyseOperands (line 264) | void analyseOperands(InstAnalysis *instAnalysis, const llvm::MCInst ... function InstAnalysis (line 470) | InstAnalysis *analyzeInstMetadata(const InstMetadata &instMetadata, FILE: src/Utility/InstAnalysis_prive.h function namespace (line 27) | namespace llvm { function namespace (line 34) | namespace QBDI { FILE: src/Utility/LogSys.cpp type QBDI (line 40) | namespace QBDI { class Logger (line 43) | class Logger { method Logger (line 45) | Logger(void) { method Logger (line 51) | Logger(const Logger &) = delete; method Logger (line 53) | Logger &operator=(const Logger &) = delete; method setPriority (line 55) | void setPriority(LogPriority priority) { method setFile (line 76) | void setFile(const std::string &f, bool truncate) { method setDefaultLogger (line 81) | void setDefaultLogger() { method setConsoleLogger (line 90) | void setConsoleLogger() { function qbdi_setLogFile (line 107) | void qbdi_setLogFile(const char *filename, bool truncate) { function setLogFile (line 111) | void setLogFile(const std::string &filename, bool truncate) { function qbdi_setLogPriority (line 115) | void qbdi_setLogPriority(LogPriority priority) { logger.setPriority(pr... function qbdi_setLogConsole (line 117) | void qbdi_setLogConsole() { logger.setConsoleLogger(); } function qbdi_setLogDefault (line 119) | void qbdi_setLogDefault() { logger.setDefaultLogger(); } function format_as (line 123) | std::string format_as(const QBDI::Patch &patch) { FILE: src/Utility/LogSys.h function namespace (line 33) | namespace llvm { function namespace (line 37) | namespace QBDI { FILE: src/Utility/Memory.cpp type QBDI (line 37) | namespace QBDI { function getModuleNames (line 40) | std::vector getModuleNames() { function alignedFree (line 67) | void alignedFree(void *ptr) { function allocateVirtualStack (line 75) | bool allocateVirtualStack(GPRState *ctx, uint32_t stackSize, uint8_t *... function simulateCall (line 87) | void simulateCall(GPRState *ctx, rword returnAddress, function simulateCallV (line 92) | void simulateCallV(GPRState *ctx, rword returnAddress, uint32_t argNum, function simulateCallA (line 101) | void simulateCallA(GPRState *ctx, rword returnAddress, uint32_t argNum, function qbdi_MemoryMap (line 171) | qbdi_MemoryMap *convert_MemoryMap_to_C(std::vector maps, function qbdi_MemoryMap (line 191) | qbdi_MemoryMap *qbdi_getRemoteProcessMaps(rword pid, bool full_path, function qbdi_MemoryMap (line 198) | qbdi_MemoryMap *qbdi_getCurrentProcessMaps(bool full_path, size_t *siz... function qbdi_freeMemoryMapArray (line 204) | void qbdi_freeMemoryMapArray(qbdi_MemoryMap *arr, size_t size) { function qbdi_alignedFree (line 233) | void qbdi_alignedFree(void *ptr) { alignedFree(ptr); } function qbdi_allocateVirtualStack (line 235) | bool qbdi_allocateVirtualStack(GPRState *ctx, uint32_t stackSize, function qbdi_simulateCall (line 240) | void qbdi_simulateCall(GPRState *ctx, rword returnAddress, uint32_t ar... function qbdi_simulateCallV (line 248) | void qbdi_simulateCallV(GPRState *ctx, rword returnAddress, uint32_t a... function qbdi_simulateCallA (line 253) | void qbdi_simulateCallA(GPRState *ctx, rword returnAddress, uint32_t a... FILE: src/Utility/Memory_linux.cpp type QBDI (line 33) | namespace QBDI { function getCurrentProcessMaps (line 35) | std::vector getCurrentProcessMaps(bool full_path) { function getRemoteProcessMaps (line 39) | std::vector getRemoteProcessMaps(QBDI::rword pid, bool full... FILE: src/Utility/Memory_macos.cpp type QBDI (line 32) | namespace QBDI { function mach_vm_address_t (line 46) | mach_vm_address_t getDyldAllImageInfoAddr(task_t task, function getDyldAllImageInfo (line 61) | bool getDyldAllImageInfo(task_t task, type dyld_image_info (line 79) | struct dyld_image_info type dyld_all_image_infos (line 80) | struct dyld_all_image_infos type dyld_image_info (line 82) | struct dyld_image_info type dyld_image_info (line 83) | struct dyld_image_info type dyld_image_info (line 84) | struct dyld_image_info type STRUCT_HEADER (line 103) | struct STRUCT_HEADER type dyld_image_info (line 104) | struct dyld_image_info type STRUCT_HEADER (line 105) | struct STRUCT_HEADER type STRUCT_HEADER (line 106) | struct STRUCT_HEADER type STRUCT_HEADER (line 115) | struct STRUCT_HEADER type STRUCT_HEADER (line 116) | struct STRUCT_HEADER type STRUCT_HEADER (line 116) | struct STRUCT_HEADER type dyld_image_info (line 126) | struct dyld_image_info function getImageSlideWithHeader (line 148) | uintptr_t getImageSlideWithHeader(const struct dyld_image_info *image_... function getProcessMaps (line 166) | static std::vector getProcessMaps(task_t task, bool full_pa... function getCurrentProcessMaps (line 292) | std::vector getCurrentProcessMaps(bool full_path) { function getRemoteProcessMaps (line 302) | std::vector getRemoteProcessMaps(QBDI::rword pid, bool full... FILE: src/Utility/Memory_windows.cpp type QBDI (line 33) | namespace QBDI { function getCurrentProcessMaps (line 39) | std::vector getCurrentProcessMaps(bool full_path) { function getRemoteProcessMaps (line 43) | std::vector getRemoteProcessMaps(QBDI::rword pid, bool full... FILE: src/Utility/MovableDoubleLinkedList.h function namespace (line 23) | namespace QBDI { function ptr (line 113) | ptr(ptr_) {} function ptr (line 130) | ptr(ptr_) {} function insertBegin (line 166) | void insertBegin(MovableDoubleLinkedListElement &el) { function insertEnd (line 175) | void insertEnd(MovableDoubleLinkedListElement &el) { FILE: src/Utility/StackSwitch.cpp type QBDI (line 34) | namespace QBDI { function stackSwitchInternalHandler (line 37) | QBDI::rword stackSwitchInternalHandler(void *switchContext, function rword (line 45) | rword switchStack(void *newStackPtr, std::function handl... FILE: src/Utility/StackSwitch.h function namespace (line 25) | namespace QBDI { FILE: src/Utility/String.cpp type QBDI (line 23) | namespace QBDI { type String (line 24) | namespace String { function startsWith (line 26) | bool startsWith(const char *prefix, const char *str) { FILE: src/Utility/String.h function namespace (line 23) | namespace QBDI { FILE: src/Utility/System.h function namespace (line 28) | namespace QBDI { FILE: src/Utility/System_generic.cpp type QBDI (line 35) | namespace QBDI { function isRWXSupported (line 37) | bool isRWXSupported() { return false; } function isRWRXSupported (line 38) | bool isRWRXSupported() { return true; } function allocateMappedMemory (line 40) | llvm::sys::MemoryBlock function releaseMappedMemory (line 49) | void releaseMappedMemory(llvm::sys::MemoryBlock &block) { function getHostCPUName (line 53) | const std::string getHostCPUName() { function getHostCPUFeatures (line 62) | const std::vector getHostCPUFeatures() { function isHostCPUFeaturePresent (line 149) | bool isHostCPUFeaturePresent(const char *query) { FILE: src/Utility/Version.cpp type QBDI (line 21) | namespace QBDI { FILE: src/Utility/X86_64/InstAnalysis_X86_64.cpp type llvm (line 33) | namespace llvm { class MCRegisterInfo (line 34) | class MCRegisterInfo type QBDI (line 37) | namespace QBDI { type InstructionAnalysis (line 38) | namespace InstructionAnalysis { function ConditionType (line 40) | ConditionType ConditionLLVM2QBDI(unsigned cond) { function analyseCondition (line 79) | void analyseCondition(InstAnalysis *instAnalysis, const llvm::MCInst... function isFlagOperand (line 102) | bool isFlagOperand(unsigned opcode, unsigned opNum, function getBias (line 112) | unsigned getBias(const llvm::MCInstrDesc &desc) { function getAdditionnalOperandNumber (line 116) | unsigned getAdditionnalOperandNumber(const llvm::MCInst &inst, function getAdditionnalOperand (line 134) | void getAdditionnalOperand(InstAnalysis *instAnalysis, const llvm::M... FILE: src/fridaStubs.cpp type QBDI (line 23) | namespace QBDI { function QBDI_EXPORT (line 26) | QBDI_EXPORT rword qbdi_getGPR(GPRState *state, uint32_t rid) { function QBDI_EXPORT (line 30) | QBDI_EXPORT void qbdi_setGPR(GPRState *state, uint32_t rid, rword val) { type StructDesc (line 34) | struct StructDesc { function QBDI_EXPORT (line 40) | QBDI_EXPORT const StructDesc *qbdi_getMemoryAccessStructDesc() { function QBDI_EXPORT (line 56) | QBDI_EXPORT const StructDesc *qbdi_getVMStateStructDesc() { function QBDI_EXPORT (line 70) | QBDI_EXPORT const StructDesc *qbdi_getOperandAnalysisStructDesc() { function QBDI_EXPORT (line 87) | QBDI_EXPORT const StructDesc *qbdi_getInstAnalysisStructDesc() { FILE: src/windowsDllMain.cpp function QBDI_EXPORT (line 24) | QBDI_EXPORT BOOLEAN WINAPI DllMain(IN HINSTANCE hDllHandle, IN DWORD nRe... FILE: templates/qbdi_frida_template/SimpleXOR.c function EXPORT (line 12) | EXPORT int Secret(char *str) { function Hello (line 27) | void Hello() { Secret("Hello world !"); } function main (line 29) | int main() { Hello(); } FILE: templates/qbdi_preload_template/qbdi_preload_template.c function VMAction (line 6) | static VMAction onInstruction(VMInstanceRef vm, GPRState *gprState, function qbdipreload_on_start (line 21) | int qbdipreload_on_start(void *main) { return QBDIPRELOAD_NOT_HANDLED; } function qbdipreload_on_premain (line 23) | int qbdipreload_on_premain(void *gprCtx, void *fpuCtx) { function qbdipreload_on_main (line 27) | int qbdipreload_on_main(int argc, char **argv) { function qbdipreload_on_run (line 36) | int qbdipreload_on_run(VMInstanceRef vm, rword start, rword stop) { function qbdipreload_on_exit (line 42) | int qbdipreload_on_exit(int status) { return QBDIPRELOAD_NO_ERROR; } FILE: templates/qbdi_template/qbdi_template.c function QBDI_NOINLINE (line 9) | QBDI_NOINLINE int secretFunc(unsigned int value) { return value ^ 0x5c; } function VMAction (line 11) | VMAction showInstruction(VMInstanceRef vm, GPRState *gprState, function main (line 22) | int main(int argc, char **argv) { FILE: test/API/AARCH64/InstAnalysisTest_AARCH64.cpp type ExpectedInstAnalysis (line 29) | struct ExpectedInstAnalysis { function debugOperand (line 46) | [[maybe_unused]] static void debugOperand(const QBDI::InstAnalysis *ana) { function checkOperand (line 63) | static void checkOperand(const QBDI::InstAnalysis *ana, function checkInst (line 99) | static void checkInst(const QBDI::InstAnalysis *ana, FILE: test/API/AARCH64/MemoryAccessTest_AARCH64.cpp function checkFeature (line 29) | static bool checkFeature(const char *f) { function debugCB (line 37) | [[maybe_unused]] static QBDI::VMAction debugCB(QBDI::VMInstanceRef vm, type ExpectedMemoryAccess (line 56) | struct ExpectedMemoryAccess { type ExpectedMemoryAccesses (line 65) | struct ExpectedMemoryAccesses { function checkAccess (line 69) | static QBDI::VMAction checkAccess(QBDI::VMInstanceRef vm, function setFPR (line 98) | void setFPR(QBDI::FPRState *fpr, size_t index, QBDI::rword hvalue, function checkFullFPR (line 104) | void checkFullFPR(QBDI::FPRState *fpr, size_t index, QBDI::rword hvalue, function checkLowFPR (line 111) | void checkLowFPR(QBDI::FPRState *fpr, size_t index, QBDI::rword lvalue) { FILE: test/API/AARCH64/VMTest_AARCH64.cpp type TestInst (line 25) | struct TestInst function QBDI_NOINLINE (line 41) | QBDI_NOINLINE QBDI::rword satanicFun(QBDI::rword arg0) { FILE: test/API/AARCH64/VMTest_AARCH64.h type SizedTestCode (line 39) | struct SizedTestCode { type TestInst (line 44) | struct TestInst { type TestInst (line 52) | struct TestInst FILE: test/API/AARCH64/VMTest_AARCH64_LDRL.cpp function QBDI_NOINLINE (line 25) | QBDI_NOINLINE uint64_t ldrlX() { function QBDI_NOINLINE (line 49) | QBDI_NOINLINE uint64_t ldrlW_1() { function QBDI_NOINLINE (line 73) | QBDI_NOINLINE uint64_t ldrlW_2() { function QBDI_NOINLINE (line 96) | QBDI_NOINLINE uint64_t ldrlSW_1() { function QBDI_NOINLINE (line 119) | QBDI_NOINLINE uint64_t ldrlSW_2() { FILE: test/API/AARCH64/VMTest_AARCH64_LocalMonitor.cpp function x28CBK (line 26) | QBDI::VMAction x28CBK(QBDI::VMInstanceRef vm, QBDI::GPRState *gprState, function QBDI_NOINLINE (line 33) | QBDI_NOINLINE uint64_t simpleStore() { function QBDI_NOINLINE (line 57) | QBDI_NOINLINE uint64_t clearMonitor() { function QBDI_NOINLINE (line 82) | QBDI_NOINLINE uint64_t doubleStackStore() { function QBDI_NOINLINE (line 111) | QBDI_NOINLINE uint64_t doubleStore(uint64_t *arg) { FILE: test/API/AARCH64/VMTest_AARCH64_X28.cpp function dummyCB (line 25) | static QBDI::VMAction dummyCB(QBDI::VMInstanceRef vm, QBDI::GPRState *gp... function QBDI_NOINLINE (line 30) | QBDI_NOINLINE uint64_t useX28_simple() { function QBDI_NOINLINE (line 83) | QBDI_NOINLINE uint64_t useX28_crossBB() { FILE: test/API/APITest.cpp function dummyFn (line 33) | static void dummyFn() {} FILE: test/API/APITest.h function class (line 30) | class APITest { FILE: test/API/ARM/InstAnalysisTest_ARM.cpp type ExpectedInstAnalysis (line 29) | struct ExpectedInstAnalysis { function debugOperand (line 47) | [[maybe_unused]] static void debugOperand(const QBDI::InstAnalysis *ana) { function checkOperand (line 64) | static void checkOperand(const QBDI::InstAnalysis *ana, function checkInst (line 100) | static void checkInst(const QBDI::InstAnalysis *ana, FILE: test/API/ARM/InstAnalysisTest_Thumb.cpp type ExpectedInstAnalysis (line 29) | struct ExpectedInstAnalysis { function debugOperand (line 47) | [[maybe_unused]] static void debugOperand(const QBDI::InstAnalysis *ana) { function checkOperand (line 64) | static void checkOperand(const QBDI::InstAnalysis *ana, function checkInst (line 100) | static void checkInst(const QBDI::InstAnalysis *ana, FILE: test/API/ARM/MemoryAccessTest_ARM.cpp function checkFeature (line 29) | [[maybe_unused]] static bool checkFeature(const char *f) { function debugCB (line 37) | [[maybe_unused]] static QBDI::VMAction debugCB(QBDI::VMInstanceRef vm, type ExpectedMemoryAccess (line 56) | struct ExpectedMemoryAccess { type ExpectedMemoryAccesses (line 65) | struct ExpectedMemoryAccesses { function checkAccess (line 69) | static QBDI::VMAction checkAccess(QBDI::VMInstanceRef vm, FILE: test/API/ARM/MemoryAccessTest_ARM_LDM_STM.cpp function debugCB (line 29) | [[maybe_unused]] static QBDI::VMAction debugCB(QBDI::VMInstanceRef vm, type ExpectedMemoryAccess (line 48) | struct ExpectedMemoryAccess { type ExpectedMemoryAccesses (line 57) | struct ExpectedMemoryAccesses { function checkAccess (line 61) | static QBDI::VMAction checkAccess(QBDI::VMInstanceRef vm, FILE: test/API/ARM/MemoryAccessTest_Thumb.cpp function checkFeature (line 29) | [[maybe_unused]] static bool checkFeature(const char *f) { function debugCB (line 37) | [[maybe_unused]] static QBDI::VMAction debugCB(QBDI::VMInstanceRef vm, type ExpectedMemoryAccess (line 56) | struct ExpectedMemoryAccess { type ExpectedMemoryAccesses (line 65) | struct ExpectedMemoryAccesses { function checkAccess (line 69) | static QBDI::VMAction checkAccess(QBDI::VMInstanceRef vm, FILE: test/API/ARM/MemoryAccessTest_Thumb_LDM_STM.cpp function debugCB (line 29) | [[maybe_unused]] static QBDI::VMAction debugCB(QBDI::VMInstanceRef vm, type ExpectedMemoryAccess (line 48) | struct ExpectedMemoryAccess { type ExpectedMemoryAccesses (line 57) | struct ExpectedMemoryAccesses { function checkAccess (line 61) | static QBDI::VMAction checkAccess(QBDI::VMInstanceRef vm, FILE: test/API/ARM/VMTest_ARM.cpp type TestInst (line 25) | struct TestInst function QBDI_NOINLINE (line 37) | QBDI_NOINLINE QBDI::rword satanicFun(QBDI::rword arg0) { FILE: test/API/ARM/VMTest_ARM.h type SizedTestCode (line 36) | struct SizedTestCode { type TestInst (line 41) | struct TestInst { type TestInst (line 49) | struct TestInst FILE: test/API/MemoryAccessTest.cpp type TestInfo (line 36) | struct TestInfo { function arrayRead8 (line 42) | QBDI::rword arrayRead8(volatile char *buffer, size_t size) { function arrayRead16 (line 50) | QBDI::rword arrayRead16(volatile uint16_t *buffer, size_t size) { function arrayRead32 (line 58) | QBDI::rword arrayRead32(volatile uint32_t *buffer, size_t size) { function arrayWrite8 (line 66) | QBDI::rword arrayWrite8(volatile uint8_t *buffer, size_t size) { function arrayWrite16 (line 76) | QBDI::rword arrayWrite16(volatile uint16_t *buffer, size_t size) { function arrayWrite32 (line 86) | QBDI::rword arrayWrite32(volatile uint32_t *buffer, size_t size) { function unrolledRead (line 96) | QBDI::rword unrolledRead(volatile char *buffer) { function unrolledWrite (line 111) | QBDI::rword unrolledWrite(volatile char *buffer) { function unrolledReadLoop (line 138) | QBDI::rword unrolledReadLoop(volatile char *buffer, size_t len) { function unrolledWriteLoop (line 146) | QBDI::rword unrolledWriteLoop(volatile char *buffer, size_t len) { function mad (line 155) | QBDI::rword mad(volatile uint32_t *a, volatile uint32_t *b, function checkArrayRead8 (line 165) | QBDI::VMAction checkArrayRead8(QBDI::VMInstanceRef vm, QBDI::GPRState *g... function checkArrayRead16 (line 186) | QBDI::VMAction checkArrayRead16(QBDI::VMInstanceRef vm, function checkArrayRead32 (line 209) | QBDI::VMAction checkArrayRead32(QBDI::VMInstanceRef vm, function checkArrayWrite8 (line 232) | QBDI::VMAction checkArrayWrite8(QBDI::VMInstanceRef vm, function checkArrayWrite16 (line 254) | QBDI::VMAction checkArrayWrite16(QBDI::VMInstanceRef vm, function checkArrayWrite32 (line 277) | QBDI::VMAction checkArrayWrite32(QBDI::VMInstanceRef vm, function checkUnrolledReadInst (line 300) | QBDI::VMAction checkUnrolledReadInst(QBDI::VMInstanceRef vm, function checkUnrolledWriteInst (line 322) | QBDI::VMAction checkUnrolledWriteInst(QBDI::VMInstanceRef vm, function checkUnrolledReadBB (line 344) | QBDI::VMAction checkUnrolledReadBB(QBDI::VMInstanceRef vm, function checkUnrolledWriteBB (line 367) | QBDI::VMAction checkUnrolledWriteBB(QBDI::VMInstanceRef vm, function readSnooper (line 390) | QBDI::VMAction readSnooper(QBDI::VMInstanceRef vm, QBDI::GPRState *gprSt... function writeSnooper (line 406) | QBDI::VMAction writeSnooper(QBDI::VMInstanceRef vm, QBDI::GPRState *gprS... FILE: test/API/OptionsTest.h function class (line 25) | class OptionsTest { FILE: test/API/RangeTest.cpp function checkRangeSetInvariant (line 26) | void checkRangeSetInvariant(const QBDI::RangeSet &set) { function randomPermutation (line 122) | void randomPermutation(std::vector &v) { FILE: test/API/VMTest.cpp function QBDI_DISABLE_ASAN (line 45) | QBDI_DISABLE_ASAN QBDI_NOINLINE int dummyFun0() { return 42; } function QBDI_DISABLE_ASAN (line 47) | QBDI_DISABLE_ASAN QBDI_NOINLINE int dummyFun1(int arg0) { return arg0; } function QBDI_DISABLE_ASAN (line 49) | QBDI_DISABLE_ASAN QBDI_NOINLINE int dummyFun4(int arg0, int arg1, int arg2, function QBDI_DISABLE_ASAN (line 54) | QBDI_DISABLE_ASAN QBDI_NOINLINE int dummyFun5(int arg0, int arg1, int arg2, function QBDI_DISABLE_ASAN (line 59) | QBDI_DISABLE_ASAN QBDI_NOINLINE int dummyFun8(int arg0, int arg1, int arg2, function QBDI_DISABLE_ASAN (line 65) | QBDI_DISABLE_ASAN QBDI_NOINLINE int dummyFunCall(int arg0) { function QBDI_DISABLE_ASAN (line 75) | QBDI_DISABLE_ASAN QBDI_NOINLINE int dummyFunBB(int arg0, int arg1, int a... function countInstruction (line 171) | QBDI::VMAction countInstruction(QBDI::VMInstanceRef vm, function evilCbk (line 178) | QBDI::VMAction evilCbk(QBDI::VMInstanceRef vm, QBDI::GPRState *gprState, type TestInst (line 249) | struct TestInst function checkTransfer (line 333) | QBDI::VMAction checkTransfer(QBDI::VMInstanceRef vm, const QBDI::VMState... type CheckBasicBlockData (line 377) | struct CheckBasicBlockData { function checkBasicBlock (line 384) | static QBDI::VMAction checkBasicBlock(QBDI::VMInstanceRef vm, type FunkyInfo (line 530) | struct FunkyInfo { function funkyCountInstruction (line 535) | QBDI::VMAction funkyCountInstruction(QBDI::VMInstanceRef vm, type PriorityDataCall (line 594) | struct PriorityDataCall { method PriorityDataCall (line 599) | PriorityDataCall(QBDI::rword addr, QBDI::InstPosition pos, int priority) function priorityInstrCB (line 603) | static std::vector type SkipTestData (line 779) | struct SkipTestData { type MoveCallbackStruct (line 920) | struct MoveCallbackStruct { function allowedNewBlock (line 930) | static QBDI::VMAction allowedNewBlock(QBDI::VMInstanceRef vm, function instrumentCopyCB (line 943) | static std::vector function verifyVMRef (line 954) | static QBDI::VMAction verifyVMRef(QBDI::VMInstanceRef vm, QBDI::GPRState *, function verifyCB2 (line 963) | static QBDI::VMAction verifyCB2(QBDI::VMInstanceRef vm, QBDI::GPRState *, type CheckReduceSizeData (line 1815) | struct CheckReduceSizeData { FILE: test/API/X86/InstAnalysisTest_X86.cpp type ExpectedInstAnalysis (line 29) | struct ExpectedInstAnalysis { function debugOperand (line 46) | [[maybe_unused]] static void debugOperand(const QBDI::InstAnalysis *ana) { function checkOperand (line 63) | static void checkOperand(const QBDI::InstAnalysis *ana, function checkInst (line 99) | static void checkInst(const QBDI::InstAnalysis *ana, FILE: test/API/X86/MemoryAccessTest_X86.cpp function checkFeature (line 29) | static bool checkFeature(const char *f) { type ExpectedMemoryAccess (line 53) | struct ExpectedMemoryAccess { type ExpectedMemoryAccesses (line 62) | struct ExpectedMemoryAccesses { function checkAccess (line 66) | static QBDI::VMAction checkAccess(QBDI::VMInstanceRef vm, FILE: test/API/X86/OptionsTest_X86.cpp function setBool (line 55) | static QBDI::VMAction setBool(QBDI::VMInstanceRef vm, QBDI::GPRState *gp... FILE: test/API/X86/VMTest_X86.cpp type TestInst (line 25) | struct TestInst function QBDI_NOINLINE (line 92) | QBDI_NOINLINE QBDI::rword satanicFun(QBDI::rword arg0) { FILE: test/API/X86/VMTest_X86.h type TestInst (line 36) | struct TestInst { type SizedTestCode (line 44) | struct SizedTestCode { type TestInst (line 49) | struct TestInst FILE: test/API/X86_64/InstAnalysisTest_X86_64.cpp type ExpectedInstAnalysis (line 29) | struct ExpectedInstAnalysis { function checkDisassembly (line 46) | static void checkDisassembly(const QBDI::InstAnalysis *ana, function debugOperand (line 51) | [[maybe_unused]] static void debugOperand(const QBDI::InstAnalysis *ana) { function checkOperand (line 68) | static void checkOperand(const QBDI::InstAnalysis *ana, function checkInst (line 104) | static void checkInst(const QBDI::InstAnalysis *ana, FILE: test/API/X86_64/MemoryAccessTest_X86_64.cpp function checkFeature (line 29) | static bool checkFeature(const char *f) { type ExpectedMemoryAccess (line 53) | struct ExpectedMemoryAccess { type ExpectedMemoryAccesses (line 62) | struct ExpectedMemoryAccesses { function checkAccess (line 66) | static QBDI::VMAction checkAccess(QBDI::VMInstanceRef vm, FILE: test/API/X86_64/OptionsTest_X86_64.cpp function setBool (line 55) | static QBDI::VMAction setBool(QBDI::VMInstanceRef vm, QBDI::GPRState *gp... FILE: test/API/X86_64/VMTest_X86_64.cpp type TestInst (line 25) | struct TestInst function QBDI_NOINLINE (line 92) | QBDI_NOINLINE QBDI::rword satanicFun(QBDI::rword arg0) { FILE: test/API/X86_64/VMTest_X86_64.h type TestInst (line 36) | struct TestInst { type SizedTestCode (line 44) | struct SizedTestCode { type TestInst (line 49) | struct TestInst FILE: test/Benchmark/Fibonacci.cpp function QBDI_NOINLINE (line 25) | QBDI_NOINLINE QBDI::rword Fibonacci(QBDI::rword number) { function eventCB (line 31) | static QBDI::VMAction eventCB(QBDI::VMInstanceRef vm, function eventMemoryCB (line 38) | static QBDI::VMAction eventMemoryCB(QBDI::VMInstanceRef vm, function instEmptyCB (line 47) | static QBDI::VMAction instEmptyCB(QBDI::VMInstanceRef vm, function instCB (line 53) | static QBDI::VMAction instCB(QBDI::VMInstanceRef vm, QBDI::GPRState *gpr... function instMemoryCB (line 64) | static QBDI::VMAction instMemoryCB(QBDI::VMInstanceRef vm, FILE: test/Benchmark/SHA256.cpp function QBDI_NOINLINE (line 29) | QBDI_NOINLINE sha256::HashType *compute_sha(size_t l) { function eventCB (line 35) | static QBDI::VMAction eventCB(QBDI::VMInstanceRef vm, function eventMemoryCB (line 42) | static QBDI::VMAction eventMemoryCB(QBDI::VMInstanceRef vm, function instEmptyCB (line 51) | static QBDI::VMAction instEmptyCB(QBDI::VMInstanceRef vm, function instCB (line 57) | static QBDI::VMAction instCB(QBDI::VMInstanceRef vm, QBDI::GPRState *gpr... function instMemoryCB (line 68) | static QBDI::VMAction instMemoryCB(QBDI::VMInstanceRef vm, FILE: test/ExecBlock/AARCH64/PatchEmptyAARCH64.cpp function generateEmptyPatch (line 24) | QBDI::Patch generateEmptyPatch(QBDI::rword address, FILE: test/ExecBlock/ARM/PatchEmptyARM.cpp function generateEmptyPatch (line 24) | QBDI::Patch generateEmptyPatch(QBDI::rword address, FILE: test/ExecBlock/ExecBlockManagerTest.cpp function getEmptyBB (line 33) | QBDI::Patch::Vec getEmptyBB(QBDI::rword address, FILE: test/ExecBlock/ExecBlockManagerTest.h function class (line 24) | class ExecBlockManagerTest : public LLVMTestEnv { FILE: test/ExecBlock/ExecBlockTest.h function class (line 25) | class ExecBlockTest : public LLVMTestEnv { FILE: test/ExecBlock/X86/PatchEmptyX86.cpp function generateEmptyPatch (line 24) | QBDI::Patch generateEmptyPatch(QBDI::rword address, FILE: test/ExecBlock/X86_64/PatchEmptyX86_64.cpp function generateEmptyPatch (line 24) | QBDI::Patch generateEmptyPatch(QBDI::rword address, FILE: test/Patch/AARCH64/ComparedExecutor_AARCH64.h function class (line 38) | class ComparedExecutor_AARCH64 : public ShellcodeTester { FILE: test/Patch/AARCH64/LLVMOperandInfo_AARCH64.cpp class LLVMOperandInfoCheck (line 30) | class LLVMOperandInfoCheck : public LLVMTestEnv { FILE: test/Patch/ARM/ComparedExecutor_ARM.cpp function InMemoryObject (line 26) | InMemoryObject FILE: test/Patch/ARM/ComparedExecutor_ARM.h function class (line 47) | class ComparedExecutor_ARM : public ShellcodeTester { FILE: test/Patch/ARM/ComparedExecutor_Thumb.cpp function InMemoryObject (line 26) | InMemoryObject FILE: test/Patch/ARM/ComparedExecutor_Thumb.h function class (line 65) | class ComparedExecutor_Thumb : public ShellcodeTester { FILE: test/Patch/ARM/Instr_Test_Thumb.cpp function incrementThumbPre (line 21) | QBDI::VMAction incrementThumbPre(QBDI::VMInstanceRef vm, function incrementThumbPost (line 33) | QBDI::VMAction incrementThumbPost(QBDI::VMInstanceRef vm, FILE: test/Patch/ARM/Instr_Test_Thumb.h function class (line 30) | class Instr_Test_Thumb : public ComparedExecutor_Thumb {} FILE: test/Patch/ARM/LLVMOperandInfo_ARM.cpp class LLVMOperandInfoCheck (line 30) | class LLVMOperandInfoCheck : public LLVMTestEnv { FILE: test/Patch/ARM/Patch_Test_Thumb.h function class (line 30) | class Patch_Test_Thumb : public ComparedExecutor_Thumb {} FILE: test/Patch/Instr_Test.cpp function increment (line 21) | QBDI::VMAction increment(QBDI::VMInstanceRef vm, QBDI::GPRState *gprState, FILE: test/Patch/Instr_Test.h function class (line 31) | class Instr_Test : public ComparedExecutor_X86 {} function class (line 35) | class Instr_Test : public ComparedExecutor_X86_64 {} function class (line 39) | class Instr_Test : public ComparedExecutor_ARM {} function class (line 44) | class Instr_Test : public ComparedExecutor_AARCH64 {} FILE: test/Patch/MemoryAccessTable.h function class (line 23) | class MemoryAccessTable : public LLVMTestEnv {} FILE: test/Patch/Patch_Test.h function class (line 31) | class Patch_Test : public ComparedExecutor_X86 {} function class (line 35) | class Patch_Test : public ComparedExecutor_X86_64 {} function class (line 39) | class Patch_Test : public ComparedExecutor_ARM {} function class (line 44) | class Patch_Test : public ComparedExecutor_AARCH64 {} FILE: test/Patch/Utils.cpp function seed_random (line 23) | QBDI::rword seed_random() { function get_random (line 35) | QBDI::rword get_random() { FILE: test/Patch/X86/ComparedExecutor_X86.cpp function InMemoryObject (line 27) | InMemoryObject FILE: test/Patch/X86/ComparedExecutor_X86.h function class (line 36) | class ComparedExecutor_X86 : public ShellcodeTester { FILE: test/Patch/X86_64/ComparedExecutor_X86_64.cpp function InMemoryObject (line 27) | InMemoryObject FILE: test/Patch/X86_64/ComparedExecutor_X86_64.h function class (line 38) | class ComparedExecutor_X86_64 : public ShellcodeTester { FILE: test/Patch/X86_64/LLVMOperandInfo_X86_64.cpp class LLVMOperandInfoCheck (line 30) | class LLVMOperandInfoCheck : public LLVMTestEnv { FILE: test/QBDIBenchmark.cpp function main (line 28) | int main(int argc, char **argv) { FILE: test/QBDITest.cpp function getpid (line 31) | static int getpid() { return GetCurrentProcessId(); } function main (line 36) | int main(int argc, char **argv) { FILE: test/TestSetup/InMemoryAssembler.cpp function writeResult (line 52) | void writeResult(const char *source, FILE: test/TestSetup/InMemoryAssembler.h function namespace (line 27) | namespace llvm::object { function namespace (line 31) | namespace QBDI { function class (line 35) | class InMemoryObject { FILE: test/TestSetup/LLVMTestEnv.h function class (line 27) | class LLVMTestEnv : public QBDI::LLVMCPUs {} FILE: test/TestSetup/ShellcodeTester.h function class (line 29) | class ShellcodeTester { FILE: tools/QBDIPreload/include/QBDIPreload.h function namespace (line 28) | namespace QBDI { FILE: tools/QBDIPreload/src/AARCH64/linux_AARCH64.c type fpsimd_context (line 23) | typedef struct { function qbdipreload_threadCtxToGPRState (line 33) | void qbdipreload_threadCtxToGPRState(const void *gprCtx, GPRState *gprSt... function qbdipreload_floatCtxToFPRState (line 73) | void qbdipreload_floatCtxToFPRState(const void *fprCtx, FPRState *fprSta... function prepareStack (line 114) | void prepareStack(void *newStack, size_t sizeStack, ucontext_t *uap) { function removeConflictModule (line 119) | void removeConflictModule(VMInstanceRef vm, qbdi_MemoryMap *modules, FILE: tools/QBDIPreload/src/AARCH64/linux_AARCH64.h function rword (line 39) | static inline rword getReturnAddress(GPRState *gprState) { function fix_ucontext_t (line 43) | static inline void fix_ucontext_t(ucontext_t *uap) { function setPC (line 49) | static inline void setPC(ucontext_t *uap, rword address) { FILE: tools/QBDIPreload/src/AARCH64/macos_AARCH64.c function qbdipreload_threadCtxToGPRState (line 29) | void qbdipreload_threadCtxToGPRState(const void *gprCtx, GPRState *gprSt... function qbdipreload_floatCtxToFPRState (line 68) | void qbdipreload_floatCtxToFPRState(const void *fprCtx, FPRState *fprSta... FILE: tools/QBDIPreload/src/AARCH64/macos_AARCH64.h function rword (line 42) | static inline rword getReturnAddress(GPRState *gprState) { function rword (line 46) | static inline rword getPC(THREAD_STATE *state) { function setPC (line 50) | static inline void setPC(THREAD_STATE *state, rword address) { function prepareStack (line 54) | static inline void prepareStack(void *newStack, size_t sizeStack, function fixSignalPC (line 60) | static inline void fixSignalPC(THREAD_STATE *state) {} FILE: tools/QBDIPreload/src/ARM/linux_ARM.c function qbdipreload_threadCtxToGPRState (line 22) | void qbdipreload_threadCtxToGPRState(const void *gprCtx, GPRState *gprSt... function qbdipreload_floatCtxToFPRState (line 47) | void qbdipreload_floatCtxToFPRState(const void *fprCtx, FPRState *fprSta... function prepareStack (line 51) | void prepareStack(void *newStack, size_t sizeStack, ucontext_t *uap) { function removeConflictModule (line 56) | void removeConflictModule(VMInstanceRef vm, qbdi_MemoryMap *modules, FILE: tools/QBDIPreload/src/ARM/linux_ARM.h function rword (line 46) | static inline rword getReturnAddress(GPRState *gprState) { function fix_ucontext_t (line 50) | static inline void fix_ucontext_t(ucontext_t *uap) { function setPC (line 56) | static inline void setPC(ucontext_t *uap, rword address) { FILE: tools/QBDIPreload/src/X86/linux_X86.c function qbdipreload_threadCtxToGPRState (line 22) | void qbdipreload_threadCtxToGPRState(const void *gprCtx, GPRState *gprSt... function qbdipreload_floatCtxToFPRState (line 37) | void qbdipreload_floatCtxToFPRState(const void *fprCtx, FPRState *fprSta... function prepareStack (line 61) | void prepareStack(void *newStack, size_t sizeStack, ucontext_t *uap) { function removeConflictModule (line 71) | void removeConflictModule(VMInstanceRef vm, qbdi_MemoryMap *modules, FILE: tools/QBDIPreload/src/X86/linux_X86.h function rword (line 39) | static inline rword getReturnAddress(GPRState *gprState) { function fix_ucontext_t (line 43) | static inline void fix_ucontext_t(ucontext_t *uap) { function setPC (line 49) | static inline void setPC(ucontext_t *uap, rword address) { FILE: tools/QBDIPreload/src/X86/macos_X86.c function qbdipreload_threadCtxToGPRState (line 28) | void qbdipreload_threadCtxToGPRState(const void *gprCtx, GPRState *gprSt... function qbdipreload_floatCtxToFPRState (line 43) | void qbdipreload_floatCtxToFPRState(const void *fprCtx, FPRState *fprSta... FILE: tools/QBDIPreload/src/X86/macos_X86.h function rword (line 41) | static inline rword getReturnAddress(GPRState *gprState) { function rword (line 45) | static inline rword getPC(THREAD_STATE *state) { return state->__rip; } function setPC (line 47) | static inline void setPC(THREAD_STATE *state, rword address) { function prepareStack (line 51) | static inline void prepareStack(void *newStack, size_t sizeStack, function fixSignalPC (line 57) | static inline void fixSignalPC(THREAD_STATE *state) { state->__eip -= 1; } FILE: tools/QBDIPreload/src/X86_64/linux_X86_64.c function qbdipreload_threadCtxToGPRState (line 22) | void qbdipreload_threadCtxToGPRState(const void *gprCtx, GPRState *gprSt... function qbdipreload_floatCtxToFPRState (line 45) | void qbdipreload_floatCtxToFPRState(const void *fprCtx, FPRState *fprSta... function prepareStack (line 81) | void prepareStack(void *newStack, size_t sizeStack, ucontext_t *uap) { function removeConflictModule (line 86) | void removeConflictModule(VMInstanceRef vm, qbdi_MemoryMap *modules, FILE: tools/QBDIPreload/src/X86_64/linux_X86_64.h function rword (line 39) | static inline rword getReturnAddress(GPRState *gprState) { function fix_ucontext_t (line 43) | static inline void fix_ucontext_t(ucontext_t *uap) { function setPC (line 49) | static inline void setPC(ucontext_t *uap, rword address) { FILE: tools/QBDIPreload/src/X86_64/macos_X86_64.c function qbdipreload_threadCtxToGPRState (line 29) | void qbdipreload_threadCtxToGPRState(const void *gprCtx, GPRState *gprSt... function qbdipreload_floatCtxToFPRState (line 52) | void qbdipreload_floatCtxToFPRState(const void *fprCtx, FPRState *fprSta... FILE: tools/QBDIPreload/src/X86_64/macos_X86_64.h function rword (line 41) | static inline rword getReturnAddress(GPRState *gprState) { function rword (line 45) | static inline rword getPC(THREAD_STATE *state) { return state->__rip; } function setPC (line 47) | static inline void setPC(THREAD_STATE *state, rword address) { function prepareStack (line 51) | static inline void prepareStack(void *newStack, size_t sizeStack, function fixSignalPC (line 57) | static inline void fixSignalPC(THREAD_STATE *state) { state->__rip -= 1; } FILE: tools/QBDIPreload/src/darwin_exceptd.c type ExceptionHandler (line 28) | struct ExceptionHandler { type ExceptionHandler (line 38) | struct ExceptionHandler function kern_return_t (line 42) | kern_return_t catch_mach_exception_raise(mach_port_t exception_port, function kern_return_t (line 66) | kern_return_t catch_mach_exception_raise_state( function kern_return_t (line 77) | kern_return_t catch_mach_exception_raise_state_identity( type ExceptionHandler (line 93) | struct ExceptionHandler type ExceptionHandler (line 93) | struct ExceptionHandler type ExceptionHandler (line 142) | struct ExceptionHandler type ExceptionHandler (line 148) | struct ExceptionHandler type ExceptionHandler (line 149) | struct ExceptionHandler type ExceptionHandler (line 160) | struct ExceptionHandler type ExceptionHandler (line 161) | struct ExceptionHandler type ExceptionHandler (line 193) | struct ExceptionHandler type ExceptionHandler (line 193) | struct ExceptionHandler type ExceptionHandler (line 194) | struct ExceptionHandler type ExceptionHandler (line 197) | struct ExceptionHandler function stopExceptionHandler (line 215) | void stopExceptionHandler(struct ExceptionHandler *exceptionHandler) { FILE: tools/QBDIPreload/src/darwin_exceptd.h type kern_return_t (line 21) | typedef kern_return_t (*exception_handler_func)(mach_port_t, mach_port_t, type ExceptionHandler (line 26) | struct ExceptionHandler type ExceptionHandler (line 28) | struct ExceptionHandler type ExceptionHandler (line 32) | struct ExceptionHandler FILE: tools/QBDIPreload/src/darwin_preload.c type ExceptionHandler (line 66) | struct ExceptionHandler function writeCode (line 68) | static void writeCode(rword address, void *data, size_t data_size) { function setEntryBreakpoint (line 130) | void setEntryBreakpoint(rword address) { function unsetEntryBreakpoint (line 197) | void unsetEntryBreakpoint() { function rword (line 221) | rword getEntrypointAddress() { function catchEntrypoint (line 329) | void catchEntrypoint(int argc, char **argv) { function kern_return_t (line 377) | kern_return_t redirectExec(mach_port_t exception_port, mach_port_t thread, function qbdipreload_hook_main (line 455) | int qbdipreload_hook_main(void *main) { function QBDI_FORCE_EXPORT (line 462) | QBDI_FORCE_EXPORT void intercept_exit(int status) { function intercept__exit (line 471) | void intercept__exit(int status) { function qbdipreload_hook_init (line 480) | int qbdipreload_hook_init() { FILE: tools/QBDIPreload/src/linux_preload.c type sigaction (line 50) | struct sigaction function setEntryBreakpoint (line 58) | void setEntryBreakpoint(void *address_) { function unsetEntryBreakpoint (line 80) | void unsetEntryBreakpoint() { function catchEntrypoint (line 108) | void catchEntrypoint(int argc, char **argv) { function redirectExec (line 140) | void redirectExec(int signum, siginfo_t *info, void *data) { type sigaction (line 163) | struct sigaction function qbdipreload_hook_main (line 179) | int qbdipreload_hook_main(void *main) { function QBDI_FORCE_EXPORT (line 185) | QBDI_FORCE_EXPORT void exit(int status) { function QBDI_FORCE_EXPORT (line 194) | QBDI_FORCE_EXPORT void _exit(int status) { function QBDI_FORCE_EXPORT (line 207) | QBDI_FORCE_EXPORT int __libc_start_main(int (*main)(int, char **, char **), function qbdipreload_hook_init (line 233) | int qbdipreload_hook_init() { FILE: tools/QBDIPreload/src/win_preload.c function qbdipreload_threadCtxToGPRState (line 70) | void qbdipreload_threadCtxToGPRState(const void *gprCtx, GPRState *gprSt... function fullTagWordToAbridged (line 106) | static uint8_t fullTagWordToAbridged(uint16_t fullTag) { function qbdipreload_floatCtxToFPRState (line 121) | void qbdipreload_floatCtxToFPRState(const void *gprCtx, FPRState *fprSta... function setInt1Exception (line 221) | int setInt1Exception(void *fn_va) { function unsetInt1Exception (line 245) | int unsetInt1Exception() { function unsetExceptionHandler (line 263) | int unsetExceptionHandler(LONG (*exception_filter_fn)(PEXCEPTION_POINTER... function setExceptionHandler (line 271) | int setExceptionHandler(PVECTORED_EXCEPTION_HANDLER exception_filter_fn) { function removeConflictModule (line 280) | void removeConflictModule(VMInstanceRef vm, qbdi_MemoryMap *modules, function qbdipreload_trampoline_impl (line 321) | void qbdipreload_trampoline_impl() { function LONG (line 363) | LONG WINAPI QbdiPreloadExceptionFilter(PEXCEPTION_POINTERS exc_info) { FILE: tools/QBDIWinPreloader/src/QBDIWinPreloader.c function main (line 5) | int main(int argc, TCHAR **argv) { FILE: tools/frida-qbdi.js class Binder (line 43) | class Binder { method constructor (line 44) | constructor() { } method findLibrary (line 46) | findLibrary(lib, paths) { method safeNativeFunction (line 76) | safeNativeFunction(cbk, ret, args) { method load (line 84) | load(lib, paths) { method bind (line 101) | bind(name, ret, args) { class QBDIBinder (line 109) | class QBDIBinder extends Binder { method QBDI_LIB (line 113) | get QBDI_LIB() { method QBDI_PATHS (line 122) | get QBDI_PATHS() { method bind (line 139) | bind(name, ret, args) { method load (line 146) | load() { function hexPointer (line 276) | function hexPointer(ptr) { class InstrRuleDataCBK (line 874) | class InstrRuleDataCBK { method constructor (line 883) | constructor(pos, cbk, data, priority = CallbackPriority.PRIORITY_DEFAU... class State (line 891) | class State { method constructor (line 892) | constructor(state) { method ptr (line 899) | get ptr() { method toRword (line 903) | toRword() { method toString (line 907) | toString() { class GPRState (line 915) | class GPRState extends State { method _getGPRId (line 916) | _getGPRId(rid) { method getRegister (line 933) | getRegister(rid) { method setRegister (line 947) | setRegister(rid, value) { method getRegisters (line 959) | getRegisters() { method setRegisters (line 973) | setRegisters(gprs) { method synchronizeRegister (line 989) | synchronizeRegister(FridaCtx, rid, direction) { method synchronizeContext (line 1006) | synchronizeContext(FridaCtx, direction) { method pp (line 1025) | pp(color) { method dump (line 1051) | dump(color) { method validOrThrow (line 1055) | static validOrThrow(state) { class FPRState (line 1065) | class FPRState extends State { method validOrThrow (line 1066) | static validOrThrow(state) { class VM (line 1073) | class VM { method constructor (line 1087) | constructor() { method ptr (line 1122) | get ptr() { method version (line 1131) | get version() { method getOptions (line 1153) | getOptions() { method setOptions (line 1162) | setOptions(options) { method addInstrumentedRange (line 1172) | addInstrumentedRange(start, end) { method addInstrumentedModule (line 1183) | addInstrumentedModule(name) { method addInstrumentedModuleFromAddr (line 1195) | addInstrumentedModuleFromAddr(addr) { method instrumentAllExecutableMaps (line 1204) | instrumentAllExecutableMaps() { method removeInstrumentedRange (line 1214) | removeInstrumentedRange(start, end) { method removeInstrumentedModule (line 1225) | removeInstrumentedModule(name) { method removeInstrumentedModuleFromAddr (line 1237) | removeInstrumentedModuleFromAddr(addr) { method removeAllInstrumentedRanges (line 1244) | removeAllInstrumentedRanges() { method run (line 1256) | run(start, stop) { method getGPRState (line 1265) | getGPRState() { method getFPRState (line 1274) | getFPRState() { method getErrno (line 1283) | getErrno() { method setGPRState (line 1292) | setGPRState(state) { method setFPRState (line 1302) | setFPRState(state) { method setErrno (line 1312) | setErrno(errno) { method precacheBasicBlock (line 1323) | precacheBasicBlock(pc) { method clearCache (line 1333) | clearCache(start, end) { method clearAllCache (line 1340) | clearAllCache() { method getNbExecBlock (line 1350) | getNbExecBlock() { method reduceCacheTo (line 1362) | reduceCacheTo(nb) { method addMnemonicCB (line 1377) | addMnemonicCB(mnem, pos, cbk, data, priority = CallbackPriority.PRIORI... method addMemAccessCB (line 1395) | addMemAccessCB(type, cbk, data, priority = CallbackPriority.PRIORITY_D... method addInstrRule (line 1411) | addInstrRule(cbk, type, data) { method addInstrRuleRange (line 1429) | addInstrRuleRange(start, end, cbk, type, data) { method addMemAddrCB (line 1447) | addMemAddrCB(addr, type, cbk, data) { method addMemRangeCB (line 1466) | addMemRangeCB(start, end, type, cbk, data) { method addCodeCB (line 1483) | addCodeCB(pos, cbk, data, priority = CallbackPriority.PRIORITY_DEFAULT) { method addCodeAddrCB (line 1501) | addCodeAddrCB(addr, pos, cbk, data, priority = CallbackPriority.PRIORI... method addCodeRangeCB (line 1520) | addCodeRangeCB(start, end, pos, cbk, data, priority = CallbackPriority... method addVMEventCB (line 1536) | addVMEventCB(mask, cbk, data) { method deleteInstrumentation (line 1549) | deleteInstrumentation(id) { method deleteAllInstrumentations (line 1557) | deleteAllInstrumentations() { method getInstAnalysis (line 1570) | getInstAnalysis(type) { method getCachedInstAnalysis (line 1588) | getCachedInstAnalysis(addr, type) { method getJITInstAnalysis (line 1610) | getJITInstAnalysis(addr, type) { method recordMemoryAccess (line 1624) | recordMemoryAccess(type) { method getInstMemoryAccess (line 1633) | getInstMemoryAccess() { method getBBMemoryAccess (line 1642) | getBBMemoryAccess() { method allocateVirtualStack (line 1656) | allocateVirtualStack(state, stackSize) { method alignedAlloc (line 1675) | alignedAlloc(size, align) { method alignedFree (line 1684) | alignedFree(ptr) { method simulateCall (line 1695) | simulateCall(state, retAddr, args) { method getModuleNames (line 1711) | getModuleNames() { method setLogPriority (line 1732) | setLogPriority(priority) { method newInstrRuleCallback (line 1759) | newInstrRuleCallback(cbk) { method newInstCallback (line 1809) | newInstCallback(cbk) { method newVMCallback (line 1849) | newVMCallback(cbk) { method call (line 1883) | call(address, args) { method switchStackAndCall (line 1918) | switchStackAndCall(address, args, stackSize) { method _parseStructDesc (line 1941) | _parseStructDesc(ptr) { method _initVM (line 1957) | _initVM() { method _terminateVM (line 1963) | _terminateVM(v) { method _retainUserData (line 1972) | _retainUserData(data, fn) { method _retainUserDataForInstrRuleCB (line 1988) | _retainUserDataForInstrRuleCB(data, fn) { method _retainUserDataForInstrRuleCB2 (line 1999) | _retainUserDataForInstrRuleCB2(data, id) { method _getUserData (line 2015) | _getUserData(dataPtr) { method _releaseUserData (line 2028) | _releaseUserData(id) { method _releaseAllUserData (line 2043) | _releaseAllUserData() { method _formatVAArgs (line 2049) | _formatVAArgs(args) { method _parseMemoryAccess (line 2082) | _parseMemoryAccess(ptr) { method _getMemoryAccess (line 2100) | _getMemoryAccess(f) { method _parseVMState (line 2133) | _parseVMState(ptr) { method _parseOperandAnalysis (line 2167) | _parseOperandAnalysis(ptr) { method _parseInstAnalysis (line 2230) | _parseInstAnalysis(ptr) { FILE: tools/pyqbdi/binding/AARCH64/Options_AARCH64.cpp type QBDI (line 22) | namespace QBDI { type pyQBDI (line 23) | namespace pyQBDI { function init_binding_Options (line 25) | void init_binding_Options(py::module_ &m) { FILE: tools/pyqbdi/binding/AARCH64/State_AARCH64.cpp type QBDI (line 21) | namespace QBDI { type pyQBDI (line 22) | namespace pyQBDI { function hexify_register (line 24) | void hexify_register(std::ostringstream &out, __int128 v) { function init_binding_State (line 30) | void init_binding_State(py::module_ &m) { FILE: tools/pyqbdi/binding/ARM/Options_ARM.cpp type QBDI (line 22) | namespace QBDI { type pyQBDI (line 23) | namespace pyQBDI { function init_binding_Options (line 25) | void init_binding_Options(py::module_ &m) { FILE: tools/pyqbdi/binding/ARM/State_ARM.cpp type QBDI (line 21) | namespace QBDI { type pyQBDI (line 22) | namespace pyQBDI { function init_binding_State (line 24) | void init_binding_State(py::module_ &m) { FILE: tools/pyqbdi/binding/Callback.cpp type QBDI (line 23) | namespace QBDI { type pyQBDI (line 24) | namespace pyQBDI { function init_binding_Callback (line 26) | void init_binding_Callback(py::module_ &m) { FILE: tools/pyqbdi/binding/Enum.hpp type QBDI (line 29) | namespace QBDI { type pyQBDI (line 30) | namespace pyQBDI { class enum_int_flag_ (line 33) | class enum_int_flag_ : public pybind11::enum_ { method enum_int_flag_ (line 47) | enum_int_flag_(const py::handle &scope, const char *name, method enum_int_flag_ (line 79) | enum_int_flag_ &value(char const *name, Type value, method enum_int_flag_ (line 87) | enum_int_flag_ &export_values() { method enum_int_flag_ (line 92) | enum_int_flag_ &def_invert() { method enum_int_flag_ (line 104) | enum_int_flag_ &def_repr_str() { method get_member_name (line 129) | static inline std::string FILE: tools/pyqbdi/binding/Errors.cpp type QBDI (line 21) | namespace QBDI { type pyQBDI (line 22) | namespace pyQBDI { function init_binding_Errors (line 24) | void init_binding_Errors(py::module_ &m) { FILE: tools/pyqbdi/binding/InstAnalysis.cpp type QBDI (line 22) | namespace QBDI { type pyQBDI (line 23) | namespace pyQBDI { function get_InstAnalysis_member (line 26) | py::object get_InstAnalysis_member(const InstAnalysis &obj, function get_InstAnalysis_member (line 37) | py::object get_InstAnalysis_member(const InstAnalysis &obj, function init_binding_InstAnalysis (line 46) | void init_binding_InstAnalysis(py::module_ &m) { FILE: tools/pyqbdi/binding/Logs.cpp type QBDI (line 21) | namespace QBDI { type pyQBDI (line 22) | namespace pyQBDI { function init_binding_Logs (line 24) | void init_binding_Logs(py::module_ &m) { FILE: tools/pyqbdi/binding/Memory.cpp type QBDI (line 22) | namespace QBDI { type pyQBDI (line 23) | namespace pyQBDI { function init_binding_Memory (line 25) | void init_binding_Memory(py::module_ &m) { FILE: tools/pyqbdi/binding/Range.cpp type QBDI (line 21) | namespace QBDI { type pyQBDI (line 22) | namespace pyQBDI { function init_binding_Range (line 24) | void init_binding_Range(py::module_ &m) { FILE: tools/pyqbdi/binding/VM.cpp type QBDI (line 22) | namespace QBDI { type pyQBDI (line 23) | namespace pyQBDI { type TrampData (line 27) | struct TrampData { method TrampData (line 33) | TrampData(const T &cbk, const py::object &obj) : cbk(cbk), obj(obj... function removeTrampData (line 37) | static void removeTrampData(uint32_t n, std::map &map) { function addTrampData (line 45) | static py::object function clearTrampDataMap (line 66) | static void clearTrampDataMap() { function VMAction (line 74) | static VMAction trampoline_InstCallback(VMInstanceRef vm, GPRState *... function VMAction (line 88) | static VMAction trampoline_VMCallback(VMInstanceRef vm, const VMStat... function trampoline_InstrRuleCallback (line 102) | static std::vector function init_binding_VM (line 138) | void init_binding_VM(py::module_ &m) { FILE: tools/pyqbdi/binding/X86/Options_X86.cpp type QBDI (line 22) | namespace QBDI { type pyQBDI (line 23) | namespace pyQBDI { function init_binding_Options (line 25) | void init_binding_Options(py::module_ &m) { FILE: tools/pyqbdi/binding/X86/State_X86.cpp type QBDI (line 21) | namespace QBDI { type pyQBDI (line 22) | namespace pyQBDI { function hexify_register (line 24) | void hexify_register(std::ostringstream &out, const char *s, int siz... function init_binding_State (line 30) | void init_binding_State(py::module_ &m) { FILE: tools/pyqbdi/binding/X86_64/Options_X86_64.cpp type QBDI (line 22) | namespace QBDI { type pyQBDI (line 23) | namespace pyQBDI { function init_binding_Options (line 25) | void init_binding_Options(py::module_ &m) { FILE: tools/pyqbdi/binding/X86_64/State_X86_64.cpp type QBDI (line 21) | namespace QBDI { type pyQBDI (line 22) | namespace pyQBDI { function hexify_register (line 24) | void hexify_register(std::ostringstream &out, const char *s, int siz... function init_binding_State (line 30) | void init_binding_State(py::module_ &m) { FILE: tools/pyqbdi/binding/callback_python.h function namespace (line 23) | namespace QBDI { FILE: tools/pyqbdi/fix_preload_lib_macos.py function read_header (line 7) | def read_header(libpath): function setID (line 42) | def setID(libname): function removeRpath (line 47) | def removeRpath(libname, path): function movLib (line 52) | def movLib(libname, oldlib, newlib): function resign (line 57) | def resign(libname): function run (line 63) | def run(): FILE: tools/pyqbdi/preload.cpp type QBDI (line 27) | namespace QBDI { type pyQBDI (line 28) | namespace pyQBDI { function PYBIND11_EMBEDDED_MODULE (line 30) | PYBIND11_EMBEDDED_MODULE(pyqbdi, m) { FILE: tools/pyqbdi/pyqbdi.hpp type QBDI (line 41) | namespace QBDI { type pyQBDI (line 42) | namespace pyQBDI { FILE: tools/pyqbdi/pyqbdi_module.cpp type QBDI (line 23) | namespace QBDI { type pyQBDI (line 24) | namespace pyQBDI { function PYBIND11_MODULE (line 26) | PYBIND11_MODULE(pyqbdi, m) { FILE: tools/pyqbdi/pyqbdipreload.py function get_preloadlib (line 27) | def get_preloadlib(): function find_binary (line 48) | def find_binary(environ, binary, canFail=False): function find_windows_inject_binary (line 73) | def find_windows_inject_binary(environ): function run (line 88) | def run(): FILE: tools/pyqbdi/utils/Float.cpp type QBDI (line 21) | namespace QBDI { type pyQBDI (line 22) | namespace pyQBDI { function init_utils_Float (line 24) | void init_utils_Float(py::module_ &m) { FILE: tools/pyqbdi/utils/Memory.cpp type QBDI (line 21) | namespace QBDI { type pyQBDI (line 22) | namespace pyQBDI { function init_utils_Memory (line 24) | void init_utils_Memory(py::module_ &m) { FILE: tools/validation_runner/RunConfig.py class TestConfig (line 23) | class TestConfig: method __init__ (line 24) | def __init__(self, conf = None): method from_dict (line 37) | def from_dict(cls, d): method command_line (line 43) | def command_line(self): class RunConfig (line 46) | class RunConfig: method __init__ (line 47) | def __init__(self, config_file, lib=None, thread=0): FILE: tools/validation_runner/RunOrchestrator.py function run_test (line 26) | def run_test(test, env, idx): class RunOrchestrator (line 61) | class RunOrchestrator: method __init__ (line 62) | def __init__(self, run_cfg): method run (line 65) | def run(self): FILE: tools/validation_runner/RunResult.py class RunResult (line 22) | class RunResult: method __init__ (line 23) | def __init__(self, test_results=None): method from_dict (line 68) | def from_dict(cls, d): method print_stats (line 101) | def print_stats(self): method compartive_analysis (line 117) | def compartive_analysis(self, db): method get_branch_commit (line 153) | def get_branch_commit(self): method write_to_db (line 164) | def write_to_db(self, db): FILE: tools/validation_runner/SQLite.py class SQLiteDBAdapter (line 24) | class SQLiteDBAdapter: method __init__ (line 25) | def __init__(self, db_path): method setup_db (line 30) | def setup_db(self): method insert_run_result (line 108) | def insert_run_result(self, run_result): method insert_test_result (line 125) | def insert_test_result(self, run_id, test_result): method get_last_run (line 146) | def get_last_run(self, branch): FILE: tools/validation_runner/TestResult.py class Scan_Pattern_Exception (line 25) | class Scan_Pattern_Exception(Exception): function scan_for_pattern (line 28) | def scan_for_pattern(data, pattern): function scan_for_multipattern (line 34) | def scan_for_multipattern(data, pattern): function coverage_to_log (line 40) | def coverage_to_log(coverage): class TestResult (line 45) | class TestResult: method __init__ (line 46) | def __init__(self, cfg = None, retcode = None, result = None, coverage... method from_dict (line 120) | def from_dict(cls, d): method get_binary_hash (line 159) | def get_binary_hash(self): FILE: tools/validator/AARCH64/linux_AARCH64.cpp function userToGPRState (line 25) | void userToGPRState(const GPR_STRUCT *user, QBDI::GPRState *gprState) { function userToFPRState (line 62) | void userToFPRState(const FPR_STRUCT *user, QBDI::FPRState *fprState) { type iovec (line 101) | struct iovec type iovec (line 113) | struct iovec FILE: tools/validator/AARCH64/linux_AARCH64.h type GPR_STRUCT (line 35) | typedef struct user_regs_struct GPR_STRUCT; type FPR_STRUCT (line 36) | typedef struct user_fpsimd_struct FPR_STRUCT; FILE: tools/validator/ARM/linux_ARM.cpp function userToGPRState (line 56) | void userToGPRState(const GPR_STRUCT *user, QBDI::GPRState *gprState) { function userToFPRState (line 79) | void userToFPRState(const FPR_STRUCT *user, QBDI::FPRState *fprState) { FILE: tools/validator/ARM/linux_ARM.h type GPR_STRUCT (line 41) | typedef struct user_regs GPR_STRUCT; type FPR_STRUCT (line 42) | typedef struct __attribute__((__packed__)) { FILE: tools/validator/X86/linux_X86.cpp function userToGPRState (line 26) | void userToGPRState(const GPR_STRUCT *user, QBDI::GPRState *gprState) { function userToFPRState (line 39) | void userToFPRState(const FPR_STRUCT *user, QBDI::FPRState *fprState) { FILE: tools/validator/X86/linux_X86.h type GPR_STRUCT (line 32) | typedef struct user_regs_struct GPR_STRUCT; type FPR_STRUCT (line 33) | typedef struct user_fpxregs_struct FPR_STRUCT; function fix_GPR_STRUCT (line 38) | static inline void fix_GPR_STRUCT(GPR_STRUCT *user) { user->eip -= 1; } FILE: tools/validator/X86_64/linux_X86_64.cpp function userToGPRState (line 26) | void userToGPRState(const GPR_STRUCT *user, QBDI::GPRState *gprState) { function userToFPRState (line 47) | void userToFPRState(const FPR_STRUCT *user, QBDI::FPRState *fprState) { FILE: tools/validator/X86_64/linux_X86_64.h type GPR_STRUCT (line 32) | typedef struct user_regs_struct GPR_STRUCT; type FPR_STRUCT (line 33) | typedef struct user_fpregs_struct FPR_STRUCT; function fix_GPR_STRUCT (line 38) | static inline void fix_GPR_STRUCT(GPR_STRUCT *user) { user->rip -= 1; } FILE: tools/validator/darwin_process.cpp type Status (line 41) | enum Status { Running, Stopped, Crashed, Exited } function kern_return_t (line 43) | kern_return_t onBreakpoint(mach_port_t exception_port, mach_port_t thread, type kevent (line 99) | struct kevent type kevent (line 258) | struct kevent function hasExited (line 317) | bool hasExited(int status) { return status == Status::Exited; } function hasStopped (line 319) | bool hasStopped(int status) { return status == Status::Stopped; } function hasCrashed (line 321) | bool hasCrashed(int status) { return status == Status::Crashed; } function threadStateToGPRState (line 323) | void threadStateToGPRState(THREAD_STATE *ts, QBDI::GPRState *gprState) { function floatStateToFPRState (line 327) | void floatStateToFPRState(THREAD_STATE_FP *fs, QBDI::FPRState *fprState) { FILE: tools/validator/darwin_process.h function QBDI (line 56) | static inline QBDI::rword getSP(THREAD_STATE *state) { function setSP (line 60) | static inline void setSP(THREAD_STATE *state, QBDI::rword address) { function setBP (line 64) | static inline void setBP(THREAD_STATE *state, QBDI::rword address) { function class (line 69) | class DarwinProcess : public Process { FILE: tools/validator/darwin_validator.cpp type Role (line 38) | enum Role { Master, Instrumented, Debugged } FILE: tools/validator/instrumented.cpp type Pipes (line 35) | struct Pipes { type CBData (line 40) | struct CBData { function step (line 45) | static QBDI::VMAction step(QBDI::VMInstanceRef vm, QBDI::GPRState *gprSt... function verifyMemoryAccess (line 111) | static QBDI::VMAction verifyMemoryAccess(QBDI::VMInstanceRef vm, function logSyscall (line 258) | static QBDI::VMAction logSyscall(QBDI::VMInstanceRef vm, function logTransfer (line 268) | static QBDI::VMAction logTransfer(QBDI::VMInstanceRef vm, function saveErrno (line 277) | static QBDI::VMAction saveErrno(QBDI::VMInstanceRef vm, function restoreErrno (line 285) | static QBDI::VMAction restoreErrno(QBDI::VMInstanceRef vm, function cleanup_instrumentation (line 296) | void cleanup_instrumentation() { function start_instrumented (line 307) | void start_instrumented(QBDI::VM *vm, QBDI::rword start, QBDI::rword stop, FILE: tools/validator/linux_process.cpp function hasExited (line 67) | bool hasExited(int status) { return WIFEXITED(status) > 0; } function hasStopped (line 69) | bool hasStopped(int status) { function hasCrashed (line 73) | bool hasCrashed(int status) { FILE: tools/validator/linux_process.h function class (line 33) | class LinuxProcess : public Process { FILE: tools/validator/linux_validator.cpp function killChild (line 75) | void killChild() { FILE: tools/validator/master.cpp function start_master (line 31) | void start_master(Process *debugged, pid_t instrumented, int ctrlfd, int... FILE: tools/validator/pipes.cpp function readCString (line 24) | int readCString(char *str, size_t length, FILE *pipe) { function writeCString (line 38) | int writeCString(const char *str, FILE *pipe) { function readInstructionEvent (line 46) | int readInstructionEvent(QBDI::rword *address, char *mnemonic, function writeInstructionEvent (line 72) | int writeInstructionEvent(QBDI::rword address, const char *mnemonic, function readMismatchMemAccessEvent (line 101) | int readMismatchMemAccessEvent(QBDI::rword *address, bool *doRead, function writeMismatchMemAccessEvent (line 132) | int writeMismatchMemAccessEvent(QBDI::rword address, bool doRead, bool m... function readExecTransferEvent (line 168) | int readExecTransferEvent(QBDI::rword *address, FILE *pipe) { function writeExecTransferEvent (line 175) | int writeExecTransferEvent(QBDI::rword address, FILE *pipe) { function readEvent (line 186) | int readEvent(EVENT *event, FILE *pipe) { function writeEvent (line 193) | int writeEvent(EVENT event, FILE *pipe) { function readCommand (line 201) | int readCommand(COMMAND *command, FILE *pipe) { function writeCommand (line 208) | int writeCommand(COMMAND command, FILE *pipe) { FILE: tools/validator/pipes.h type EVENT (line 28) | enum EVENT { function format_as (line 35) | inline int format_as(EVENT e) { return e; } type COMMAND (line 37) | enum COMMAND { FILE: tools/validator/process.h function class (line 25) | class Process { FILE: tools/validator/validatorengine.cpp function getValidOffsetRange (line 25) | std::pair getValidOffsetRange(QBDI::rword addr... type pollfd (line 563) | struct pollfd FILE: tools/validator/validatorengine.h type LogVerbosity (line 32) | enum LogVerbosity { Stat, Summary, Detail, Full } type ErrorSeverity (line 34) | enum ErrorSeverity { type DiffError (line 40) | struct DiffError { type DiffMap (line 49) | struct DiffMap { type Cascade (line 57) | struct Cascade { function ValidatorEngine (line 65) | struct AccessError {