Branch: Tag:

2002-11-15

2002-11-15 13:26:43 by Henrik Grubbström (Grubba) <grubba@grubba.org>

More F_RECUR generation fixes in do_lfun_call().

Rev: src/docode.c:1.156

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.155 2002/11/14 12:45:44 grubba Exp $ + || $Id: docode.c,v 1.156 2002/11/15 13:26:43 grubba Exp $   */      #include "global.h" - RCSID("$Id: docode.c,v 1.155 2002/11/14 12:45:44 grubba Exp $"); + RCSID("$Id: docode.c,v 1.156 2002/11/15 13:26:43 grubba Exp $");   #include "las.h"   #include "program.h"   #include "pike_types.h"
441: Inside #if 1
   Pike_compiler->new_program->identifier_references + id;       /* NB: The second part handles use of local::fun(). */ -  if((id == Pike_compiler->compiler_frame->current_function_number) || +  if((Pike_compiler->compiler_frame->current_function_number >= 0) && +  ((id == Pike_compiler->compiler_frame->current_function_number) ||    ((!ref->inherit_offset) &&    (ref->identifier_offset ==    Pike_compiler->new_program->    identifier_references[Pike_compiler->compiler_frame-> -  current_function_number].identifier_offset))) +  current_function_number].identifier_offset))))    {    int n=count_args(args);    if(n == Pike_compiler->compiler_frame->num_args)
464: Inside #if 1
   *    * RECUR directly to label 0.    * -  * (We don't want to trigger the second pass if it's not needed.) +  * Note that we in this case don't know if we are overloaded or +  * not, and thus can't RECUR to the recur_label.    */    do_jump(F_RECUR, 0);    } else {