[#41918] [Feature #3647] Array#sample(n, replace=false) — Kenta Murata <redmine@...>

Feature #3647: Array#sample(n, replace=false)

11 messages 2010/08/03

[#41966] [Bug #3673] PTY.getpty with IO.pipe doesn't finish on FreeBSD — Yui NARUSE <redmine@...>

Bug #3673: PTY.getpty with IO.pipe doesn't finish on FreeBSD

9 messages 2010/08/10

[#41969] [Feature #3675] String#prepend, String#>> — Sora Harakami <redmine@...>

Feature #3675: String#prepend, String#>>

15 messages 2010/08/10
[#41976] Re: [Feature #3675] String#prepend, String#>> — Yukihiro Matsumoto <matz@...> 2010/08/10

まつもと ゆきひろです

[#41974] Re: [ruby-cvs:36157] Ruby:r28955 (trunk): * complex.c (nucomp_to_[ifr]): don't allow complex with in-exact — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

7 messages 2010/08/10

[#42003] WEBrickに関するセキュリティ修正 (CVE-2010-0541) — Hideki Yamane <henrich@...>

12 messages 2010/08/11

[#42090] Math::atan2(0, 0) on ruby 1.9.2 — KUBO Takehiro <kubo@...>

久保です。

18 messages 2010/08/22
[#42092] Re: Math::atan2(0, 0) on ruby 1.9.2 — Kenta Murata <muraken@...> 2010/08/22

=1B$B$`$i$?$G$9!#=1B(B

[#42166] Ruby'sライセンスの、BSDLとのデュアルライセンスへの変更 — "NARUSE, Yui" <naruse@...>

Ruby's ライセンスは BSDL と Ruby's のデュアルライセンスになります。

14 messages 2010/08/31

[ruby-dev:42130] Re: [Feature:trunk] argument delegation

From: SASADA Koichi <ko1@...>
Date: 2010-08-24 18:23:06 UTC
List: ruby-dev #42130
 ささだです.

 あまりに暑くて目が覚めました.

(2010/08/25 0:30), Yusuke ENDOH wrote:
> --- a/vm_core.h
> +++ b/vm_core.h
> @@ -544,6 +544,7 @@ typedef struct {
>  #define VM_CALL_TAILRECURSION_BIT  (0x01 << 6)
>  #define VM_CALL_SUPER_BIT          (0x01 << 7)
>  #define VM_CALL_OPT_SEND_BIT       (0x01 << 8)
> +#define VM_CALL_ARGS_BLOCKTRGH_BIT (0x01 << 9)
> 
>  #define VM_SPECIAL_OBJECT_VMCORE       0x01
>  #define VM_SPECIAL_OBJECT_CBASE        0x02
> diff --git a/vm_insnhelper.c b/vm_insnhelper.c
> index 985a2fb..2a127d7 100644
> --- a/vm_insnhelper.c
> +++ b/vm_insnhelper.c
> @@ -261,6 +261,10 @@ caller_setup_args(const rb_thread_t *th,
> rb_control_frame_t *cfp, VALUE flag,
>  		*block = blockptr;
>  	    }
>  	}
> +	else if (flag & VM_CALL_ARGS_BLOCKTRGH_BIT) {
> +	    rb_control_frame_t *reg_cfp = cfp;
> +	    *block = GET_BLOCK_PTR();
> +	}
>  	else if (blockiseq) {
>  	    blockptr = RUBY_VM_GET_BLOCK_PTR_IN_CFP(cfp);
>  	    blockptr->iseq = blockiseq;
> 

 できれば,VM_CALL_ARGS_BLOCKTRGH_BIT を増やすんじゃなく
て,VM_CALL_ARGS_BLOCKARG_BIT だけど,blockiseq かなんかの値を特殊にし
ておくとか,そういう実装にしてもらえるといいんじゃないかと思います.

(命令オペランドのバリエーションが減った方が色々うれしい)

-- 
// SASADA Koichi at atdot dot net

In This Thread