One of the strategies for speeding up ObjC dispatch was for the runtime to 
include a vtable that did direct dispatch for some very common methods (e.g. 
-[NSArray count]).  Since method dispatch is dynamic, we always have to figure 
out the implementation for a given selector, so we had to be able to detect & 
decode these vtables.  That strategy is no longer used in recent versions of 
the ObjC runtime.  It's been a couple of years now, so it's about time to 
declare that we no longer support older versions of OS X that still have the 
feature, and take it out. Why do you ask?

Jim



> On May 18, 2017, at 7:57 AM, Nat! via lldb-dev <lldb-dev@lists.llvm.org> 
> wrote:
> 
> 
> At first I thought it might have something to do with C++. But then I looked 
> a little closer and then it looked like it is building up information about 
> information contained in a linked list called "gdb_objc_trampolines".
> 
> A google search yields: 
> https://opensource.apple.com/source/objc4/objc4-437/runtime/objc-gdb.h
> 
> But in the actual runtime, ojc4-709, I find only a reference to it in 
> `libobjc.order`.
> 
> ```
> libobjc.order
> 32:_gdb_objc_trampolines_changed
> ```
> 
> So I'd like to know if AppleObjCVTables is just used for these apparently 
> obsolete objc_trampoline_header structures, or if there is more to it.
> 
> Ciao
>   Nat!
> 
> 
> 
> 
> 
> _______________________________________________
> lldb-dev mailing list
> lldb-dev@lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

_______________________________________________
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to