aboutsummaryrefslogtreecommitdiff
path: root/objectivec/GPBMessage_PackagePrivate.h
Commit message (Collapse)AuthorAgeFilesLines
* Work around strange error with atomic and swift under Xcode 8.3.3.Thomas Van Lenten2018-01-311-14/+0
| | | | | | | | | | Haven't been able to make a repo case, but this should "fix" the problem by avoid it completely. - Move readOnlySemaphore_ into the .m file so it isn't exposed in any header. - Move GPBGetObjectIvarWithField() also to go with the new limited visibility on the readOnlySemaphore_.
* Add an explicit import of stdatomic.h.Thomas Van Lenten2018-01-251-2/+0
| | | | | | | | | The generated code for enums needs atomics support, so generate the import instead of relying on it via transitive imports. This will make future changes to this likely likely to break generated code and runtime support are mixed. Followup to https://github.com/google/protobuf/pull/4184.
* Bring back import of OSAtomic.Thomas Van Lenten2018-01-251-0/+6
| | | | | | Followup to https://github.com/google/protobuf/pull/4184, keep the import to not break any existing generated code that isn't regenerated when they update to the newer protobuf code.
* Migrate away from deprecated OSAtomic APIs. (#4184)Jonathan Dierksen2018-01-221-2/+2
| | | | * Migrate away from deprecated OSAtomic APIs.
* Remove the use of dispatch_once that is heap backed.Thomas Van Lenten2017-03-291-17/+1
| | | | | | | | | Apple recently updated the docs on dispatch_once to point out that the storage for the dispatch_once_t must be static or global, but not something that was ever used before as the implementation doesn't use a memory barrier. So we drop the use and create the semaphore when needed and use an atomic swap deal with any threading races.
* Disable static analyzer for message semaphore creation (#2748)Sergio Campamá2017-03-011-0/+8
| | | | Disable static analyzer for message semaphore creation
* Exposes the currently registered extensions for a message and removes the ↵Sergio Campamá2016-07-151-4/+0
| | | | internal sortedExtensionsInUse
* Add more warnings to for the ObjC runtime buildThomas Van Lenten2016-05-251-0/+3
| | | | | | | | | | | | | | Working on https://github.com/google/protobuf/issues/1599, specifically: - Turn on more warnings that the Xcode UI calls out with individual controls. - Manually add: -Wundef -Wswitch-enum - Manually add and then diable in the unittests because of XCTest's headers: -Wreserved-id-macro -Wdocumentation-unknown-command - Manually add -Wdirect-ivar-access, but disable it for the unittests and in the library code (via #pragmas to suppress it). This is done so proto users can enable the warning.
* Only create the readonlySemaphore on demand.Thomas Van Lenten2016-03-211-0/+12
| | | | | | This will lower the amount of dispatch_semaphores created per Message when the full object tree isn't walked in a way that would require them to be created. Uses a dispatch_once_t for one time init of the dispatch_semaphore.
* Drop all use of OSSpinLockThomas Van Lenten2015-12-171-1/+6
| | | | | | | | | | | | | Apple engineers have pointed out that OSSpinLocks are vulnerable to live locking on iOS in cases of priority inversion: . http://mjtsai.com/blog/2015/12/16/osspinlock-is-unsafe/ . https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20151214/000372.html - Use a dispatch_semaphore_t within the extension registry. - Use a dispatch_semaphore_t for protecting autocreation within messages. - Drop the custom/internal GPBString class since we don't have really good numbers to judge the locking replacements and it isn't required. We can always bring it back with real data in the future.
* Beta quality drop of Objective C Support.Thomas Van Lenten2015-06-081-2/+2
| | | | | | | | | | | | | | | - Add more to the ObjC dir readme. - Merge the ExtensionField and ExtensionDescriptor to reduce overhead. - Fix an initialization race. - Clean up the Xcode schemes. - Remove the class/enum filter. - Remove some forced inline that were bloating things without proof of performance wins. - Rename some internal types to avoid conflicts with the well know types protos. - Drop the use of ApplyFunctions to the compiler/optimizer can do what it wants. - Better document some possible future improvements. - Add missing support for parsing repeated primitive fields in packed or unpacked forms. - Improve -hash. - Add *Count for repeated and map<> fields to avoid auto create when checking for them being set.
* Objective C Second Alpha DropThomas Van Lenten2015-05-221-2/+4
| | | | | | | | | | - Style fixups in the code. - map<> serialization fixes and more tests. - Autocreation of map<> fields (to match repeated fields). - @@protoc_insertion_point(global_scope|imports). - Fixup proto2 syntax extension support. - Move all startup code to +initialize so it happen on class usage and not app startup. - Have generated headers use forward declarations and move imports into generated code, reduces what is need at compile time to speed up compiled and avoid pointless rippling of rebuilds.
* Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs.Thomas Van Lenten2015-05-061-0/+124