class RuntimeDyldCheckerExprEval

Declaration

class RuntimeDyldCheckerExprEval { /* full declaration omitted */ };

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:31

Member Variables

private const llvm::RuntimeDyldCheckerImpl& Checker

Method Overview

  • public RuntimeDyldCheckerExprEval(const llvm::RuntimeDyldCheckerImpl & Checker, llvm::raw_ostream & ErrStream)
  • private llvm::RuntimeDyldCheckerExprEval::EvalResult computeBinOpResult(llvm::RuntimeDyldCheckerExprEval::BinOpToken Op, const llvm::RuntimeDyldCheckerExprEval::EvalResult & LHSResult, const llvm::RuntimeDyldCheckerExprEval::EvalResult & RHSResult) const
  • private bool decodeInst(llvm::StringRef Symbol, llvm::MCInst & Inst, uint64_t & Size, int64_t Offset) const
  • private std::pair<EvalResult, StringRef> evalComplexExpr(const std::pair<EvalResult, StringRef> & LHSAndRemaining, llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx) const
  • private std::pair<EvalResult, StringRef> evalDecodeOperand(llvm::StringRef Expr) const
  • private std::pair<EvalResult, StringRef> evalIdentifierExpr(llvm::StringRef Expr, llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx) const
  • private std::pair<EvalResult, StringRef> evalLoadExpr(llvm::StringRef Expr) const
  • private std::pair<EvalResult, StringRef> evalNextPC(llvm::StringRef Expr, llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx) const
  • private std::pair<EvalResult, StringRef> evalNumberExpr(llvm::StringRef Expr) const
  • private std::pair<EvalResult, StringRef> evalParensExpr(llvm::StringRef Expr, llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx) const
  • private std::pair<EvalResult, StringRef> evalSectionAddr(llvm::StringRef Expr, llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx) const
  • private std::pair<EvalResult, StringRef> evalSimpleExpr(llvm::StringRef Expr, llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx) const
  • private std::pair<EvalResult, StringRef> evalSliceExpr(const std::pair<EvalResult, StringRef> & Ctx) const
  • private std::pair<EvalResult, StringRef> evalStubOrGOTAddr(llvm::StringRef Expr, llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx, bool IsStubAddr) const
  • public bool evaluate(llvm::StringRef Expr) const
  • private llvm::StringRef getTokenForError(llvm::StringRef Expr) const
  • private bool handleError(llvm::StringRef Expr, const llvm::RuntimeDyldCheckerExprEval::EvalResult & R) const
  • private std::pair<BinOpToken, StringRef> parseBinOpToken(llvm::StringRef Expr) const
  • private std::pair<StringRef, StringRef> parseNumberString(llvm::StringRef Expr) const
  • private std::pair<StringRef, StringRef> parseSymbol(llvm::StringRef Expr) const
  • private llvm::RuntimeDyldCheckerExprEval::EvalResult unexpectedToken(llvm::StringRef TokenStart, llvm::StringRef SubExpr, llvm::StringRef ErrText) const

Methods

RuntimeDyldCheckerExprEval(
    const llvm::RuntimeDyldCheckerImpl& Checker,
    llvm::raw_ostream& ErrStream)

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:33

Parameters

const llvm::RuntimeDyldCheckerImpl& Checker
llvm::raw_ostream& ErrStream

llvm::RuntimeDyldCheckerExprEval::EvalResult
computeBinOpResult(
    llvm::RuntimeDyldCheckerExprEval::BinOpToken
        Op,
    const llvm::RuntimeDyldCheckerExprEval::
        EvalResult& LHSResult,
    const llvm::RuntimeDyldCheckerExprEval::
        EvalResult& RHSResult) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:187

Parameters

llvm::RuntimeDyldCheckerExprEval::BinOpToken Op
const llvm::RuntimeDyldCheckerExprEval:: EvalResult& LHSResult
const llvm::RuntimeDyldCheckerExprEval:: EvalResult& RHSResult

bool decodeInst(llvm::StringRef Symbol,
                llvm::MCInst& Inst,
                uint64_t& Size,
                int64_t Offset) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:688

Parameters

llvm::StringRef Symbol
llvm::MCInst& Inst
uint64_t& Size
int64_t Offset

std::pair<EvalResult, StringRef> evalComplexExpr(
    const std::pair<EvalResult, StringRef>&
        LHSAndRemaining,
    llvm::RuntimeDyldCheckerExprEval::ParseContext
        PCtx) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:654

Parameters

const std::pair<EvalResult, StringRef>& LHSAndRemaining
llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx

std::pair<EvalResult, StringRef>
evalDecodeOperand(llvm::StringRef Expr) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:224

Parameters

llvm::StringRef Expr

std::pair<EvalResult, StringRef>
evalIdentifierExpr(
    llvm::StringRef Expr,
    llvm::RuntimeDyldCheckerExprEval::ParseContext
        PCtx) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:428

Parameters

llvm::StringRef Expr
llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx

std::pair<EvalResult, StringRef> evalLoadExpr(
    llvm::StringRef Expr) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:523

Parameters

llvm::StringRef Expr

std::pair<EvalResult, StringRef> evalNextPC(
    llvm::StringRef Expr,
    llvm::RuntimeDyldCheckerExprEval::ParseContext
        PCtx) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:311

Parameters

llvm::StringRef Expr
llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx

std::pair<EvalResult, StringRef> evalNumberExpr(
    llvm::StringRef Expr) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:487

Parameters

llvm::StringRef Expr

std::pair<EvalResult, StringRef> evalParensExpr(
    llvm::StringRef Expr,
    llvm::RuntimeDyldCheckerExprEval::ParseContext
        PCtx) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:503

Parameters

llvm::StringRef Expr
llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx

std::pair<EvalResult, StringRef> evalSectionAddr(
    llvm::StringRef Expr,
    llvm::RuntimeDyldCheckerExprEval::ParseContext
        PCtx) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:386

Parameters

llvm::StringRef Expr
llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx

std::pair<EvalResult, StringRef> evalSimpleExpr(
    llvm::StringRef Expr,
    llvm::RuntimeDyldCheckerExprEval::ParseContext
        PCtx) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:570

Parameters

llvm::StringRef Expr
llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx

std::pair<EvalResult, StringRef> evalSliceExpr(
    const std::pair<EvalResult, StringRef>& Ctx)
    const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:610

Parameters

const std::pair<EvalResult, StringRef>& Ctx

std::pair<EvalResult, StringRef>
evalStubOrGOTAddr(
    llvm::StringRef Expr,
    llvm::RuntimeDyldCheckerExprEval::ParseContext
        PCtx,
    bool IsStubAddr) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:350

Parameters

llvm::StringRef Expr
llvm::RuntimeDyldCheckerExprEval::ParseContext PCtx
bool IsStubAddr

bool evaluate(llvm::StringRef Expr) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:37

Parameters

llvm::StringRef Expr

llvm::StringRef getTokenForError(
    llvm::StringRef Expr) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:114

Parameters

llvm::StringRef Expr

bool handleError(
    llvm::StringRef Expr,
    const llvm::RuntimeDyldCheckerExprEval::
        EvalResult& R) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:148

Parameters

llvm::StringRef Expr
const llvm::RuntimeDyldCheckerExprEval:: EvalResult& R

std::pair<BinOpToken, StringRef> parseBinOpToken(
    llvm::StringRef Expr) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:155

Parameters

llvm::StringRef Expr

std::pair<StringRef, StringRef> parseNumberString(
    llvm::StringRef Expr) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:469

Parameters

llvm::StringRef Expr

std::pair<StringRef, StringRef> parseSymbol(
    llvm::StringRef Expr) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:209

Parameters

llvm::StringRef Expr

llvm::RuntimeDyldCheckerExprEval::EvalResult
unexpectedToken(llvm::StringRef TokenStart,
                llvm::StringRef SubExpr,
                llvm::StringRef ErrText) const

Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp:132

Parameters

llvm::StringRef TokenStart
llvm::StringRef SubExpr
llvm::StringRef ErrText