summaryrefslogtreecommitdiffstats
path: root/llvm/docs/GettingStarted.html
diff options
context:
space:
mode:
authorSteve Naroff <snaroff@apple.com>2007-09-28 22:22:11 +0000
committerSteve Naroff <snaroff@apple.com>2007-09-28 22:22:11 +0000
commit8017506d9cf9b8c9fcab6f5d125cb991a36ba4e6 (patch)
tree797830275adf13352dac019078137da20635876b /llvm/docs/GettingStarted.html
parent8ec4f837fa1b8ca3d54ddfb085b37a2001870a89 (diff)
downloadbcm5719-llvm-8017506d9cf9b8c9fcab6f5d125cb991a36ba4e6.tar.gz
bcm5719-llvm-8017506d9cf9b8c9fcab6f5d125cb991a36ba4e6.zip
Yesterday I discovered that 78% of all selectors in "Cocoa.h" take 0/1 argument.
This motivated implementing a devious clattner inspired solution:-) This approach uses a small value "Selector" class to point to an IdentifierInfo for the 0/1 case. For multi-keyword selectors, we instantiate a MultiKeywordSelector object (previously known as SelectorInfo). Now, the incremental cost for selectors is only 24,800 for Cocoa.h! This saves 156,592 bytes, or 86%!! The size reduction is also the result of getting rid of the AST slot, which was not strictly necessary (we will associate a selector with it's method using another table...most likely in Sema). This change was critical to make now, before we have too many clients. I still need to add some comments to the Selector class...will likely add later today/tomorrow. llvm-svn: 42452
Diffstat (limited to 'llvm/docs/GettingStarted.html')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud