-
Notifications
You must be signed in to change notification settings - Fork 10.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Embedded: specialized witness tables, part2: support remaining cases of class existentials #76874
base: main
Are you sure you want to change the base?
Commits on Oct 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for a629333 - Browse repository at this point
Copy the full SHA a629333View commit details -
GenericSpecialization: change how new specialized witness tables are …
…added to MandatoryPerformanceOptimization's worklist Do it by passing a closure instead of returning the new witness table. This allows to add more than one new witness table to the worklist
Configuration menu - View commit details
-
Copy full SHA for ee11666 - Browse repository at this point
Copy the full SHA ee11666View commit details -
Configuration menu - View commit details
-
Copy full SHA for c84a289 - Browse repository at this point
Copy the full SHA c84a289View commit details -
embedded: Support class existentials with inherited protocols
For example: ``` protocol Base: AnyObject {} protocol Derived: Base {} class C: Derived {} let e: Derived = C() ```
Configuration menu - View commit details
-
Copy full SHA for 2cc95fe - Browse repository at this point
Copy the full SHA 2cc95feView commit details -
Configuration menu - View commit details
-
Copy full SHA for 64535df - Browse repository at this point
Copy the full SHA 64535dfView commit details -
SwiftCompilerSources: add `Type.subst(with substitutionMap: Substitut…
…ionMap) -> Type` API
Configuration menu - View commit details
-
Copy full SHA for 9964513 - Browse repository at this point
Copy the full SHA 9964513View commit details -
SILCloner: fix creating a wrong type for cloned witness_method instru…
…ctions The type needs to be mapped.
Configuration menu - View commit details
-
Copy full SHA for af3d505 - Browse repository at this point
Copy the full SHA af3d505View commit details -
SIL: support specialized witness_method instructions
In Embedded Swift, witness method lookup is done from specialized witness tables. For this to work, the type of witness_method must be specialized as well. Otherwise the method call would be done with wrong parameter conventions (indirect instead of direct).
Configuration menu - View commit details
-
Copy full SHA for ebfd4bb - Browse repository at this point
Copy the full SHA ebfd4bbView commit details -
IRGen: support associated-type and associated-conformance witness tab…
…le entries Associated-type entries are simply skipped. Associated-conformance entries point to the specialized conformance witness tables.
Configuration menu - View commit details
-
Copy full SHA for db7068e - Browse repository at this point
Copy the full SHA db7068eView commit details -
MandatoryPerformanceOptimizations: specialize witness_method instruct…
…ions In Embedded Swift, witness method lookup is done from specialized witness tables. For this to work, the type of witness_method must be specialized as well. Otherwise the method call would be done with wrong parameter conventions (indirect instead of direct).
Configuration menu - View commit details
-
Copy full SHA for 2a6dc96 - Browse repository at this point
Copy the full SHA 2a6dc96View commit details -
MandatoryPerformanceOptimizations: handle all kind of witness-table e…
…ntries when specializing witness-tables Support associated-type and associated-conformance entries. This enable existentials with associated types.
Configuration menu - View commit details
-
Copy full SHA for ac44508 - Browse repository at this point
Copy the full SHA ac44508View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2966d3e - Browse repository at this point
Copy the full SHA 2966d3eView commit details -
Embedded: support existentials with inherited conformances
That means: derived classes where the base conforms to a protocol
Configuration menu - View commit details
-
Copy full SHA for 7beae5a - Browse repository at this point
Copy the full SHA 7beae5aView commit details