http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47031
Summary: libobjc uses mutexes for properties Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libobjc AssignedTo: unassig...@gcc.gnu.org ReportedBy: js-...@webkeks.org In trunk, libobjc uses objc_mutex_t for properties. This means that each time you set a property, a lock in kernelspace is acquired, though most of the time there is not even a lock held and if it is only for a very short time. As properties are used quite often, spinlock should be used here, as locks will be a performance problem.