Skip to content

Commit

Permalink
Add docs/dyninstAPI/developer/BPatch_memoryAccess_NP.h.rst
Browse files Browse the repository at this point in the history
  • Loading branch information
hainest committed Apr 3, 2024
1 parent 57d443a commit 436ae7c
Showing 1 changed file with 53 additions and 2 deletions.
55 changes: 53 additions & 2 deletions docs/dyninstAPI/developer/BPatch_memoryAccess_NP.h.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,62 @@ BPatch_memoryAccess_NP.h
.. cpp:class:: BPatch_memoryAccess

.. cpp:function:: protected void set1st(bool _isLoad, bool _isStore, long _imm_s, int _ra_s, int _rb_s, unsigned int _scale_s, long _imm_c, int _ra_c, int _rb_c, unsigned int _scale_c, int _preFcn, int _cond, bool _nt)
.. cpp:function:: BPatch_memoryAccess(internal_instruction *, Dyninst::Address _addr, bool _isLoad, bool _isStore,\
unsigned int _bytes, long _imm, int _ra, int _rb, unsigned int _scale = 0,\
int _cond = -1, bool _nt = false)

initializes only the first access #bytes is a constant

.. cpp:function:: BPatch_memoryAccess(internal_instruction *insn, Dyninst::Address _addr, bool _isinternal_Load, bool _isStore,\
long _imm_s, int _ra_s, int _rb_s, unsigned int _scale_s, long _imm_c, int _ra_c,\
int _rb_c, unsigned int _scale_c, int _cond, bool _nt, int _preFcn = -1)

initializes only the first access #bytes is an expression wscale

.. cpp:function:: BPatch_memoryAccess(internal_instruction *insn, Dyninst::Address _addr, bool _isLoad, bool _isStore,\
bool _isPrefetch, long _imm_s, int _ra_s, int _rb_s, long _imm_c, int _ra_c, int _rb_c,\
unsigned short _preFcn)

initializes only the first access #bytes is an expression

.. cpp:function:: BPatch_memoryAccess(internal_instruction *insn, Dyninst::Address _addr, bool _isLoad, bool _isStore,\
long _imm_s, int _ra_s, int _rb_s, long _imm_c, int _ra_c, int _rb_c)

initializes only the first access #bytes is an expression & not a prefetch

.. cpp:function:: void set2nd(bool _isLoad, bool _isStore, unsigned int _bytes, long _imm, int _ra, int _rb,\
unsigned int _scale = 0)

sets 2nd access #bytes is constant

.. cpp:function:: void set2nd(bool _isLoad, bool _isStore, long _imm_s, int _ra_s, int _rb_s, unsigned int _scale_s,\
long _imm_c, int _ra_c, int _rb_c, unsigned int _scale_c, int _cond, bool _nt)

sets 2nd access #bytes is an expression wscale

.. cpp:function:: BPatch_memoryAccess(internal_instruction *insn, Dyninst::Address _addr, bool _isLoad, bool _isStore,\
unsigned int _bytes, long _imm, int _ra, int _rb, unsigned int _scale, bool _isLoad2,\
bool _isStore2, unsigned int _bytes2, long _imm2, int _ra2, int _rb2, unsigned int _scale2)

initializes both accesses #bytes is a constant

.. cpp:function:: BPatch_memoryAccess(internal_instruction *insn, Dyninst::Address _addr, bool _isLoad, bool _isStore,\
long _imm_s, int _ra_s, int _rb_s, unsigned int _scale_s, long _imm_c, int _ra_c,\
int _rb_c, unsigned int _scale_c, bool _isLoad2, bool _isStore2, long _imm2_s,\
int _ra2_s, int _rb2_s, unsigned int _scale2_s, long _imm2_c, int _ra2_c, int _rb2_c,\
unsigned int _scale2_c)

initializes both accesses #bytes is an expression & not a prefetch

.. cpp:function:: protected void set1st(bool _isLoad, bool _isStore, long _imm_s, int _ra_s, int _rb_s, unsigned int _scale_s,\
long _imm_c, int _ra_c, int _rb_c, unsigned int _scale_c, int _preFcn, int _cond,\
bool _nt)

initializes only the first access - general case

.. cpp:function:: protected void set1st(bool _isLoad, bool _isStore, long _imm_s, int _ra_s, int _rb_s, long _imm_c, int _ra_c = -1, int _rb_c = -1, unsigned int _scale_s = 0, int _preFcn = -1, int _cond = -1, bool _nt = false)
.. cpp:function:: protected void set1st(bool _isLoad, bool _isStore, long _imm_s, int _ra_s, int _rb_s, long _imm_c,\
int _ra_c = -1, int _rb_c = -1, unsigned int _scale_s = 0, int _preFcn = -1,\
int _cond = -1, bool _nt = false)

initializes only the first access - no scale for count

Expand Down

0 comments on commit 436ae7c

Please sign in to comment.