> On Apr 25, 2017, at 11:24 AM, Roman Levenstein via swift-dev 
> <swift-dev@swift.org> wrote:
> 
> 
>> On Apr 25, 2017, at 11:18 AM, Jordan Rose <jordan_r...@apple.com> wrote:
>> 
>> I believe these are interposition points for things like dtrace, and also 
>> useful for Roman's experiments with nonatomic retain counting. Roman, do you 
>> know?
> 
> I had a chat with Slava yesterday and explained it to him. 
> 
> But basically, these are for the special calling convention to be used for 
> invocation of often used runtime entry points (e.g. reference counting 
> functions like swift_retain). This calling convention is not enabled by 
> default yet. But the idea is that it provides more callee-saved registers 
> thus giving the caller more registers that can be used without spilling them 
> around the calls of such a runtime entry. And wrappers are required because 
> otherwise dyld (the dynamic linker) in certain situations clobbers some of 
> these callee-saved registers.

Can we document this in ./docs somewhere?

> 
> -Roman
> 
>> 
>> (JoeG would know too but he's on vacation.)
>> 
>> Jordan
>> 
>> 
>>> On Apr 24, 2017, at 17:15, Slava Pestov via swift-dev <swift-dev@swift.org> 
>>> wrote:
>>> 
>>> Hi all,
>>> 
>>> Now that we’re using swiftcc, does IRGen still need to emit the swift_rt_* 
>>> wrappers around runtime calls? They look like no-ops at this point since 
>>> the runtime entry points themselves should be swiftcc with the callee save 
>>> variant?
>>> 
>>> Slava
>>> _______________________________________________
>>> swift-dev mailing list
>>> swift-dev@swift.org
>>> https://lists.swift.org/mailman/listinfo/swift-dev
>> 
> 
> _______________________________________________
> swift-dev mailing list
> swift-dev@swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev

_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to