int64_t Function::stackDeltaConcrete() const { BaseSemantics::SValuePtr v = stackDelta(); if (v && v->is_number() && v->get_width() <= 64) return IntegerOps::signExtend2<uint64_t>(v->get_number(), v->get_width(), 64); return SgAsmInstruction::INVALID_STACK_DELTA; }
BaseSemantics::SValuePtr RiscOperators::readMemory(const RegisterDescriptor &segreg, const BaseSemantics::SValuePtr &addr, const BaseSemantics::SValuePtr &dflt, const BaseSemantics::SValuePtr &cond) { // XXX: we just skip large memory queries for now and return '0'. We probably should do something smarter. if (dflt->get_width() > 32) { return PartialSymbolicSemantics::SValue::instance(dflt->get_width()); } return PartialSymbolicSemantics::RiscOperators::readMemory(segreg, addr, dflt, cond); }