Updated README to briefly describe ARC.

main
theraven 15 years ago
parent 79e29ba48f
commit aaeb22d682

@ -22,6 +22,8 @@ Both ABIs support the following feature above and beyond the GCC runtime:
- Type-dependent dispatch, eliminating stack corruption from mismatched - Type-dependent dispatch, eliminating stack corruption from mismatched
selectors. selectors.
- Support for the associated reference APIs introduced with Mac OS X 10.6. - Support for the associated reference APIs introduced with Mac OS X 10.6.
- Support for the automatic reference counting APIs introduced with Mac OS X
10.7
History History
------- -------
@ -427,3 +429,21 @@ Several environment variables can be used for debugging programs
finalisation, the runtime will check that this value has not been modified, finalisation, the runtime will check that this value has not been modified,
and abort if it has. This can help to catch heap buffer overflows. It is and abort if it has. This can help to catch heap buffer overflows. It is
most useful when debugging. most useful when debugging.
Automatic Reference Counting
----------------------------
As of version 1.5, the runtime provides support for automatic reference
counting (ARC). This uses the same runtime interface as documented by the ABI
supplement here:
http://clang.llvm.org/docs/AutomaticReferenceCounting.html#runtime
The runtime implements the following optimisations:
- Classes that have ARC-compliant retain, release, and autorelease methods will
never see them called from ARC code. Instead, equivalent code will be run
directly.
- If an object is autoreleased, returned, and retained, it is just stored in
thread-local storage temporarily, not actually autoreleased.
- Moving weak references skips the retain / release step.

Loading…
Cancel
Save