diff --git a/ChangeLog b/ChangeLog index aa18e2aa50..973c2b0c2e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Aug 18 15:52:50 2007 Nobuyoshi Nakada + + * insnhelper.ci (vm_send_optimize): use MEMMOVE to shift values inside + an array. + Sat Aug 18 15:45:34 2007 Nobuyoshi Nakada * insnhelper.ci (vm_yield_setup_args): rsize and psize should not be diff --git a/insnhelper.ci b/insnhelper.ci index 369aeef251..500005c9ce 100644 --- a/insnhelper.ci +++ b/insnhelper.ci @@ -591,7 +591,7 @@ vm_send_optimize(rb_control_frame_t *reg_cfp, /* shift arguments */ if (i > 0) { - MEMCPY(&TOPN(i), &TOPN(i-1), VALUE, i); + MEMMOVE(&TOPN(i), &TOPN(i-1), VALUE, i); } *mn = rb_method_node(klass, *id);