version 1.8, 2000/09/23 15:06:04
|
version 1.10, 2001/12/29 20:40:49
|
Line 16
|
Line 16
|
|
|
You should have received a copy of the GNU General Public License |
You should have received a copy of the GNU General Public License |
along with this program; if not, write to the Free Software |
along with this program; if not, write to the Free Software |
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. |
*/ |
*/ |
|
|
/* Be careful: long long on Alpha are 64 bit :-(( */ |
/* Be careful: long long on Alpha are 64 bit :-(( */ |
Line 169 typedef short Int16;
|
Line 169 typedef short Int16;
|
_cfa[1] = (doesp); }) |
_cfa[1] = (doesp); }) |
#endif |
#endif |
|
|
|
/* dynamic superinstruction stuff */ |
|
|
|
#define INST_GRANULARITY 4 |
|
#define IND_JUMP_LENGTH 4 |
|
#define IS_NEXT_JUMP(_addr) (((*(unsigned *)(_addr))&0xffe00000) == 0x6be00000) |
|
#define ALIGN_CODE { \ |
|
int align_diff; \ |
|
old_code_here = (Address)(((((Cell)old_code_here)-1)|0xf)+1); \ |
|
align_diff = old_code_here - code_here; \ |
|
memcpy(code_here, ((char *)(int []){0x47ff041f,0x2fe00000,0x47ff041f,0x2fe00000})+16-align_diff,align_diff); \ |
|
code_here = old_code_here; \ |
|
} |
|
|
#ifdef FORCE_REG |
#ifdef FORCE_REG |
/* $9-$14 are callee-saved, $1-$8 and $22-$25 are caller-saved */ |
/* $9-$14 are callee-saved, $1-$8 and $22-$25 are caller-saved */ |
#define IPREG asm("$10") |
#define IPREG asm("$10") |