From b0f3c28caafa7a3993b826ea69973f3b8bdc8dca Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Mon, 10 Sep 2012 20:36:03 +0900 Subject: simplify array generation from mrb_run --- src/vm.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'src') diff --git a/src/vm.c b/src/vm.c index 256ae8ef4..c49d106c2 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1525,14 +1525,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) CASE(OP_ARRAY) { /* A B C R(A) := ary_new(R(B),R(B+1)..R(B+C)) */ - int b = GETARG_B(i); - int lim = b+GETARG_C(i); - mrb_value ary = mrb_ary_new_capa(mrb, GETARG_C(i)); - - while (b < lim) { - mrb_ary_push(mrb, ary, regs[b++]); - } - regs[GETARG_A(i)] = ary; + regs[GETARG_A(i)] = mrb_ary_new_from_values(mrb, GETARG_C(i), ®s[GETARG_B(i)]); mrb->arena_idx = ai; NEXT; } -- cgit v1.2.3