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.33 2002/11/11 16:14:26 grubba Exp $ + || $Id: sparc.c,v 1.34 2003/02/16 13:33:42 mast Exp $   */      /*    * Machine code generator for sparc.    *    * Henrik Grubbström 20010720    */      #include "global.h"   #include "svalue.h"
pike.git/src/code/sparc.c:421:    SPARC_STW(SPARC_REG_I1, SPARC_REG_PIKE_SP, SPARC_REG_G0, 0);    /* add %pike_sp, sizeof(struct svalue), %pike_sp */    SPARC_ADD(SPARC_REG_PIKE_SP, SPARC_REG_PIKE_SP, sizeof(struct svalue), 1);    sparc_codegen_state |= SPARC_CODEGEN_SP_NEEDS_STORE;   }      void sparc_local_lvalue(unsigned int no)   {    LOAD_PIKE_SP();    LOAD_PIKE_FP(); -  SET_REG(SPARC_REG_I0, T_LVALUE); +  SET_REG(SPARC_REG_I0, T_SVALUE_PTR);    /* sth %i0, [ %pike_sp, %g0 ] */    SPARC_STH(SPARC_REG_I0, SPARC_REG_PIKE_SP, SPARC_REG_G0, 0);    SET_REG(SPARC_REG_I0, T_VOID);    no *= sizeof(struct svalue);    if (no < 4096) {    /* lduw [ %pike_fp, %offset(pike_frame, locals) ], %i2 */    SPARC_LDUW(SPARC_REG_I2, SPARC_REG_PIKE_FP,    OFFSETOF(pike_frame, locals), 1);    /* add %i2, no * sizeof(struct svalue), %i2 */    SPARC_ADD(SPARC_REG_I2, SPARC_REG_I2, no, 1);