exec_context.hh (3468:cf23ad1ceef2) exec_context.hh (3735:86a7cf4dcc11)
1/*
2 * Copyright (c) 2002-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 34 unchanged lines hidden (view full) ---

43 // into the instruction's own operand index table. Note that a
44 // raw pointer to the StaticInst is provided instead of a
45 // ref-counted StaticInstPtr to reduce overhead. This is fine as
46 // long as these methods don't copy the pointer into any long-term
47 // storage (which is pretty hard to imagine they would have reason
48 // to do).
49
50 /** Reads an integer register. */
1/*
2 * Copyright (c) 2002-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 34 unchanged lines hidden (view full) ---

43 // into the instruction's own operand index table. Note that a
44 // raw pointer to the StaticInst is provided instead of a
45 // ref-counted StaticInstPtr to reduce overhead. This is fine as
46 // long as these methods don't copy the pointer into any long-term
47 // storage (which is pretty hard to imagine they would have reason
48 // to do).
49
50 /** Reads an integer register. */
51 uint64_t readIntReg(const StaticInst *si, int idx);
51 uint64_t readIntRegOperand(const StaticInst *si, int idx);
52
53 /** Reads a floating point register of a specific width. */
52
53 /** Reads a floating point register of a specific width. */
54 FloatReg readFloatReg(const StaticInst *si, int idx, int width);
54 FloatReg readFloatRegOperand(const StaticInst *si, int idx, int width);
55
56 /** Reads a floating point register of single register width. */
55
56 /** Reads a floating point register of single register width. */
57 FloatReg readFloatReg(const StaticInst *si, int idx);
57 FloatReg readFloatRegOperand(const StaticInst *si, int idx);
58
59 /** Reads a floating point register of a specific width in its
60 * binary format, instead of by value. */
58
59 /** Reads a floating point register of a specific width in its
60 * binary format, instead of by value. */
61 FloatRegBits readFloatRegBits(const StaticInst *si, int idx, int width);
61 FloatRegBits readFloatRegOperandBits(const StaticInst *si, int idx,
62 int width);
62
63 /** Reads a floating point register in its binary format, instead
64 * of by value. */
63
64 /** Reads a floating point register in its binary format, instead
65 * of by value. */
65 FloatRegBits readFloatRegBits(const StaticInst *si, int idx);
66 FloatRegBits readFloatRegOperandBits(const StaticInst *si, int idx);
66
67 /** Sets an integer register to a value. */
67
68 /** Sets an integer register to a value. */
68 void setIntReg(const StaticInst *si, int idx, uint64_t val);
69 void setIntRegOperand(const StaticInst *si, int idx, uint64_t val);
69
70 /** Sets a floating point register of a specific width to a value. */
70
71 /** Sets a floating point register of a specific width to a value. */
71 void setFloatReg(const StaticInst *si, int idx, FloatReg val, int width);
72 void setFloatRegOperand(const StaticInst *si, int idx, FloatReg val,
73 int width);
72
73 /** Sets a floating point register of single width to a value. */
74
75 /** Sets a floating point register of single width to a value. */
74 void setFloatReg(const StaticInst *si, int idx, FloatReg val);
76 void setFloatRegOperand(const StaticInst *si, int idx, FloatReg val);
75
76 /** Sets the bits of a floating point register of a specific width
77 * to a binary value. */
77
78 /** Sets the bits of a floating point register of a specific width
79 * to a binary value. */
78 void setFloatRegBits(const StaticInst *si, int idx,
79 FloatRegBits val, int width);
80 void setFloatRegOperandBits(const StaticInst *si, int idx,
81 FloatRegBits val, int width);
80
81 /** Sets the bits of a floating point register of single width
82 * to a binary value. */
82
83 /** Sets the bits of a floating point register of single width
84 * to a binary value. */
83 void setFloatRegBits(const StaticInst *si, int idx, FloatRegBits val);
85 void setFloatRegOperandBits(const StaticInst *si, int idx,
86 FloatRegBits val);
84
85 /** Reads the PC. */
86 uint64_t readPC();
87 /** Reads the NextPC. */
88 uint64_t readNextPC();
89 /** Reads the Next-NextPC. Only for architectures like SPARC or MIPS. */
90 uint64_t readNextNPC();
91

--- 66 unchanged lines hidden ---
87
88 /** Reads the PC. */
89 uint64_t readPC();
90 /** Reads the NextPC. */
91 uint64_t readNextPC();
92 /** Reads the Next-NextPC. Only for architectures like SPARC or MIPS. */
93 uint64_t readNextNPC();
94

--- 66 unchanged lines hidden ---