uecker.codeberg.page
昨日 23:20
Indirect Calling of Nested Functions on GCC Without Executable Stack
GCCのネスト関数はコールバックとして渡す際、トランポリンと呼ばれる実行可能スタック上のコード片を経由して呼び出される。著者は、トランポリンから静的チェーンとコードアドレスを直接抽出し__builtin_call_with_static_chainで呼び出すことで、実行可能スタックを要求せずにネスト関数を間接呼び出しする手法を解説している。これはGCC 17で導入予定の新組み込み関数の機能を、古いGCCでも疑似的に実現するフォールバックとなり、呼び出し後にpatchelfでスタックの実行属性を解除できる。さらにトランポリン自体を関数記述子として扱い、呼び出し側で簡易インタプリタ的に解釈するアイデアにも触れている。
GCCのネスト関数はコールバックとして渡す際、トランポリンと呼ばれる実行可能スタック上のコード片を経由して呼び出される。著者は、トランポリンから静的チェーンとコードアドレスを直接抽出し__builtin_call_with_static_chainで呼び出すことで、実行可能スタックを要求せずにネスト関数を間接呼び出しする手法を解説している。これはGCC 17で導入予定の新組み込み関数の機能を、古いGCCでも疑似的に実現するフォールバックとなり、呼び出し後にpatchelfでスタックの実行属性を解除できる。さらにトランポリン自体を関数記述子として扱い、呼び出し側で簡易インタプリタ的に解釈するアイデアにも触れている。
performanceoptimization.connpass.com
昨日 16:02
アーキテクチャの極意を学ぶ:Intel開発者ガイドオンライン読書会
IntelのSoftware Developer's Manual(SDM)をGeminiの解説を交えて読み進めるオンライン読書会。現在Volume1 Chapter3のBasic Execution Environmentを扱っており、予習不要・英語不問で参加できる。
IntelのSoftware Developer's Manual(SDM)をGeminiの解説を交えて読み進めるオンライン読書会。現在Volume1 Chapter3のBasic Execution Environmentを扱っており、予習不要・英語不問で参加できる。