pike.git / src / code / sparc.c

version» Context lines:

pike.git/src/code/sparc.c:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: sparc.c,v 1.17 2002/11/06 16:19:19 grubba Exp $ + || $Id: sparc.c,v 1.18 2002/11/06 16:36:02 grubba Exp $   */      /*    * Machine code generator for sparc.    *    * Henrik Grubbström 20010720    */      #include "operators.h"   
pike.git/src/code/sparc.c:102:    } \    if (val_ < 0) { \    /* Sign extend. */ \    /* sra reg, %g0, reg */ \    SPARC_SRA(reg_, reg_, SPARC_REG_G0, 0); \    } \    } \    } while(0)      #define ADD_CALL(X, DELAY_OK) do { \ -  extern void opcode_F_CALL_OTHER(int); \ +     INT32 delta_; \    struct program *p_ = Pike_compiler->new_program; \    INT32 off_ = p_->num_program; \    /* noop */ \    INT32 delay_ = 0x01000000; \    \    if (DELAY_OK) { \    /* Move the previous opcode to the delay-slot. */ \    delay_ = p_->program[--off_]; \    } else { \    add_to_program(0); /* Placeholder... */ \    } \    /* call X */ \    delta_ = ((PIKE_OPCODE_T *)(X)) - (p_->program + off_); \    p_->program[off_] = 0x40000000 | (delta_ & 0x3fffffff); \    add_to_relocations(off_); \    add_to_program(delay_); \ -  if (X == (void *)opcode_F_CALL_OTHER) { \ -  fprintf(stderr, "CALL_OTHER, delay opcode 0x%08x\n", delay_); \ -  } \ +     } while(0)      /*    * Register conventions:    *    * I6 Frame pointer    * I7 Return address    *    * L0 Pike_fp    * L1 Pike_fp->pc