/[qemu]/qemu/dyngen.c
ViewVC logotype

Diff of /qemu/dyngen.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.19 by bellard, Mon Jun 9 15:34:19 2003 UTC revision 1.20 by bellard, Mon Jun 9 19:46:12 2003 UTC
# Line 1207  int load_elf(const char *filename, FILE Line 1207  int load_elf(const char *filename, FILE
1207          }          }
1208      } else {      } else {
1209          /* generate big code generation switch */          /* generate big code generation switch */
 #ifdef HOST_ALPHA  
 fprintf(outfile,  
 "register int gp asm(\"$29\");\n"  
 "static inline void immediate_ldah(void *p, int val) {\n"  
 "    uint32_t *dest = p;\n"  
 "    long high = ((val >> 16) + ((val >> 15) & 1)) & 0xffff;\n"  
 "\n"  
 "    *dest &= ~0xffff;\n"  
 "    *dest |= high;\n"  
 "    *dest |= 31 << 16;\n"  
 "}\n"  
 "static inline void immediate_lda(void *dest, int val) {\n"  
 "    *(uint16_t *) dest = val;\n"  
 "}\n"  
 "void fix_bsr(void *p, int offset) {\n"  
 "    uint32_t *dest = p;\n"  
 "    *dest &= ~((1 << 21) - 1);\n"  
 "    *dest |= (offset >> 2) & ((1 << 21) - 1);\n"  
 "}\n");  
 #endif  
1210  fprintf(outfile,  fprintf(outfile,
1211  "int dyngen_code(uint8_t *gen_code_buf,\n"  "int dyngen_code(uint8_t *gen_code_buf,\n"
1212  "                uint16_t *label_offsets, uint16_t *jmp_offsets,\n"  "                uint16_t *label_offsets, uint16_t *jmp_offsets,\n"

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.20

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26