Commit Graph

10 Commits

Author SHA1 Message Date
Slava Pestov
3519e0cd25 AST: Introduce new SubstitutionList type to replace ArrayRef<Substitution>
SubstitutionList is going to be a more compact representation of
a SubstitutionMap, suitable for inline allocation inside another
object.

For now, it's just a typedef for ArrayRef<Substitution>.
2017-02-06 21:36:33 -08:00
practicalswift
6d1ae2a39c [gardening] 2016 → 2017 2017-01-06 16:41:22 +01:00
practicalswift
797b80765f [gardening] Use the correct base URL (https://swift.org) in references to the Swift website
Remove all references to the old non-TLS enabled base URL (http://swift.org)
2016-11-20 17:36:03 +01:00
Zach Panzarino
e3a4147ac9 Update copyright date 2015-12-31 23:28:40 +00:00
David Farler
b53ff3b580 SILGen: Refactor LatePartialSuperEmitter
We proabably aren't going to continue using this pattern, so just
inline the code at its single point of use. NFC.
2015-12-07 21:57:37 -08:00
Slava Pestov
9025cf881d SILGen: Add comments describing call decomposition in more detail, NFC 2015-12-05 01:37:55 -08:00
David Farler
ed599c1516 Add LatePartialSuperEmitter to short circuit emission of curry thunks
We're eventually getting rid of general currying syntax so, rather
than investing in getting partial application of super_method working
with the existing curry thunk emission, create a specialized emitter
for the one case where we'll allow partial application: capturing the
implicit self parameter in expressions like `doFoo(super.foo)` or
`doFoo(self.foo)`.

NFC for current IRGen - SILGen doesn't lead to here yet.

rdar://problem/22749732
2015-12-05 01:29:27 -08:00
John McCall
f3dc58667d Improve the typing of materializeForSet callbacks to
use a thin function type.

We still need thin-function-to-RawPointer conversions
for generic code, but that's fixable with some sort of
partial_apply_thin_recoverable instruction.

Swift SVN r24364
2015-01-11 21:13:35 +00:00
John McCall
a86ebcfb17 Require that the argument to an early emitter still be
in expression form.

Swift SVN r23963
2014-12-16 21:11:54 +00:00
John McCall
43f28f4aa9 Split SIL emission for builtin functions into its own file.
NFC for now, but I've also added the infrastructure to allow
"early emission", i.e. emission directly from the original
RValueSource, which can be useful either as an optimization
(e.g. for Builtin.initialize) or a requirement for particularly
hacky SIL intrinsics should we need them (and I'm thinking of
needing one).

Swift SVN r23953
2014-12-16 02:02:54 +00:00