diff --git a/ChangeLog b/ChangeLog index 819ab442f8..2adb256385 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat Jan 6 13:48:36 2007 Koichi Sasada + + * insns.def (send) : fix to optimize send() with Symbol. + + * yarvtest/test_method.rb : add another test. + Sat Jan 6 13:43:55 2007 Koichi Sasada * common.mk : add PHONY dependency to some rules diff --git a/insns.def b/insns.def index 0e5ec71185..2f2b399a12 100644 --- a/insns.def +++ b/insns.def @@ -1180,7 +1180,8 @@ send if (node->nd_cfnc == rb_f_funcall || node->nd_cfnc == rb_f_send) { int i; - id = rb_to_id(TOPN(num - 1)); + VALUE sym = TOPN(num - 1); + id = SYMBOL_P(sym) ? SYM2ID(sym) : rb_to_id(sym); /* shift arguments */ for (i=1; i