objc-fast-3.m

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· M 代码 · 共 34 行

M
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 + -
显示快捷键?