ruby-changes:2366
From: ko1@a...
Date: 9 Nov 2007 22:04:39 +0900
Subject: [ruby-changes:2366] nobu - Ruby:r13857 (trunk): * vm.h (FRAME_MAGIC_MASK_BITS): bits of FRAME_MAGIC_MASK.
nobu 2007-11-09 22:04:22 +0900 (Fri, 09 Nov 2007) New Revision: 13857 Modified files: trunk/ChangeLog trunk/insnhelper.ci trunk/vm.h Log: * vm.h (FRAME_MAGIC_MASK_BITS): bits of FRAME_MAGIC_MASK. * insnhelper.ci (vm_call_cfunc, vm_cfunc_flags): use shift operations. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/insnhelper.ci?r1=13857&r2=13856 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/vm.h?r1=13857&r2=13856 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13857&r2=13856 Index: ChangeLog =================================================================== --- ChangeLog (revision 13856) +++ ChangeLog (revision 13857) @@ -1,3 +1,9 @@ +Fri Nov 9 22:04:21 2007 Nobuyoshi Nakada <nobu@r...> + + * vm.h (FRAME_MAGIC_MASK_BITS): bits of FRAME_MAGIC_MASK. + + * insnhelper.ci (vm_call_cfunc, vm_cfunc_flags): use shift operations. + Fri Nov 9 21:46:28 2007 Koichi Sasada <ko1@a...> * eval.c (eval): should be volatile value for GC. Index: vm.h =================================================================== --- vm.h (revision 13856) +++ vm.h (revision 13857) @@ -236,7 +236,8 @@ #define FRAME_MAGIC_IFUNC 0x81 #define FRAME_MAGIC_EVAL 0x91 #define FRAME_MAGIC_LAMBDA 0xa1 -#define FRAME_MAGIC_MASK 0xff +#define FRAME_MAGIC_MASK_BITS 8 +#define FRAME_MAGIC_MASK (~(~0<<FRAME_MAGIC_MASK_BITS)) #define VM_FRAME_FLAG(type) ((VALUE)((type) & FRAME_MAGIC_MASK)) Index: insnhelper.ci =================================================================== --- insnhelper.ci (revision 13856) +++ insnhelper.ci (revision 13857) @@ -355,7 +355,7 @@ EXEC_EVENT_HOOK(th, RUBY_EVENT_C_CALL, recv, id, klass); { rb_control_frame_t *cfp = - vm_push_frame(th, 0, FRAME_MAGIC_CFUNC | flag * (FRAME_MAGIC_MASK + 1), + vm_push_frame(th, 0, FRAME_MAGIC_CFUNC | (flag << FRAME_MAGIC_MASK_BITS), recv, (VALUE) blockptr, 0, reg_cfp->sp, 0, 1); cfp->method_id = id; @@ -379,7 +379,7 @@ vm_cfunc_flags(rb_control_frame_t *cfp) { if (RUBYVM_CFUNC_FRAME_P(cfp)) - return cfp->flag / (FRAME_MAGIC_MASK + 1); + return cfp->flag >> FRAME_MAGIC_MASK_BITS; return 0; } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml