Branch: Tag:

2002-11-12

2002-11-12 11:48:23 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Changed the calling conventions for the inlined recursive call opcodes.
They now support F_ENTRY architectures properly.

Rev: src/docode.c:1.153
Rev: src/interpret_functions.h:1.117

2:   || 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: docode.c,v 1.152 2002/11/06 16:16:34 grubba Exp $ + || $Id: docode.c,v 1.153 2002/11/12 11:48:23 grubba Exp $   */      #include "global.h" - RCSID("$Id: docode.c,v 1.152 2002/11/06 16:16:34 grubba Exp $"); + RCSID("$Id: docode.c,v 1.153 2002/11/12 11:48:23 grubba Exp $");   #include "las.h"   #include "program.h"   #include "pike_types.h"
2220:    /* generate code again, but this time it is inline */    Pike_compiler->compiler_frame->is_inline=1;    -  /* This is a no-op, but prevents optimizer to delete the bytes below */ -  emit1(F_LABEL, -1); +  /* NOTE: This is no ordinary label... */ +  low_insert_label(Pike_compiler->compiler_frame->recur_label);    emit1(F_BYTE,Pike_compiler->compiler_frame->max_number_of_locals);    emit1(F_BYTE,Pike_compiler->compiler_frame->num_args); -  +  emit0(F_ENTRY);    emit0(F_START_FUNCTION); -  low_insert_label(Pike_compiler->compiler_frame->recur_label); +     DO_CODE_BLOCK(n);    }    assemble();