5956 – selectors aren't matched properly when added to the selector table (original) (raw)

Description Alexander Malmberg 2002-03-13 17:36:00 UTC

Due to a simple mixup, build_typed_selector_reference() won't properly match the new selector with existing selectors (TREE_PURPOSE() and TREE_VALUE()) are mixed up).

This doesn't cause incorrect code, but the selector tables are unnecessarily large; it bloats all objective-c code (by approximately 10% in the cases I've measured).

I've attached a patch that fixes this.

Release: gcc version 3.0.3

How-To-Repeat: Compile any program that contains two references to the same selector, eg:

[someobject foo]; [someobject foo];

The resulting selector table will have to entries for 'foo'.