mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2025-01-12 03:53:43 +01:00
(enum ia64_script_insn_opcode): Move Gscript-ia64.c.
(IA64_MAX_SCRIPT_LEN): Lower it by 4 since we no longer need separate instructions to update the NaT locations. (Logical change 1.181)
This commit is contained in:
parent
fcb151f6ec
commit
50f7edcce5
1 changed files with 5 additions and 20 deletions
|
@ -31,32 +31,17 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
|||
|
||||
typedef unsigned char unw_hash_index_t;
|
||||
|
||||
enum ia64_script_insn_opcode
|
||||
{
|
||||
IA64_INSN_SET, /* s[dst] = val */
|
||||
IA64_INSN_SET_REG, /* s[dst] = REG(val) */
|
||||
IA64_INSN_ADD_PSP, /* s[dst] = (s.psp + val) */
|
||||
IA64_INSN_ADD_SP, /* s[dst] = (s.sp + val) */
|
||||
IA64_INSN_MOVE, /* s[dst] = s[val] */
|
||||
IA64_INSN_MOVE_STACKED, /* s[dst] = ia64_rse_skip(*s.bsp_loc, val) */
|
||||
IA64_INSN_MOVE_SCRATCH, /* s[dst] = scratch reg "val" */
|
||||
IA64_INSN_SETNAT_MEMSTK, /* s[dst].nat.type = s.pri_unat_loc | MEMSTK */
|
||||
IA64_INSN_INC_PSP, /* psp += val */
|
||||
IA64_INSN_LOAD_PSP /* psp = *psp_loc */
|
||||
};
|
||||
|
||||
struct ia64_script_insn
|
||||
{
|
||||
unsigned int opc;
|
||||
unsigned int opc; /* see enum ia64_script_insn_opcode */
|
||||
unsigned int dst;
|
||||
unw_word_t val;
|
||||
};
|
||||
|
||||
/* Preserved general static registers (r4-r7) give rise to two script
|
||||
instructions; everything else yields at most one instruction; at
|
||||
the end of the script, the psp gets popped, accounting for one more
|
||||
instruction. */
|
||||
#define IA64_MAX_SCRIPT_LEN (IA64_NUM_PREGS + 5)
|
||||
/* Updating each preserved register may result in one script
|
||||
instruction each. At the end of the script, psp gets popped,
|
||||
accounting for one more instruction. */
|
||||
#define IA64_MAX_SCRIPT_LEN (IA64_NUM_PREGS + 1)
|
||||
|
||||
struct ia64_script
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue