I want to try -assume-single-threaded option to measure the overhead of
atomic operations for reference counting. However, it seems that the
option works as intended with the frontend but not with the driver. In
other words, I tried two commands below, and only the first command
replaced atomic operations.
This is different from -frontend — -frontend skips the driver entirely, -Xfrontend runs the driver but passes the next argument to each frontend invocation.
Slava
···
On Jan 13, 2017, at 1:01 PM, Jiho Choi via swift-dev <swift-dev@swift.org> wrote:
Hi,
I want to try -assume-single-threaded option to measure the overhead of atomic operations for reference counting. However, it seems that the option works as intended with the frontend but not with the driver. In other words, I tried two commands below, and only the first command replaced atomic operations.
<disclaimer>For anyone following along, frontend flags are not guaranteed to be stable (as in, they may be removed in a later version of Swift), nor are they guaranteed to produce correct or working code. Jiho’s use is exactly the correct one—to check for a difference of behavior in the Swift compiler itself—but please do not use these in production code.</disclaimer>
Jordan
···
On Jan 13, 2017, at 13:50, Slava Pestov via swift-dev <swift-dev@swift.org> wrote:
Hi Jiho,
Some low-level frontend flags are not exposed to the driver.
To pass frontend flags directly via the driver, use -Xfrontend, eg
This is different from -frontend — -frontend skips the driver entirely, -Xfrontend runs the driver but passes the next argument to each frontend invocation.
Slava
On Jan 13, 2017, at 1:01 PM, Jiho Choi via swift-dev <swift-dev@swift.org> wrote:
Hi,
I want to try -assume-single-threaded option to measure the overhead of atomic operations for reference counting. However, it seems that the option works as intended with the frontend but not with the driver. In other words, I tried two commands below, and only the first command replaced atomic operations.
<disclaimer>For anyone following along, frontend flags are not guaranteed to be stable (as in, they may be removed in a later version of Swift), nor are they guaranteed to produce correct or working code. Jiho’s use is exactly the correct one—to check for a difference of behavior in the Swift compiler itself—but please do not use these in production code.</disclaimer>
Jordan
This is swift-dev, not swift-users, so I’m assuming anything goes, even questions about SIL syntax :)
···
On Jan 13, 2017, at 1:58 PM, Jordan Rose <jordan_rose@apple.com> wrote:
On Jan 13, 2017, at 13:50, Slava Pestov via swift-dev <swift-dev@swift.org> wrote:
Hi Jiho,
Some low-level frontend flags are not exposed to the driver.
To pass frontend flags directly via the driver, use -Xfrontend, eg
This is different from -frontend — -frontend skips the driver entirely, -Xfrontend runs the driver but passes the next argument to each frontend invocation.
Slava
On Jan 13, 2017, at 1:01 PM, Jiho Choi via swift-dev <swift-dev@swift.org> wrote:
Hi,
I want to try -assume-single-threaded option to measure the overhead of atomic operations for reference counting. However, it seems that the option works as intended with the frontend but not with the driver. In other words, I tried two commands below, and only the first command replaced atomic operations.