僕「core::sync::atomic…。めっちゃ辛そうなところでエラー出るやん・・・」 僕「なんか納得いかんから調べたろ」 この記事 is 何? Rust core libraryのcore::sync::atomic::Atomic*.compare_and_swap関数を解析した経過と結果を記したものです。それ以外のことは出てきません。 途中からLLVMに突入しますので、C++成分がそれなりに混じっています。RISC-Vのアセンブリソースコードも少々あります。RISC-Vのアセンブリは難しくないので大丈夫です。 今回、この記事に関わる調査を行ったおかげで、次の知見を得ることができました。 Rust標準ライブラリのソースコードリーディング勘所を少し Rust compilerとLLVMとの関係性を少し LLVMのコード生成処理を少し 一番大きかった収穫は、Rust言語処理系のソースコ
