起きたときに体が重い日に体重を計ると減っている #宣言的知識
目玉焼き、焼いて崩して全体に混ぜる予定だったのを途中でもったいなくなって半熟にしたんだけど、中途半端にになってしまったので初志貫徹するべきだった
JavaでFFIする方法調べてたらjnr-ffiというライブラリが見つかったんだけど、native callを全部JNIに押し付ける感じのやつかと想像して中身を見てみたら自力でx86/x64命令を吐いてトランポリンを作ってて笑った https://github.com/jnr/jnr-ffi/blob/519a5b1e53a5158a3e4179acba7b35e57664ae10/src/main/java/jnr/ffi/provider/jffi/X86_64StubCompiler.java#L113
ていうかコミッタのアイコン見たことあると思ったらheadius氏だった(どうもJRubyのFFIのコアとして開発されているらしい)
普通の人はJavaでFFIしたいときはJava Native Access (JNA)というやつを使うっぽくて、こっちはだいたい想像通りのものに見える https://github.com/java-native-access/jna
JNAの方が歴史が長いからドキュメントもコミュニティもちゃんとしてるよ、とjnr-ffiのドキュメントでも触れられてるんだけど、jnr-ffiの見た目が楽しそうすぎるのでどっち使おうか悩んでいる https://github.com/jnr/jnr-ffi/blob/master/docs/ComparisonToSimilarProjects.md#jna-java-native-access
いやしかしJavaバイトコード動的生成も始めて見たときは驚いたけど、JNIも動的に生成できるんだなぁ……