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.24 2002/11/08 11:31:39 grubba Exp $ + || $Id: sparc.c,v 1.25 2002/11/08 12:22:52 grubba Exp $   */      /*    * Machine code generator for sparc.    *    * Henrik Grubbström 20010720    */      #include "operators.h"   
pike.git/src/code/sparc.c:417:    sparc_push_int(0x7fffffff, 0);    return;    case F_MAKE_ITERATOR - F_OFFSET:    {    extern void f_Iterator(INT32);    SET_REG(SPARC_REG_O0, 1);    delay_ok = 1;    addr = (void *)f_Iterator;    }    break; +  + #define F_ALIAS(F_FUN, O_FUN) \ +  case F_FUN - F_OFFSET: \ +  addr = (void *)O_FUN; \ +  break +  +  F_ALIAS(F_COMPL, o_compl); +  F_ALIAS(F_LSH, o_lsh); +  F_ALIAS(F_RSH, o_rsh);    case F_ADD - F_OFFSET:    SET_REG(SPARC_REG_O0, 2);    delay_ok = 1;    addr = (void *)f_add;    break; -  +  F_ALIAS(F_SUBTRACT, o_subtract); +  F_ALIAS(F_AND, o_and); +  F_ALIAS(F_OR, o_or); +  F_ALIAS(F_XOR, o_xor); +  F_ALIAS(F_MULTIPLY, o_multiply); +  F_ALIAS(F_DIVIDE, o_divide); +  F_ALIAS(F_MOD, o_mod); +  F_ALIAS(F_CAST, f_cast); +  F_ALIAS(F_CAST_TO_INT, o_cast_to_int); +  F_ALIAS(F_CAST_TO_STRING, o_cast_to_string); +  F_ALIAS(F_RANGE, o_range); +  /* F_ZERO_TYPE? */    }       SPARC_FLUSH_UNSTORED();       {    static int last_prog_id=-1;    static size_t last_num_linenumbers=(size_t)~0;    if(last_prog_id != Pike_compiler->new_program->id ||    last_num_linenumbers != Pike_compiler->new_program->num_linenumbers)    {