From 69c8fd073faf694a3443d14bca0b3a7eebd2dc26 Mon Sep 17 00:00:00 2001 From: mame Date: Sun, 20 Dec 2009 12:31:26 +0000 Subject: * vm_eval.c (rb_iterate): pass current block when the argument bl_proc is NULL. This behavior can be used to make enumerator faster [ruby-dev:39874] * enumerator.c (enumerator_each): pass current block directly instead of trampoline block (enumerator_each_i). * io.c (argf_each_line, argf_each_byte, argf_each_char): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@26128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- io.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'io.c') diff --git a/io.c b/io.c index 643455eca..3b8bd2566 100644 --- a/io.c +++ b/io.c @@ -9148,7 +9148,7 @@ argf_each_line(int argc, VALUE *argv, VALUE argf) RETURN_ENUMERATOR(argf, argc, argv); for (;;) { if (!next_argv()) return argf; - rb_block_call(ARGF.current_file, rb_intern("each_line"), argc, argv, rb_yield, 0); + rb_block_call(ARGF.current_file, rb_intern("each_line"), argc, argv, 0, 0); ARGF.next_p = 1; } } @@ -9182,7 +9182,7 @@ argf_each_byte(VALUE argf) RETURN_ENUMERATOR(argf, 0, 0); for (;;) { if (!next_argv()) return argf; - rb_block_call(ARGF.current_file, rb_intern("each_byte"), 0, 0, rb_yield, 0); + rb_block_call(ARGF.current_file, rb_intern("each_byte"), 0, 0, 0, 0); ARGF.next_p = 1; } } @@ -9212,7 +9212,7 @@ argf_each_char(VALUE argf) RETURN_ENUMERATOR(argf, 0, 0); for (;;) { if (!next_argv()) return argf; - rb_block_call(ARGF.current_file, rb_intern("each_char"), 0, 0, rb_yield, 0); + rb_block_call(ARGF.current_file, rb_intern("each_char"), 0, 0, 0, 0); ARGF.next_p = 1; } } -- cgit