Branch: Tag:

2017-11-18

2017-11-18 12:44:52 by Arne Goedeke <el@laramies.com>

Interpreter: fixed trampolines with tailcalls

We cannot pop any locals if they are going to be reused.

2193:    struct pike_frame *frame = Pike_fp;    struct pike_callsite C;    -  if(Pike_sp != frame->locals + args) +  if(frame->refs == 1 && Pike_sp != frame->locals + args)    pike_pop_locals(frame->locals, args);       callsite_init(&C, args);
2240:    struct pike_frame *frame = Pike_fp;    struct pike_callsite C;    -  if(Pike_sp != frame->locals + args) +  if(frame->refs == 1 && Pike_sp != frame->locals + args)    pike_pop_locals(frame->locals, args);       callsite_init(&C, args);