public
Description:
Homepage:
Clone URL: git://github.com/miura1729/yarv2llvm.git
yarv2llvm / MEMO
100644 38 lines (22 sloc) 1.184 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2009-08-30 Hideki Miura
 
* Array#atなどのメソッドは呼び出す場所ごとに型が異なりうる.これを全部統合して扱うと
動的型チェックが入っちゃうので呼び出し毎に型オブジェクトを用意して個々に型推論する
この様な型を持つメソッドのフラグを作る。
 
2009-07-08 <miura>
 
* typeオブジェクトのconstantとcontentを使い分けること。function, structureは
constantではなくcontentを使うべきだと思う。
 
2009-04-15 <miura>
 
* type.rbのRubyType#resolveでの
if ty.type and !UNDEF.equal?(ty.type.constant) then
          return
        end
   はかなりアドホックなので定数関係で型推論でバグが出たら真っ先にここを
   疑え
 
 
2009-03-03 <miura>
* global変数関係でSEGVが出たらglobal_variable[...][:area]のキャッシュを使う
条件をチェックすること。特に、trace_funcは現在キャッシュするようにしているが、
そうするとsample/santa.rbを-r y2llib/profile.rbで実行するとSEGVする。未定義の
global変数を参照するからだと思われる。
 
 
2009-01-16 <miura>
 
* もし、get_or_insert_functionでエラーが出たら@jump_fromの設定をチェックすること。valexpがnilのとき@jump_fromを設定しないようにしてあるが、これではまずいかもしれない。
 
* optimizeのみが出来なくなったらPHI関連を疑うこと