threaded into IRGen; tests to follow when that's done.
I made a preliminary effort to make the inliner do the
right thing with try_apply, but otherwise tried to avoid
touching the optimizer any more than was required by the
removal of ApplyInstBase.
Swift SVN r26747
The deallocating parameter convention is a new convention put on a
non-trivial parameter if the caller function guarantees to the callee
that the parameter has the deallocating bit set in its object header.
This means that retains and releases do not need to be emitted on these
parameters even though they are non-trivial. This helps to solve a bug
in +0 self and makes it trivial for the optimizer to perform
optimizations based on this property.
It is not emitted yet by SILGen and will only be put on the self
argument of Deallocator functions.
Swift SVN r26179
For better consistency with other address-only instruction variants, and to open the door to new exciting existential representations (such as a refcounted boxed representation for ErrorType).
Swift SVN r25902
Basically the first draft that I sent to the list, plus
some editorial fixes, ReST fixes, and a new subsection
discussing default argument generation (credit to Joe
for this idea).
Swift SVN r25442
This lets us disambiguate the symbols for static and instance properties, and enables us to eventually leave the useless "self" type mangling out of method symbols. Fixes rdar://19012022 and dupes thereof, including crasher #1341.
Swift SVN r25111
Converging APIs to use ``Int`` as the default integer type allows users to
write fewer explicit type conversions.
Importing ``size_t`` as a signed ``Int`` type is not be a problem for 64-bit
platforms. 32-bit platforms are important, but the usecase for an
unsigned ``size_t`` on 32-bit platforms is pretty marginal, and for code
that nevertheless needs to do that there is always the option of doing a
bitcast to ``UInt`` or using C.
rdar://18949559
Swift SVN r25070
standard library. It is not meant to document all possible designs that
we considered, but might describe some of those, when important to
explain the design that was chosen.
Swift SVN r25067
If a subclass overrides methods with variance in the optionality of non-class-type members, emit a thunk to handle wrapping more optional parameters or results and force-unwrapping any IUO parameters made non-optional in the derived. For this to be useful, we need IRGen to finally pay attention to SILVTables, but this is a step on the way to fixing rdar://problem/19321484.
Swift SVN r24705
The current serialization format has bits of groundwork for this, but
not a coherent implementation that's really close to being future-proof
and forward-compatible. We will eventually need this as part of being
able to ship compiled frameworks to people.
It is worth the time to get this out of my head and into a proper document.
I'll continue adding information later.
Swift SVN r24572