Commits

Joe Groff committed 436ff435ae7
Mangling: Conditionally eliminate self types and requirements from method symbol manglings. When -disable-self-type-mangling is set, mangle the decl type of methods without the encoding of the self type or any generic requirements from the context, since these are implied by the context mangling and aren't needed to uniquely identify the method. Doing this saves 150KB in the standard library. Before: $ ls -l lib/swift/macosx/libswiftCore.dylib -rwxr-xr-x 1 jgroff staff 9358140 Oct 1 11:14 lib/swift/macosx/libswiftCore.dylib $ nm lib/swift/macosx/libswiftCore.dylib | wc -c 1475338 After: $ ls -l lib/swift/macosx/libswiftCore.dylib -rwxr-xr-x 1 jgroff staff 9204428 Oct 1 13:59 lib/swift/macosx/libswiftCore.dylib $ nm lib/swift/macosx/libswiftCore.dylib | wc -c 1421702 This is hidden behind a flag because it doesn't yet have de/remangling support, and because we'll need to make sure the debugger and other clients can recover declaration types reasonably without help from the mangling. Swift SVN r32399