pike.git
/
src
/
code
/
sparc.c
version
»
Context lines:
10
20
40
80
file
none
3
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.
49
2008/02/28
10
:
35
:
59
grubba Exp $
+
|| $Id: sparc.c,v 1.
50
2008/02/28
12
:
02
:
21
grubba Exp $
*/ /* * Machine code generator for sparc. * * Henrik Grubbström 20010720 */ #include "global.h" #include "svalue.h"
pike.git/src/code/sparc.c:511:
OFFSETOF(pike_frame, current_object), 1); /* stw %pike_obj, [ %pike_sp, %offset(svalue, u.object) ] */ PIKE_STPTR(SPARC_REG_PIKE_OBJ, SPARC_REG_PIKE_SP, sparc_pike_sp_bias + OFFSETOF(svalue, u.object), 1); /* lduw [ %pike_obj, %offset(object, refs) ], %i0 */ SPARC_LDUW(SPARC_REG_I0, SPARC_REG_PIKE_OBJ, OFFSETOF(object, refs), 1); /* add %i0, 1, %i0 */ SPARC_ADD(SPARC_REG_I0, SPARC_REG_I0, 1, 1); /* lduw [ %pike_fp, %offset(pike_frame, context) ], %i1 */
-
PIKE_LDPTR(SPARC_REG_PIKE_OBJ, SPARC_REG_
PIKE_
I1,
+
PIKE_LDPTR(SPARC_REG_PIKE_OBJ, SPARC_REG_I1,
OFFSETOF(pike_frame, context), 1); /* stw %i0, [ %pike_obj, %offset(object, refs) ] */ SPARC_STW(SPARC_REG_I0, SPARC_REG_PIKE_OBJ, OFFSETOF(object, refs), 1);
-
/* lduh [ %
pike_fp
, %offset(inherit, identifier_level ], %i1 */
+
/* lduh [ %
i1
, %offset(inherit, identifier_level ], %i1 */
SPARC_LDUH(SPARC_REG_I1, SPARC_REG_I1, OFFSETOF(inherit, identifier_level), 1); SET_REG(SPARC_REG_I2, (no & 0xffff) | (PIKE_T_FUNCTION << 16)); /* add %i1, %i2, %i1 */ SPARC_ADD(SPARC_REG_I1, SPARC_REG_I1, SPARC_REG_I2, 0); /* stw %i1, [ %pike_sp, %g0 ] */ SPARC_STW(SPARC_REG_I1, SPARC_REG_PIKE_SP, sparc_pike_sp_bias, 1); sparc_pike_sp_bias += sizeof(struct svalue); sparc_codegen_state |= SPARC_CODEGEN_SP_NEEDS_STORE; }