Feature #3638

VM内データ構造へアクセスするマクロ

Added by _ wanabe over 4 years ago. Updated over 2 years ago.

[ruby-dev:41907]
Status:Closed
Priority:Normal
Assignee:Koichi Sasada

Description

=begin
dfp[-1] といったマジックナンバーを減らすよう、マクロを新設するのはどうでしょうか。
叩き台としてパッチを添付します。
=end

macro_yarv.patch Magnifier (5.4 KB) _ wanabe, 08/01/2010 07:44 AM

History

#1 Updated by Koichi Sasada over 4 years ago

=begin
 最近,心に余裕のないささだです.

(2010/08/01 7:44), _ wanabe wrote:

Feature #3638: VM内データ構造へアクセスするマクロ
http://redmine.ruby-lang.org/issues/show/3638

起票者: _ wanabe
ステータス: Open, 優先度: Normal
担当者: Koichi Sasada, カテゴリ: YARV, Target version: 1.9.x

dfp[-1] といったマジックナンバーを減らすよう、マクロを新設するのはどうでしょうか。
叩き台としてパッチを添付します。

 パッチ拝見しました.

 話としては良いと思うのですが,マクロ名が一般的すぎて,ちょっと問題では
ないかと思いました.

 というのも,たとえば「CREF(cfp)」なんかは,すべての CREF がそのように
アクセスできるのならそれでいいと思うのですが,そうでないこともあるのに,
この一般的な名前はまずいのではないかと思います.

 そもそも,その辺の統一がとれていないという設計がまずいという気もします.

--
// SASADA Koichi at atdot dot net
=end

#2 Updated by Koichi Sasada over 4 years ago

=begin
 最近,心に余裕のないささだです.

(2010/08/01 7:44), _ wanabe wrote:

Feature #3638: VM内データ構造へアクセスするマクロ
http://redmine.ruby-lang.org/issues/show/3638

起票者: _ wanabe
ステータス: Open, 優先度: Normal
担当者: Koichi Sasada, カテゴリ: YARV, Target version: 1.9.x

dfp[-1] といったマジックナンバーを減らすよう、マクロを新設するのはどうでしょうか。
叩き台としてパッチを添付します。

 パッチ拝見しました.

 話としては良いと思うのですが,マクロ名が一般的すぎて,ちょっと問題では
ないかと思いました.

 というのも,たとえば「CREF(cfp)」なんかは,すべての CREF がそのように
アクセスできるのならそれでいいと思うのですが,そうでないこともあるのに,
この一般的な名前はまずいのではないかと思います.

 そもそも,その辺の統一がとれていないという設計がまずいという気もします.

--
// SASADA Koichi at atdot dot net

=end

#3 Updated by _ wanabe over 4 years ago

=begin
ワナベです。

 パッチ拝見しました.

 話としては良いと思うのですが,マクロ名が一般的すぎて,ちょっと問題では
ないかと思いました.

ありがとうございます。なるほど。

 というのも,たとえば「CREF(cfp)」なんかは,すべての CREF がそのように
アクセスできるのならそれでいいと思うのですが,そうでないこともあるのに,
この一般的な名前はまずいのではないかと思います.

 そもそも,その辺の統一がとれていないという設計がまずいという気もします.

この例で言えば、CREF にアクセスできない時もある、ということがわかればよいのでしょうか。
であれば、たとえば CREF_OR_XX_OR_… のような名前はどうでしょうか。
ささださんのいう「統一がとれていないという設計」が一目瞭然になって
「『後で直す』コメント」的な意味合いを持たせられるのでは、と思います。
(個人的には設計がまずいとは思いませんが)

そこで改めて質問なのですが、

・「たとえば」ということでしたが、名前が一般的すぎるのは CREF() と ERRINFO() の
 二つ、という認識でよろしいでしょうか。それともまだありますでしょうか。

・上の質問と関連して、マクロで取り出される値にはどういった種類があるでしょうか。
 CREF() を例にとれば、CREF または SVAR が取り出されるという認識でよいでしょうか。
=end

#4 Updated by Koichi Sasada over 4 years ago

=begin
 ささだです.

(2010/08/12 17:14), _ wanabe wrote:

この例で言えば、CREF にアクセスできない時もある、ということがわかればよいのでしょうか。

 どちらかというと,CREF() は,すべてのケースで cref がとれるべきな気が
するのです.rb_vm_cref() 相当に見えるのです.が,CREF() マクロは,そうで
はないのですよね.

 CREF_IN_... とかのほうがいいんではないかと思います.

そこで改めて質問なのですが、

・「たとえば」ということでしたが、名前が一般的すぎるのは CREF() と ERRINFO() の
 二つ、という認識でよろしいでしょうか。それともまだありますでしょうか。

 他にもあてはまるような気がします.

・上の質問と関連して、マクロで取り出される値にはどういった種類があるでしょうか。
 CREF() を例にとれば、CREF または SVAR が取り出されるという認識でよいでしょうか。

 うーん,コード読み直さないとわからんです....

--
// SASADA Koichi at atdot dot net

=end

#5 Updated by Shyouhei Urabe over 4 years ago

  • Status changed from Open to Assigned

=begin

=end

#6 Updated by Koichi Sasada over 2 years ago

  • Description updated (diff)
  • Status changed from Assigned to Closed

こちら,心を入れ替えて書き直しているので close とさせて下さい.

Also available in: Atom PDF