[#43610] Re: [ruby-list:48149] Re: requireが配列を取れたら便利だと思うんだけど.. — Hiroshi Nakamura <nakahiro@...>

ruby-listから持って来ました。でも続かなそう。

12 messages 2011/06/02

[#43643] DateTime.new! and DateTime.jd — Aaron Patterson <aaron.patterson@...>

こんにちは、アーロンです。

25 messages 2011/06/07
[#43647] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

blocker はお前だろ。

[#43648] Re: DateTime.new! and DateTime.jd — Yukihiro Matsumoto <matz@...> 2011/06/07

まつもと ゆきひろです

[#43651] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

> うーん、ただでさえ日英のコミュニケーション障壁があるのに、よ

[#43653] Re: DateTime.new! and DateTime.jd — Aaron Patterson <aaron.patterson@...> 2011/06/07

2011/6/7 Tadayoshi Funaba <tadf@dotrb.org>:

[#43657] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

皆さんってのに俺は入ってないみたいだな。

[#43661] Re: DateTime.new! and DateTime.jd — Yukihiro Matsumoto <matz@...> 2011/06/07

まつもと ゆきひろです

[#43662] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

> Aaronが言ってる「リリース」は1.9.3のことだと思いますよ。

[#43645] Re: [ruby-core:36778] Re: 1.8.7 release next month — Urabe Shyouhei <shyouhei@...>

Moving to ruby-dev to understand strategies of backporting the Tk

13 messages 2011/06/07

[#43787] [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...>

24 messages 2011/06/13
[#43788] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yukihiro Matsumoto <matz@...> 2011/06/13

まつもと ゆきひろです

[#43789] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/13

もう結論が出てしまったようですが、これは、元々 lib/complex.rb にあった

[#43794] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...> 2011/06/13

むらたです。

[#43795] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/13

> complex.rb をロードすると Math が CMath 相当に置き換わりますから、

[#43797] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...> 2011/06/14

むらたです。

[#43799] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yukihiro Matsumoto <matz@...> 2011/06/14

まつもと ゆきひろです

[#43800] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...> 2011/06/14

むらたです。

[#43803] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> これに相当する事をやっているのが complex.rb なので、

[#43806] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yusuke ENDOH <mame@...> 2011/06/14

遠藤です。

[#43807] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> 定義域を増やすだけにしよう、ということですよね。賛成です。

[#43809] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yusuke ENDOH <mame@...> 2011/06/14

2011年6月14日22:17 Tadayoshi Funaba <tadf@dotrb.org>:

[#43810] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> 互換性がないという点では同じ話だと思うのですが……。

[#43811] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yusuke ENDOH <mame@...> 2011/06/14

2011年6月14日23:02 Tadayoshi Funaba <tadf@dotrb.org>:

[#43812] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> いやあ、5 月末の feature freeze 時点では -2 を返していたはずなんですが、

[#43852] [Ruby 1.9 - Bug #4909][Open] trapハンドラは再入されてはいけないのではないか? — Motohiro KOSAKI <kosaki.motohiro@...>

11 messages 2011/06/20

[ruby-dev:43904] Re: [Ruby 1.9 - Bug #4926] --gc-stress付きtest/ruby/enc/test_emoji.rbが失敗する

From: SASADA Koichi <ko1@...>
Date: 2011-06-26 01:49:53 UTC
List: ruby-dev #43904
 ささだです.

 なかなか見つけづらいバグを見つけて頂いてありがとうございます.

 この問題は,vm_clear_all_inline_method_cache() が未実装だから,という
理由 *ではなく*,単に vm_getivar() が vm state を見ていないから,ではな
いかと思っています.そもそも,なんで見てないのか,記憶が確かではないんで
すが....

 vm_method_search() で行っているように,

    GET_VM_STATE_VERSION() == ic->ic_vmstat

の比較,および ic->ic_vmstat = GET_VM_STATE_VERSION() の代入が必要になる
んではないかと思います.

 しかし,うーん,なんでやってないんだろう.書いたときには,ここが被るこ
とは無い,と何か確信があったんだろうか.と,考えていて返事が遅くなりまし
た.もうちょっと考えてみようと思います.


 なお,vm_clear_all_inline_method_cache(void) は,vmstate カウンタが
オーバーフローしたときにクリアするための関数で,まずここが問題になること
は無いだろう,と思って TODO にしています(そもそも,ここが振り切れること
は,ふつーのプログラムでは考えづらい.... 多分).


(2011/06/26 10:31), Kazuki Tsujimoto wrote:
> 自己レスです。
> チケット登録してから気づいたのですが、これは本質的にはvm_clear_all_inline_method_cacheを
> 実装しないといけないという話でした。
> 
>  vm.c=63=static void
>  vm.c:64:vm_clear_all_inline_method_cache(void)
>  vm.c-65-{
>  vm.c-66-    /* TODO: Clear all inline cache entries in all iseqs.
>  vm.c-67-             How to iterate all iseqs in sweep phase?
>  vm.c-68-             rb_objspace_each_objects() doesn't work at sweep phase.
>  vm.c-69-     */
>  vm.c-70-}
> =end
> 
> ----------------------------------------
> Bug #4926: --gc-stress付きtest/ruby/enc/test_emoji.rbが失敗する
> http://redmine.ruby-lang.org/issues/4926
> 
> Author: Kazuki Tsujimoto
> Status: Open
> Priority: Normal
> Assignee: 
> Category: core
> Target version: 
> ruby -v: ruby 1.9.3dev (2011-06-26 trunk 32229) [x86_64-linux]
> 
> 
> =begin
> 辻本です。
> 
> --gc-stressオプションをつけてtest/ruby/enc/test_emoji.rbを実行するとテストに失敗します。
> 
>  $ make RUBYOPT=-W TESTS='ruby/enc/test_emoji.rb --gc-stress' test-all
>  /home/k_tsj/work/ruby-trunk/test/ruby/enc/test_emoji.rb:154: warning: instance variable @aiueo_sjis not initialized
>    1) Failure:
>  test_from_iso2022jp(Emoji::TestKDDI) [/home/k_tsj/work/ruby-trunk/test/ruby/enc/test_emoji.rb:154]:
>  Exception raised:
>  <#<NoMethodError: undefined method `force_encoding' for nil:NilClass>>.
>  (全ログは長いので添付します。)
> 
> この時の流れは以下の通りです。
> 
> (1) vm_setivarにてic->ic_classにRBASIC(obj)->klass(Emoji::TestDoCoMoオブジェクトの特異クラス)が代入される。
> (2) 1.の特異クラスがGCで解放される。
> (3) Emoji::TestKDDIオブジェクトの特異クラスが1.の特異クラスと同じアドレスで作成される。
> (4) icのindexとklassのindexが不一致を起こしてインスタンス変数の参照に失敗する。
> 
> ivar_get/rb_ivar_setではRBASIC(obj)->klassではなくrb_obj_class(obj)を使ってIV_INDEX_TBLを扱っており、
> そちらに揃えれば問題は起きなくなります。以下のパッチでどうでしょうか。
> 
>  diff --git a/vm_insnhelper.c b/vm_insnhelper.c
>  index 366ac4a..3736055 100644
>  --- a/vm_insnhelper.c
>  +++ b/vm_insnhelper.c
>  @@ -1259,7 +1259,7 @@ vm_getivar(VALUE obj, ID id, IC ic)
>   #if USE_IC_FOR_IVAR
>       if (TYPE(obj) ==  T_OBJECT) {
>   	VALUE val = Qundef;
>  -	VALUE klass = RBASIC(obj)->klass;
>  +	VALUE klass = rb_obj_class(obj);
>   
>   	if (ic->ic_class == klass) {
>   	    long index = ic->ic_value.index;
>  @@ -1311,7 +1311,7 @@ vm_setivar(VALUE obj, ID id, VALUE val, IC ic)
>       rb_check_frozen(obj);
>   
>       if (TYPE(obj) == T_OBJECT) {
>  -	VALUE klass = RBASIC(obj)->klass;
>  +	VALUE klass = rb_obj_class(obj);
>   	st_data_t index;
>   
>   	if (ic->ic_class == klass) {
> =end
> 
> 


-- 
// SASADA Koichi at atdot dot net

In This Thread