Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Reasons behind dropping vtables?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Reasons behind dropping vtables?



This is more of a runtime question than a language question, but there doesn't seem to be a good runtime discussion list.

In the last open-sourced objc runtime release, objc4-551, support for vtable dispatch was removed, and the clang options for supporting it have been mostly disabled.

Anyone know the reasons for making that change, rather than expanding vtable support to include arm? I can think of a few possibilities:

a) vtable dispatch turned out to not actually an overall win, or at least the performance / memory trade-off wasn't a win, even in the old runtime.

b) the faster msgSend dispatch in the newer runtime was faster than the vtable system, or at least close enough to it to make vtables not be worthwhile

c) vtables were a win, but the new class layout to support the inlined cache implementation meant that the only way to avoid breaking the ABI was to kill vtables, and ABI compatibility was worth more than vtables.

But googling doesn't turn up anything to confirm any of those (or anything else).

Paul


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Objc-language mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.