Summary: | [iOS] Make JavaScriptCore and bmalloc build with the public SDK | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Daniel Bates <dbates> | ||||
Component: | JavaScriptCore | Assignee: | Daniel Bates <dbates> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | aestes, commit-queue, ddkilzer, dfarler, ggaren, joepeck | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | iPhone / iPad | ||||||
OS: | Unspecified | ||||||
Bug Depends on: | 135843 | ||||||
Bug Blocks: | |||||||
Attachments: |
|
Description
Daniel Bates
2014-08-12 12:43:39 PDT
Created attachment 236459 [details]
Patch
Attachment 236459 [details] did not pass style-queue:
ERROR: Source/bmalloc/bmalloc/PerThread.h:36: __PTK_FRAMEWORK_JAVASCRIPTCORE_KEY0 is incorrectly named. Don't use underscores in your identifier names. [readability/naming/underscores] [4]
Total errors found: 1 in 8 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 236459 [details]
Patch
Remote Inspector changes look fine to me.
Comment on attachment 236459 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=236459&action=review r=me > Source/bmalloc/bmalloc/PerThread.h:39 > +#elif BPLATFORM(IOS_SIMULATOR) > +const pthread_key_t __PTK_FRAMEWORK_JAVASCRIPTCORE_KEY0 = 90; > +INLINE int _pthread_setspecific_direct(pthread_key_t key, const void* value) { return pthread_setspecific(key, value); } > +INLINE void* _pthread_getspecific_direct(pthread_key_t key) { return pthread_getspecific(key); } > +extern "C" int pthread_key_init_np(int, void (*destructor)(void*)); Does the __thread code patch not work in the iOS simulator? If it does work, I think it would be slightly better, so we wouldn't have the brittleness of defining this constant for ourselves. It's not necessary to check defined(__has_include) in Mac-only files. (In reply to comment #4) > (From update of attachment 236459 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=236459&action=review > > r=me > > > Source/bmalloc/bmalloc/PerThread.h:39 > > +#elif BPLATFORM(IOS_SIMULATOR) > > +const pthread_key_t __PTK_FRAMEWORK_JAVASCRIPTCORE_KEY0 = 90; > > +INLINE int _pthread_setspecific_direct(pthread_key_t key, const void* value) { return pthread_setspecific(key, value); } > > +INLINE void* _pthread_getspecific_direct(pthread_key_t key) { return pthread_getspecific(key); } > > +extern "C" int pthread_key_init_np(int, void (*destructor)(void*)); > > Does the __thread code patch not work in the iOS simulator? If it does work, I think it would be slightly better, so we wouldn't have the brittleness of defining this constant for ourselves. No, __thread isn't available when building for iOS Simulator. Filed bug #135895 to consider adding logic for toolchains that don't support C++ thread local storage. I'll add a FIXME comment that references bug #135895 for now. (In reply to comment #5) > It's not necessary to check defined(__has_include) in Mac-only files. Will remove the check for "defined(__has_include) " from the Mac-only files in this patch before landing. Committed r172532: <http://trac.webkit.org/changeset/172532> |