yarv-dev:1110
From: "U.Nakamura" <usa garbagecollect.jp>
Date: Thu, 28 Jun 2007 09:36:33 +0900
Subject: [yarv-dev:1110] Re: call threading v.s. switch threading
こんにちは、なかむら(う)です。 In message "[yarv-dev:1109] call threading v.s. switch threading" on Jun.28,2007 04:57:56, <ko1 atdot.net> wrote: | 一応、call は fastcall を指定してあります。しかし、typedef | 時に設定する場所が gcc と VC で違って、きれいに書けないとい | う。FASTCALL_TYPEDEF を作るほうがよかったかも。 configureでFUNC_CDECL、FUNC_STDCALLを調べてdefineしてるので、 fastcallも同様にconfigureでFUNC_FASTCALLという名でdefineした 方がよかったかもしれません。 また、gccでは int __attribute__ ((fastcall)) foo(int); と宣言できたり、 typedef int (__attribute__ ((fastcall)) *TypeFoo)(int); とtypedefできたりするような気がするので、 /* ここは本当はconfig.hに */ #if __GCC__ #define FUNC_FASTCALL(x) __attribute__ ((fastcall)) #elif defined(_MSC_VER) #define FUNC_FASTCALL(x) __fastcall x #else #define FUNC_FASTCALL(x) x #endif typedef rb_control_frame_t * (FUNC_FASTCALL(*insn_func_type))(rb_thread_t *, rb_control_frame_t *); #define INSN_ENTRY(insn) \ static rb_control_frame_t * \ FUNC_FASTCALL(LABEL(insn))(rb_thread_t *th, rb_control_frame_t *reg_cfp) { ... という感じでよかったりするんじゃないかと思うのですが、ど うでしょうか? # なんか誤解してるかな... それでは。 -- U.Nakamura <usa garbagecollect.jp> 参考文献 [ruby-dev:28970] -- ML: yarv-dev quickml.atdot.net Info: http://www.atdot.net/~ko1/quickml
1109 2007-06-28 04:57 [ko1 atdot.net ] call threading v.s. switch threading -> 1110 2007-06-28 09:36 ┗[usa garbagecollect.j] 1111 2007-06-28 09:47 ┗[usa garbagecollect.j] 1112 2007-06-28 22:24 ┗[ko1 atdot.net ] 1113 2007-06-29 13:28 ┗[usa garbagecollect.j]