アカウント名:
パスワード:
こんなに陰鬱なWWDCは初めて。CPUが変わるたび、アーキティクチャが変わるたびに使い慣れてたソフトが消えていくのはもう嫌。
互換性を気にする奴が何でmac使ってんの?バカ?
下地がUnixなんで、Web系の開発にちょうどいいんですよ。ARMでrubyとかって、どこまで動くんだ。。
むしろ ruby が動かないケースが想定できないのですが…
そもそもOSSはソースが公開されているわけで、OSとしてはUnixを継続する以上動かないケースでありうるのは「ソースの一部がアセンブラで記述されている」。そんなプロジェクト最近あるかなぁ…
「ruby が動かないケースが想定できない」には同意。
なお、Rubyを未知のアーキテクチャに移植する際には、GCが要注意とされています。
https://github.com/ruby/ruby/blob/v2_7_1/README.ja.md#%E7%A7%BB%E6%A4%8D [github.com]
アーキテクチャにもっとも依存するのはGC部です.RubyのGCは対象 のアーキテクチャがsetjmp()またはgetcontext()によって全てのレジスタを jmp_buf や ucontext_t に格納することと, jmp_buf や ucontext_t とスタックが32bitアラインメントされていることを仮定 しています.特に前者が成立しない場合の対応は非常に困難でしょう. 後者の解決は比較的簡単で, gc.c でスタックをマークしている 部分にアラインメントのバイト数だけずらしてマークするコードを追加するだけで済みます.defined(__mc68000__)で括られてい る部分を参考にしてください.レジスタウィンドウを持つCPUでは,レジスタウィンドウをスタックにフラッシュするアセンブラコードを追加する必要があるかもしれません.
アーキテクチャにもっとも依存するのはGC部です.RubyのGCは対象 のアーキテクチャがsetjmp()またはgetcontext()によって全てのレジスタを jmp_buf や ucontext_t に格納することと, jmp_buf や ucontext_t とスタックが32bitアラインメントされていることを仮定 しています.特に前者が成立しない場合の対応は非常に困難でしょう. 後者の解決は比較的簡単で, gc.c でスタックをマークしている 部分にアラインメントのバイト数だけずらしてマークするコードを追加するだけで済みます.defined(__mc68000__)で括られてい る部分を参考にしてください.
レジスタウィンドウを持つCPUでは,レジスタウィンドウをスタックにフラッシュするアセンブラコードを追加する必要があるかもしれません.
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
正直言うと (スコア:1)
こんなに陰鬱なWWDCは初めて。
CPUが変わるたび、アーキティクチャが変わるたびに使い慣れてたソフトが消えていくのはもう嫌。
Re: (スコア:0)
互換性を気にする奴が何でmac使ってんの?バカ?
Re: (スコア:0)
下地がUnixなんで、Web系の開発にちょうどいいんですよ。
ARMでrubyとかって、どこまで動くんだ。。
Re: (スコア:1)
むしろ ruby が動かないケースが想定できないのですが…
そもそもOSSはソースが公開されているわけで、OSとしてはUnixを継続する以上
動かないケースでありうるのは「ソースの一部がアセンブラで記述されている」。
そんなプロジェクト最近あるかなぁ…
# mishimaは本田透先生を熱烈に応援しています
Re:正直言うと (スコア:0)
「ruby が動かないケースが想定できない」には同意。
なお、Rubyを未知のアーキテクチャに移植する際には、GCが要注意とされています。
https://github.com/ruby/ruby/blob/v2_7_1/README.ja.md#%E7%A7%BB%E6%A4%8D [github.com]