2019-01-08から1日間の記事一覧
IMMEDIATE_P の実装を確認する。 https://github.com/ruby/ruby/blob/ruby_2_6/include/ruby/ruby.h#L400 #define RB_IMMEDIATE_P(x) ((VALUE)(x) & RUBY_IMMEDIATE_MASK) #define IMMEDIATE_P(x) RB_IMMEDIATE_P(x) RUBY_IMMEDIATE_MASK も確認する(64bit …
さて、SPECIAL_CONST_P の実装の話。 #define RB_SPECIAL_CONST_P(x) (RB_IMMEDIATE_P(x) || !RB_TEST(x)) #define SPECIAL_CONST_P(x) RB_SPECIAL_CONST_P(x) この条件で、メモリへのポインタか、そうでないかを分けることができる、といっている。どうやる…