Archives
Recent Entries
Search


Links
Powered by
Movable Type 2.64

2008年11月24日

llvm-2.4とMSIL

llvm-2.4のMSILのコードは長らく更新されていないのです(´ー`)

llvm-2.4でMSILのバイナリ吐かせてみようと思って llc -march=msil してみるわけですが、abortしてしまいますのでちょっと調べてみました(´ー`)いくらかbcのバイナリに対して未実装の部分があるようです。


HANDLE_OTHER_INST(42, PHI , PHINode ) // PHI node instruction
HANDLE_OTHER_INST(45, UserOp1, Instruction) // May be used internally in a pass
HANDLE_OTHER_INST(46, UserOp2, Instruction) // Internal to passes only
HANDLE_OTHER_INST(48, ExtractElement, ExtractElementInst)// extract from vector
HANDLE_OTHER_INST(49, InsertElement, InsertElementInst) // insert into vector
HANDLE_OTHER_INST(50, ShuffleVector, ShuffleVectorInst) // shuffle two vectors.
HANDLE_OTHER_INST(51, ExtractValue, ExtractValueInst)// extract from aggregate
HANDLE_OTHER_INST(52, InsertValue, InsertValueInst) // insert into aggregate
HANDLE_OTHER_INST(53, VICmp , VICmpInst ) // Vec Int comparison instruction.
HANDLE_OTHER_INST(54, VFCmp , VFCmpInst ) // Vec FP point comparison instr.

特に上記のうち42,45,50についてはX86では対応していますので、対応しておくのが無難と思われます。lib/Target/MSIL/MSILWriter.cpp に実装を追加する必要がありまして、1168行目でassertが出ないように(つまり case でdefaultを通らないように)してやらないといけないわけです。で、おそらくその部分を実装すれば何とかなると思われます。

#がしかし(;´Д`)今はそんなのやってる暇無いので放置

Posted by minemaz at 05:28 | Comments (0) | TrackBack

2008年11月17日

OpenCOBOL最近の動向

OpenCOBOLの最近の動向(´ー`)

日本国内では動きがほとんど無いのですが、ぽつぽつとキーワードの露出は増えていますね。OpenCOBOLと他言語のリンクなどの記事も見られるようになってきましたし。

海外では、Luaやlibdbi、Tcl/Tkなどの言語とのリンクも進んでいます。またOpenCOBOL自身もGLOBALキーワード周辺の実装などの動きがあったようです。その他CALL/CANCEL周辺の動作について安定性が増すようです(>1.1)

その周辺に関しまして週1くらいのペースで現在のメンテナ他数名でIRCで検討が進んでいます。

弊社内ではOpenCOBOLとPHPの連携は以前から試していましたが、perlとの連携も出来るようになり様々な応用を検討しています。OPEN、CLOSE、READ、STARTの代わりにperlで作成したsubを呼び出す仕様で色々と面白いことを考えています。

Eclipse用のpluginなども実装検討中です~ヽ(´ー`)ノ

Posted by minemaz at 00:31 | Comments (0) | TrackBack