@@ -135,11 +135,24 @@ https://medium.com/kinandcartacreated/contributing-to-swift-part-2-efebcf7b6c93
135135
136136## Code generation, runtime and ABI
137137
138- - The Swift Runtime ([ Part 1: Heap Objects] [ ] , [ Part 2: Type Layout] [ ] )
139- by Jordan Rose (blog post series, Aug-Sep 2020): This blog post series
140- describes the runtime layout for classes, closures and structs, as well
141- as basic runtime functionality such as retain/release that needs to be
142- handled when porting Swift to a new platform, such as [ Mac OS 9] [ ] .
138+ - [ The Swift Runtime] [ ] by Jordan Rose (blog post series, Aug-Oct 2020):
139+ This blog post series describes the runtime layout for different structures,
140+ runtime handling for metadata, as well as basic runtime functionality such
141+ as retain/release that needs to be handled when porting Swift to a new
142+ platform, such as [ Mac OS 9] [ ] .
143+ - [ Part 1: Heap Objects] [ ]
144+ - [ Part 2: Type Layout] [ ]
145+ - [ Part 3: Type Metadata] [ ]
146+ - [ Part 4: Uniquing Caches] [ ]
147+ - [ Part 5: Class Metadata] [ ]
148+ - [ Part 6: Class Metadata Initialization] [ ]
149+ - [ Part 7: Enums] [ ]
150+ - [ Implementing the Swift Runtime in Swift] [ ]
151+ by JP Simard and Jesse Squires with Jordan Rose (podcast episode, Oct 2020):
152+ This episode describes Jordan's effort to port Swift to Mac OS 9.
153+ It touches on a wide variety of topics, such as ObjC interop, memory layout
154+ guarantees, performance, library evolution, writing low-level code in Swift,
155+ the workflow of porting Swift to a new platform and the design of Swift.
143156- [ How Swift Achieved Dynamic Linking Where Rust Couldn't] [ ] by Alexis
144157 Beingessner (blog post, Nov 2019): This blog post describes Swift's approach
145158 for compiling polymorphic functions, contrasting it with the strategy used by
@@ -174,9 +187,16 @@ https://medium.com/kinandcartacreated/contributing-to-swift-part-2-efebcf7b6c93
174187 value witness tables, type metadata, abstraction patterns, reabstraction,
175188 reabstraction thunks and protocol witness tables.
176189
190+ [ Mac OS 9 ] : https://belkadan.com/blog/2020/04/Swift-on-Mac-OS-9/
191+ [ The Swift Runtime ] : https://belkadan.com/blog/tags/swift-runtime/
177192[ Part 1: Heap Objects ] : https://belkadan.com/blog/2020/08/Swift-Runtime-Heap-Objects/
178193[ Part 2: Type Layout ] : https://belkadan.com/blog/2020/09/Swift-Runtime-Type-Layout/
179- [ Mac OS 9 ] : https://belkadan.com/blog/2020/04/Swift-on-Mac-OS-9/
194+ [ Part 3: Type Metadata ] : https://belkadan.com/blog/2020/09/Swift-Runtime-Type-Metadata/
195+ [ Part 4: Uniquing Caches ] : https://belkadan.com/blog/2020/09/Swift-Runtime-Uniquing-Caches/
196+ [ Part 5: Class Metadata ] : https://belkadan.com/blog/2020/09/Swift-Runtime-Class-Metadata/
197+ [ Part 6: Class Metadata Initialization ] : https://belkadan.com/blog/2020/10/Swift-Runtime-Class-Metadata-Initialization/
198+ [ Part 7: Enums ] : https://belkadan.com/blog/2020/10/Swift-Runtime-Enums/
199+ [ Implementing the Swift Runtime in Swift ] : https://spec.fm/podcasts/swift-unwrapped/1DMLbJg5
180200[ How Swift Achieved Dynamic Linking Where Rust Couldn't ] : https://gankra.github.io/blah/swift-abi/
181201[ arm64e: An ABI for Pointer Authentication ] : https://youtu.be/C1nZvpEBfYA
182202[ Exploiting The Swift ABI ] : https://youtu.be/0rHG_Pa86oA
0 commit comments