summaryrefslogtreecommitdiff
path: root/lowlevelilinstruction.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2018-08-30 22:11:22 -0400
committerRusty Wagner <rusty@vector35.com>2018-08-30 22:11:22 -0400
commitacf28440dc4e8d805a057b6271a73e0d4e8c9e4f (patch)
treeba61688a1dddbce6d66735c538e4204621fc0498 /lowlevelilinstruction.h
parent20e06506a3d96c7327ca5d729ab01e8c2a7cff3c (diff)
Allow negative stack offsets for functions like alloca_probe
Diffstat (limited to 'lowlevelilinstruction.h')
-rw-r--r--lowlevelilinstruction.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/lowlevelilinstruction.h b/lowlevelilinstruction.h
index e845bcd0..365575f8 100644
--- a/lowlevelilinstruction.h
+++ b/lowlevelilinstruction.h
@@ -712,7 +712,7 @@ namespace BinaryNinja
template <BNLowLevelILOperation N> uint32_t GetIntrinsic() const { return As<N>().GetIntrinsic(); }
template <BNLowLevelILOperation N> int64_t GetConstant() const { return As<N>().GetConstant(); }
template <BNLowLevelILOperation N> int64_t GetVector() const { return As<N>().GetVector(); }
- template <BNLowLevelILOperation N> size_t GetStackAdjustment() const { return As<N>().GetStackAdjustment(); }
+ template <BNLowLevelILOperation N> int64_t GetStackAdjustment() const { return As<N>().GetStackAdjustment(); }
template <BNLowLevelILOperation N> size_t GetTarget() const { return As<N>().GetTarget(); }
template <BNLowLevelILOperation N> size_t GetTrueTarget() const { return As<N>().GetTrueTarget(); }
template <BNLowLevelILOperation N> size_t GetFalseTarget() const { return As<N>().GetFalseTarget(); }
@@ -776,7 +776,7 @@ namespace BinaryNinja
uint32_t GetIntrinsic() const;
int64_t GetConstant() const;
int64_t GetVector() const;
- size_t GetStackAdjustment() const;
+ int64_t GetStackAdjustment() const;
size_t GetTarget() const;
size_t GetTrueTarget() const;
size_t GetFalseTarget() const;
@@ -1104,7 +1104,7 @@ namespace BinaryNinja
template <> struct LowLevelILInstructionAccessor<LLIL_CALL_STACK_ADJUST>: public LowLevelILInstructionBase
{
LowLevelILInstruction GetDestExpr() const { return GetRawOperandAsExpr(0); }
- size_t GetStackAdjustment() const { return (size_t)GetRawOperandAsInteger(1); }
+ int64_t GetStackAdjustment() const { return GetRawOperandAsInteger(1); }
std::map<uint32_t, int32_t> GetRegisterStackAdjustments() const { return GetRawOperandAsRegisterStackAdjustments(2); }
};
template <> struct LowLevelILInstructionAccessor<LLIL_TAILCALL>: public LowLevelILInstructionBase