|
Expression1 |
version |
/*Traceback format version
*/ |
| Byte |
|
Expression2 |
lang |
/*Language values
*/ |
| Byte |
| |
TB_C |
0 |
| |
TB_FORTRAN |
1 |
| |
TB_PASCAL |
2 |
| |
TB_ADA |
3 |
| |
TB_PL1 |
4 |
| |
TB_BASIC |
5 |
| |
TB_LISP |
6 |
| |
TB_COBOL |
7 |
| |
TB_MODULA2 |
8 |
| |
TB_CPLUSPLUS |
9 |
| |
TB_RPG |
10 |
| |
TB_PL8 |
11 |
| |
TB_ASM |
12 |
|
Expression3 |
|
/*Traceback control bits
*/ |
| Byte |
| |
globallink |
Bit 7. Set if routine is global linkage. |
| |
is_eprol |
Bit 6. Set if out-of-town epilog/prologue. |
| |
has_tboff |
Bit 5. Set if offset from start of proc
stored. |
| |
int_proc |
Bit 4. Set if routine is internal. |
| |
has_ctl |
Bit 3. Set if routine involves controlled
storage. |
| |
tocless |
Bit 2. Set if routine contains no TOC. |
| |
fp_present |
Bit 1. Set if routine performs FP operations. |
| |
log_abort |
Bit 0. Set if routine involves controlled
storage. |
|
Expression4 |
|
/*Traceback control bits (continued)
*/ |
| Byte |
| |
int_hndl |
Bit 7. Set if routine is interrupt handler. |
| |
name_present |
Bit 6. Set if name is present in proc
table. |
| |
uses_alloca |
Bit 5. Set if alloca used to allocate
storage. |
| |
cl_dis_inv |
Bits 4, 3, 2. On-condition directives |
| |
|
WALK_ONCOND |
0 |
Walk stack; don't restore state |
| |
|
DISCARD_ONCOND |
1 |
Walk the stack and discard. |
| |
|
INVOKE_ONCOND |
1 |
Invoke specific system routine |
| |
saves_cr |
Bit 1. Set if procedure saves condition
register. |
| |
saves_lr |
Bit 0. Set if procedure saves link register. |
|
Expression5 |
|
/*Traceback control bits (continued)
*/ |
| Byte |
| |
stores_bc |
Bit 7. Set if procedure stores the backchain. |
| |
spare2 |
Bit 6. Spare bit. |
| |
fpr_saved |
Bits 5, 4, 3, 2, 1, 0. Number of FPRs
saved, max 32. |
|
Expression6 |
|
/*Traceback control bits (continued)
*/ |
| Byte |
| |
spare3 |
Bits 7, 6. Spare bits. |
| |
gpr_saved |
Bits 5, 4, 3, 2, 1, 0. Number of GPRs
saved, max 32. |
|
Expression7 |
fixedparms |
/*Traceback control bits (continued)
*/ |
| Byte |
|
Expression8 |
|
|
| Byte |
| |
floatparms |
Bits 7, 6, 5, 4, 3, 2,1. Number of floating
point parameters. |
| |
parmsonstk |
Bit 0. Set if all parameters placed on
stack. |
|
Expression9 |
parminfo |
/*Order and type coding of parameters
*/ |
| Word |
| |
'0' |
Fixed parameter. |
| |
'10' |
Single-precision float parameter. |
| |
'11' |
Double-precision float parameter. |
|
Expression10 |
tb_offset |
/*Offset from start of code to tb table
*/ |
| Word |
|
Expression11 |
hand_mask |
/*What interrupts are handled */ |
| Word |
|
Expression12 |
ctl_info |
/*Number of CTL anchors
*/ |
| Word |
|
Expression13 |
ctl_info_disp |
/*Displacements of each anchor into stack*/ |
| Word |
|
Expression14 |
name_len |
/*Length of procedure name
*/ |
| Halfword |
|
Expression15 |
name |
/*Name */ |
| Byte |
|
Expression16 |
alloca_reg |
/*Register for alloca automatic storage*/ |
| Byte |