objc-fast-3.mm
来自「Mac OS X 10.4.9 for x86 Source Code gcc」· MM 代码 · 共 34 行
MM
34 行
/* APPLE LOCAL file ObjC direct dispatch *//* A compile-only test for insertion of 'bla' and 'ba' sibcall comm page jumps for methods returning 'void'. *//* Developed by Ziemowit Laski <zlaski@apple.com> *//* { dg-do compile { target powerpc*-*-darwin* } } *//* { dg-options "-fnext-runtime -fobjc-gc -fobjc-direct-dispatch -Wno-assign-intercept -O2" } */#include <objc/Object.h>@interface Derived: Object {@public Object *other;}- (void) do_nothing;@endint a;void foo(void) { Derived *o; [o do_nothing]; /* objc_msgSend_Fast() */ a = 2; }void bar(void) { Derived *o = nil; [o do_nothing]; /* sibcall to objc_msgSend_Fast() */}/* { dg-final { scan-assembler-not "objc_msgSend" } } *//* { dg-final { scan-assembler "bla.*fffeff00" } } *//* { dg-final { scan-assembler "ba.*fffeff00" } } */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?