[#43284] [Ruby 1.9 - Bug #4456] [Open] Time#strftime で %F 指定子に大きな幅を指定した際の不具合 — tadayoshi funaba <redmine@...>

14 messages 2011/03/02

[#43317] [Ruby 1.9 - Bug #4474][Open] 複数のスレッドからトランザクションに入ろうとした場合のPStoreの挙動 — Masaki Matsushita <redmine@...>

9 messages 2011/03/06

[#43327] [Ruby 1.9 - Feature #4483][Open] PStoreをデフォルトで複数のスレッドから扱えるようにしたい — Masaki Matsushita <redmine@...>

10 messages 2011/03/08

[#43365] [Ruby 1.9 - Bug #4536][Open] 定数参照について1.8と1.9の違い — Yukihiro Matsumoto <matz@...>

11 messages 2011/03/29

[ruby-dev:43315] Re: iseq_compile_each()でのマジックナンバ

From: きたざわけんいち <peisunstar@...>
Date: 2011-03-06 06:08:35 UTC
List: ruby-dev #43315
きたざわです。

#ささださんと話しができるなんて幸せだなぁ



>> Index: vm_core.h
>> ===================================================================
>> --- vm_core.h (リビジョン 31028)
>> +++ vm_core.h (作業コピー)
>> @@ -583,6 +583,12 @@
>>  #define RUBYVM_CFUNC_FRAME_P(cfp) \
>>    (VM_FRAME_TYPE(cfp) == VM_FRAME_MAGIC_CFUNC)
>>
>> +/* vm_throw state */
>> +#define VM_THROW_GET_DFP     0x8000
>
>  これ,何やってるんでしたっけ.コード見たけど思い出せない....なんか,
> これが設定されていると,逆に dfp を見ていないような.

あ、用途としては逆ですね。
0x8000だと、dfpを見ますよね。というか、throw命令の返り値を1にするか、dfpにするか、ですかね。
# 逆にとらえてしまったか

VM_THROW_RETRUN_NOT_DFPかな?


>> +#define VM_THROW_LVL_SHIFT   16
>> +#define VM_THROW_LEVEL(s) (s >> VM_THROW_LVL_SHIFT)
>
>  lvl って level でしょうか.

そうです。VM_THROW_LEVEL_SHIFTにします。

>> +#include "eval_intern.h"
>
>  なぜ,eval_intern.h を include しているんでしょうか.TAG_BREAK とかを
> 見るためかな.私はなぜここを即値にしたんだろう.include したくなかったか
> らかなぁ.

eval_intern.hをincludeするのは、TAG_xxxを見るためです。


もっとも、0x8000をセットされるようなコードが書けなくて、困ってもいるんですけどね。


> 私はなぜここを即値にしたんだろう.
人間が想起できる記憶のほうが少ないですよ。
-- 
---
ぺーさん(peisunstar@gmail.com)

In This Thread