タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

ARMとobjective-cに関するWatsonのブックマーク (2)

  • mikeash.com: Friday Q&A 2017-06-30: Dissecting objc_msgSend on ARM64

    We're back! During the week of WWDC, I spoke at CocoaConf Next Door, and one of my talks involved a dissection of objc_msgSend's ARM64 implementation. I thought that turning it into an article would make for a nice return to blogging for Friday Q&A. Overview Every Objective-C object has a class, and every Objective-C class has a list of methods. Each method has a selector, a function pointer to th

  • 64bit環境のobjc_msgSendについて調べた - Qiita

    以前は可変長引数を取る関数として宣言されていた。任意の関数(引数が1個だったり2個だったり)を呼べるようにするため、便宜上可変長引数を取る関数として記述するというのはC言語ではよくあるテクニックである。これによりセレクタ以降の引数が何個であってもキャストなしで呼び出すことができた。 今はvoidになっていて、キャストしないと呼び出せないようになっている。 これは(iOSの)ARMの64bit環境にて、可変長引数を取る関数と、そうでない普通の関数の呼び出し規約が異なることに起因している。 Appleが定めた呼出し規約 ARM64 Function Calling Conventions は、ARMによる呼出し規約 Procedure Call Standard for the ARM 64-bit Architecture (AArch64) を何箇所か改変していて、可変長引数をスタックに置

    64bit環境のobjc_msgSendについて調べた - Qiita
  • 1