[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:1107

From: SASADA Koichi <ko1 atdot.net>
Date: Tue, 14 Nov 2006 11:29:10 +0900
Subject: [yarv-dev:1107] Re: merge with YARV

 ささだです。

Tadashi Saito wrote:
> 極めてどうでもいいことなんですが、忘れないうちに。

 いや、全然どうでもよくありませんでした。ありがとうございます。なんでい
ままで動いてたんだろう(テヘ)。

> yarvcore.hで
> - GCCじゃないときのUNLIKELY()が非常にまずそうです。LIKELY()も同様のスタ
>   イルにしました(意図があったらごめんなさい)
> - __builtin_expect()はGCC3かららしいので
>     http://gcc.gnu.org/gcc-3.0/features.html
>   チェックするようにしました

 いやー、ほんと、なんで動いてたんでしょうねえ。VC で。


> それで疑問はvm.hで
> - 131行目
>   > #if __GNUC__ && (__i386__ || __x86_64__) && __GNUC__ == 3
>   の最後って、>= 3 でも可ではないのでしょうか? (or bug of 4.x?)
> - 同じく143行目
>   > #if OPT_DIRECT_THREADED_CODE
>   の下に
>   > /* for GCC 3.4.x */
>   とあるので、ifに
>     && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
>   とか加えちゃった方がいいでしょうか。
> - #if __GNUC__ と #ifdef __GNUC__ を書き分けている理由が分からなくて
>   ごめんなさい。
>   (古いコンパイラって前者を受け入れないのがあったんでしょうか?)

 これは、4 を見ていない時期に、それぞれのコンパイラのバージョンによって
意図しないコードが出たり出なかったりしたので、その辺をちょこちょこ弄って
いたからでした。多分、前者は >= 3 なんだと思います。後者はちょっとわから
ない。

 #if __GNUC__ と #ifdef __GNUC__ って、どっちがいいんでしょうね。あまり
考えずに使っていました。

-- 
// SASADA Koichi at atdot dot net


--
ML: yarv-dev quickml.atdot.net
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

      1097 2006-11-04 00:44 [ko1 atdot.net       ] merge with YARV                         
      1105 2006-11-10 01:10 ┗[shiba mail2.accsnet.]                                       
->    1107 2006-11-14 11:29  ┗[ko1 atdot.net       ]