Skip to content

Instantly share code, notes, and snippets.

@JensAyton
Created September 15, 2012 16:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JensAyton/3728578 to your computer and use it in GitHub Desktop.
Save JensAyton/3728578 to your computer and use it in GitHub Desktop.
@implementation Foo
- (id) foo
{
return [self bar];
}
- (id) bar
{
return @"";
}
@end
"-[Foo foo]": ## @"\01-[Foo foo]"
.cfi_startproc
Lfunc_begin0:
.loc 1 17 0 ## /tmp/tailcall/tailcall/main.m:17:0
## BB#0:
pushq %rbp
Ltmp2:
.cfi_def_cfa_offset 16
Ltmp3:
.cfi_offset %rbp, -16
movq %rsp, %rbp
Ltmp4:
.cfi_def_cfa_register %rbp
##DEBUG_VALUE: -[Foo foo]:self <- RDI+0
##DEBUG_VALUE: -[Foo foo]:_cmd <- RSI+0
.loc 1 19 2 prologue_end ## /tmp/tailcall/tailcall/main.m:19:2
Ltmp5:
movq L_OBJC_SELECTOR_REFERENCES_(%rip), %rsi
Ltmp6:
popq %rbp
jmpq *_objc_msgSend@GOTPCREL(%rip) # TAILCALL
Ltmp7:
Lfunc_end0:
.file 2 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h"
.cfi_endproc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment