From d8d95fcc03215f206be323af7112fb029c25b56c Mon Sep 17 00:00:00 2001 From: nagachika Date: Tue, 23 Oct 2012 15:54:20 +0000 Subject: * ChangeLog: fix typos of r37293. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 0001968032..8da1bcfb0e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -25,20 +25,20 @@ Tue Oct 23 14:06:47 2012 Nobuyoshi Nakada Tue Oct 23 12:57:29 2012 Koichi Sasada * vm_core.h, vm_insnhelper.c, vm_eval.c (OPT_CALL_CFUNC_WITHOUT_FRAME): - add a new otpimization and its macro `OPT_CALL_CFUNC_WITHOUT_FRAME'. + add a new optimization and its macro `OPT_CALL_CFUNC_WITHOUT_FRAME'. This optimization makes all cfunc method calls `frameless', which - is fster than ordinal cfunc method call. + is faster than ordinal cfunc method call. If `frame' is needed (for example, it calls another method with `rb_funcall()'), then build a frame. In other words, this optimization delays frame building. However, to delay the frame building, we need additional overheads: (1) Store the last call information. - (2) Check the delayed frame buidling before the frame is needed. + (2) Check the delayed frame building before the frame is needed. (3) Overhead to build a delayed frame. rb_thread_t::passed_ci is storage of delayed cfunc call information. (1) is lightweight because it is only 1 assignment to `passed_ci'. To achieve (2), we modify GET_THREAD() to check `passed_ci' every - time. It causes 10% overhead on my envrionment. + time. It causes 10% overhead on my environment. This optimization only works for cfunc methods which do not need their `frame'. After evaluation on my environment, this optimization does not -- cgit v1.2.3