> On Dec 18, 2015, at 10:29 AM, Joe Groff wrote:
>> On Dec 17, 2015, at 3:43 PM, John McCall wrote:
>>
>>> On Dec 17, 2015, at 3:34 PM, Joe Groff via swift-dev
>>> wrote:
>>> We currently always pass inout parameters indirectly, but it seems to me
>>> that for inout parameters that are of sma
> On Dec 17, 2015, at 3:43 PM, John McCall wrote:
>
>> On Dec 17, 2015, at 3:34 PM, Joe Groff via swift-dev
>> wrote:
>> We currently always pass inout parameters indirectly, but it seems to me
>> that for inout parameters that are of small trivial types like Int or
>> CGSize, a value-result
> On Dec 17, 2015, at 11:09 PM, Slava Pestov via swift-dev
> wrote:
>> On Dec 17, 2015, at 3:34 PM, Joe Groff via swift-dev
>> wrote:
>>
>> We currently always pass inout parameters indirectly, but it seems to me
>> that for inout parameters that are of small trivial types like Int or
>> CGS
> On Dec 17, 2015, at 3:34 PM, Joe Groff via swift-dev
> wrote:
>
> We currently always pass inout parameters indirectly, but it seems to me that
> for inout parameters that are of small trivial types like Int or CGSize, a
> value-result calling convention might always be preferable, and we m
> On Dec 17, 2015, at 3:44 PM, Joe Groff via swift-dev
> wrote:
>
>
>> On Dec 17, 2015, at 3:43 PM, Greg Parker wrote:
>>
>>
>>> On Dec 17, 2015, at 3:34 PM, Joe Groff via swift-dev
>>> wrote:
>>>
>>> On ARMv7 and ARM64, the argument and return register sets are the same
>>
>> Nit: True
> On Dec 17, 2015, at 3:43 PM, Greg Parker wrote:
>
>
>> On Dec 17, 2015, at 3:34 PM, Joe Groff via swift-dev
>> wrote:
>>
>> On ARMv7 and ARM64, the argument and return register sets are the same
>
> Nit: True on arm64. Not true on armv7; the GPR parameters are r0-r3 but GPR
> return is r
> On Dec 17, 2015, at 3:34 PM, Joe Groff via swift-dev
> wrote:
> We currently always pass inout parameters indirectly, but it seems to me that
> for inout parameters that are of small trivial types like Int or CGSize, a
> value-result calling convention might always be preferable, and we might
> On Dec 17, 2015, at 3:34 PM, Joe Groff via swift-dev
> wrote:
>
> On ARMv7 and ARM64, the argument and return register sets are the same
Nit: True on arm64. Not true on armv7; the GPR parameters are r0-r3 but GPR
return is r0-r1.
--
Greg Parker gpar...@apple.com Runtime Wrangler
We currently always pass inout parameters indirectly, but it seems to me that
for inout parameters that are of small trivial types like Int or CGSize, a
value-result calling convention might always be preferable, and we might want
to codify that in the stable ABI. Values of these types are likel