Commit Graph

515 Commits

Author SHA1 Message Date
Dmitri Gribenko
83751888c7 Start porting Swift to Linux on aarch64 (arm64)
Hello world works, a non-trivial part of the testsuite passes.
2015-12-13 17:05:42 -07:00
William Dillon
4bf81e09da Build working on ARMv7l 2015-12-12 22:06:13 -08:00
Chris Willmore
fb6f4be77f Merge pull request #227 from LeoShimonaka/master
Fix typos in docs / comments / method name
2015-12-04 22:44:18 -08:00
Leo Shimonaka
70e66973ee Fix spelling error in documentation / comments / method name 2015-12-05 00:28:08 -05:00
Landon Fuller
d206dcba34 Define malloc_size() support for FreeBSD. 2015-12-04 12:26:06 -07:00
Landon Fuller
30080ae2c4 FreeBSD hides getline()'s prototype by default.
The alternative to _WITH_GETLINE would be to define _POSIX_C_SOURCE
>= 200809.
2015-12-04 12:25:47 -07:00
Landon Fuller
23fee41713 Add missing va_list include. 2015-12-04 12:25:30 -07:00
Joe Groff
5e5cdc6be3 Runtime: Use 'once' instead of static local variable initialization.
The C++ ABI for static locals is a bit heavy compared to dispatch_once; doing this saves more than 1KB in runtime code size. Dispatch_once/call_once is also more likely to be hot because it's also used by Swift and ObjC code.

Alas, llvm::get_execution_seed() from llvm/ADT/Hashing.h still inflicts one static local initialization on us we can't override (without forking Hashing.h, anyway).
2015-11-30 12:08:12 -08:00
Andrew Trick
c1e45d899e Add a shim: swift_stdlib_objcDebugDescription, NFC.
This allows removal of the DebugDescription protocol which is invalid
because no classes actually conform to it. The problem is that we need
to send a debugDescription message to an NSObject without loading
Foundation. This is exactly what shims are for. A very simple shim
solves the problem.
2015-11-18 18:40:45 -08:00
Joe Groff
9d366f78b6 Build libswiftStdlibStubs.a with the same warnings about global ctors/dtors as the runtime.
We don't want unnecessary static constructors or destructors to leak into the stdlib or runtime. Add -Wexit-time-destructors to both targets too.
2015-11-13 19:15:17 -08:00
Joe Groff
a230ab2bfb Move GlobalObjects.cpp to SwiftStubs.
It holds the empty array object used by the array implementation, and isn't needed by the core runtime.
2015-11-13 18:18:23 -08:00
Joe Groff
c6b6d346bd Move the SwiftNativeNSXXXBase classes and stubs to SwiftStubs.
Move the ObjC internal declarations to a public runtime header so they can be shared, and rename _swift_deallocClassInstance to the more descriptive name swift_rootObjCDealloc (and make it only available with ObjC interop).
2015-11-13 08:37:12 -08:00
Joe Groff
87325891a3 Move FoundationHelpers.mm to SwiftStubs. 2015-11-13 08:37:12 -08:00
Joe Groff
7658ec9783 Move Availability.mm to SwiftStubs.
The functionality is exported as part of the standard library, not the core runtime.
2015-11-13 08:37:12 -08:00
Joe Groff
69a206229d Runtime: Start splitting out stubs only needed by the standard library.
Set up a separate libSwiftStubs.a archive for C++ stub functionality that's needed by the standard library but not part of the core runtime interface. Seed it with the Stubs.cpp and LibcShims.cpp files, which consist only of stubs, though a few stubs are still strewn across the runtime code base.
2015-11-11 17:28:57 -08:00