summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-12-20 12:31:26 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-12-20 12:31:26 +0000
commitae8dc9b72204679e78d6993f5cef8c5189b8b8d8 (patch)
tree833953f9dc255870f6cfa9d83cfa191459a70daf /io.c
parent0208837f083422a68ff5df14d34fb1e4bcb82d2c (diff)
* 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: svn+ssh://ci.ruby-lang.org/ruby/trunk@26128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r--io.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/io.c b/io.c
index 643455eca5..3b8bd2566f 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;
}
}