Skip to content

Commit

Permalink
Add common/arch-power.h
Browse files Browse the repository at this point in the history
  • Loading branch information
hainest committed Apr 3, 2024
1 parent 80cce4a commit 8c03438
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 6 deletions.
5 changes: 0 additions & 5 deletions common/src/arch-power.h
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,6 @@ typedef union {

// instruction is now a class for platform-indep.

// Mmmm alignment
typedef instructUnion codeBuf_t;
typedef unsigned codeBufIndex_t;

Expand Down Expand Up @@ -787,10 +786,6 @@ typedef unsigned codeBufIndex_t;
// Helps to mitigate host/target endian mismatches
COMMON_EXPORT unsigned int swapBytesIfNeeded(unsigned int i);

///////////////////////////////////////////////////////
// Bum bum bum.....
///////////////////////////////////////////////////////

class COMMON_EXPORT instruction {
private:
instructUnion insn_;
Expand Down
45 changes: 44 additions & 1 deletion docs/common/developer/arch-power.h.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,48 @@
arch-power.h
############

.. cpp:namespace:: Dyninst
.. cpp:namespace:: NS_power

.. cpp:union:: instructUnion
.. cpp:member:: unsigned char byte[4]
.. cpp:member:: unsigned int raw

.. cpp:type:: instructUnion codeBuf_t
.. cpp:type:: unsigned codeBufIndex_t

.. cpp:class:: instruction

.. cpp:function:: instruction()
.. cpp:function:: instruction(unsigned int raw)
.. cpp:function:: instruction(const void *ptr)
.. cpp:function:: instruction(const void *ptr, bool)
.. cpp:function:: instruction *copy() const
.. cpp:function:: void clear()
.. cpp:function:: void setInstruction(codeBuf_t *ptr, Dyninst::Address = 0)
.. cpp:function:: void setBits(unsigned int pos, unsigned int len, unsigned int value)
.. cpp:function:: unsigned int asInt() const
.. cpp:function:: void setInstruction(unsigned char *ptr, Dyninst::Address = 0)
.. cpp:function:: static int signExtend(unsigned int i, unsigned int pos)
.. cpp:function:: static instructUnion &swapBytes(instructUnion &i)
.. cpp:function:: static unsigned size()
.. cpp:function:: Dyninst::Address getBranchOffset() const
.. cpp:function:: void setBranchOffset(Dyninst::Address newOffset)
.. cpp:function:: static unsigned jumpSize(Dyninst::Address from, Dyninst::Address to, unsigned addr_width)
.. cpp:function:: static unsigned jumpSize(Dyninst::Address disp, unsigned addr_width)
.. cpp:function:: static unsigned maxJumpSize(unsigned addr_width)
.. cpp:function:: static unsigned maxInterFunctionJumpSize(unsigned addr_width)
.. cpp:function:: unsigned type() const
.. cpp:function:: const unsigned char *ptr() const
.. cpp:function:: unsigned opcode() const
.. cpp:function:: bool isInsnType(const unsigned mask, const unsigned match) const
.. cpp:function:: Dyninst::Address getTarget(Dyninst::Address insnAddr) const
.. cpp:function:: unsigned spaceToRelocate() const
.. cpp:function:: bool getUsedRegs(std::vector<int> &regs)
.. cpp:function:: bool valid() const
.. cpp:function:: bool isCall() const
.. cpp:function:: static bool isAligned(Dyninst::Address addr)
.. cpp:function:: bool isCondBranch() const
.. cpp:function:: bool isUncondBranch() const
.. cpp:function:: bool isThunk() const
.. cpp:function:: bool isCleaningRet() const

0 comments on commit 8c03438

Please sign in to comment.