Jump to page: 1 24  
Page
Thread overview
DIP 1024---Shared Atomics---Final Review
Dec 08, 2019
Mike Parker
Dec 08, 2019
Dennis
Dec 08, 2019
Walter Bright
Dec 08, 2019
Dennis
Dec 08, 2019
Walter Bright
Dec 08, 2019
Manu
Dec 10, 2019
RazvanN
Dec 10, 2019
Simen Kjærås
Dec 10, 2019
IGotD-
Dec 11, 2019
rikki cattermole
Dec 11, 2019
Walter Bright
Dec 11, 2019
Manu
Dec 11, 2019
RazvanN
Dec 11, 2019
rikki cattermole
Dec 13, 2019
Manu
Dec 11, 2019
RazvanN
Dec 11, 2019
RazvanN
Dec 11, 2019
Manu
Dec 10, 2019
RazvanN
Dec 10, 2019
Simen Kjærås
Dec 11, 2019
Walter Bright
Dec 11, 2019
Manu
Dec 16, 2019
Walter Bright
December 08, 2019
DIP 1024, "Shared Atomics", is now ready for Final Review. This is the last chance for community feedback before the DIP is handed off to Walter and Átila for the Formal Assessment.

Anyone intending to post feedback in this thread is expected to be familiar with the reviewer guidelines:

https://github.com/dlang/DIPs/blob/master/docs/guidelines-reviewers.md

The current revision of the DIP for this review is located here:

https://github.com/dlang/DIPs/blob/78a5bc098fa00c44f11d1819919eb78b8d263254/DIPs/DIP1024.md

In it, you'll find a link to and summary of the previous review rounds. This round of review will continue until 11:59 pm ET on December 23 unless I call it off before then.

Thanks in advance for your participation.
December 08, 2019
On Sunday, 8 December 2019 at 16:25:21 UTC, Mike Parker wrote:
> https://github.com/dlang/DIPs/blob/78a5bc098fa00c44f11d1819919eb78b8d263254/DIPs/DIP1024.md

Do the limitations apply to inline assembly?

While working on a Phobos PR [1] I tried changing a __gshared variable declaration [2] to shared to make the function @safe. The variable is only written to with a mov instruction [3] for timing reasons, and never read.

The DIP doesn't specify what happens here, though I'd argue that assembly blocks are inherently "no type system, you know what you're doing" so it can be allowed.

If it is going to be forbidden, then I need to know how to cast away shared from a global variable in inline assembly.

[1] https://github.com/dlang/phobos/pull/7296
[2] https://github.com/dlang/phobos/blob/a24888e533adfe8d141eb598be22a50df5e26a66/std/internal/math/biguintx86.d#L759
[3] https://github.com/dlang/phobos/blob/a24888e533adfe8d141eb598be22a50df5e26a66/std/internal/math/biguintx86.d#L692
December 08, 2019
On Sunday, 8 December 2019 at 16:25:21 UTC, Mike Parker wrote:
> https://github.com/dlang/DIPs/blob/78a5bc098fa00c44f11d1819919eb78b8d263254/DIPs/DIP1024.md

> Alternatives. Provide limited support for locked operations with operators where the CPU supports it. C++ provides such. This is controversial, as some believe it encourages incorrect coding practices.

This could use a reference, I couldn't find anything about this after a quick search.
December 08, 2019
On 12/8/19 11:25 AM, Mike Parker wrote:
> DIP 1024, "Shared Atomics", is now ready for Final Review. This is the last chance for community feedback before the DIP is handed off to Walter and Átila for the Formal Assessment.
> 
> Anyone intending to post feedback in this thread is expected to be familiar with the reviewer guidelines:
> 
> https://github.com/dlang/DIPs/blob/master/docs/guidelines-reviewers.md
> 
> The current revision of the DIP for this review is located here:
> 
> https://github.com/dlang/DIPs/blob/78a5bc098fa00c44f11d1819919eb78b8d263254/DIPs/DIP1024.md 
> 
> 
> In it, you'll find a link to and summary of the previous review rounds. This round of review will continue until 11:59 pm ET on December 23 unless I call it off before then.
> 
> Thanks in advance for your participation.

Nothing to add. Looks exactly correct. I look forward to this being implemented.

-Steve
December 08, 2019
On 12/8/2019 9:42 AM, Dennis wrote:
> Do the limitations apply to inline assembly?

No. Inline assembly is always unrestricted.
December 08, 2019
On 12/8/2019 9:46 AM, Dennis wrote:
>> Alternatives. Provide limited support for locked operations with operators where the CPU supports it. C++ provides such. This is controversial, as some believe it encourages incorrect coding practices.
> 
> This could use a reference, I couldn't find anything about this after a quick search.

Verbal discussion with Herb Sutter. Not something I can cite.
December 09, 2019
On Mon, Dec 9, 2019 at 3:55 AM Steven Schveighoffer via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>
> On 12/8/19 11:25 AM, Mike Parker wrote:
> > DIP 1024, "Shared Atomics", is now ready for Final Review. This is the last chance for community feedback before the DIP is handed off to Walter and Átila for the Formal Assessment.
> >
> > Anyone intending to post feedback in this thread is expected to be familiar with the reviewer guidelines:
> >
> > https://github.com/dlang/DIPs/blob/master/docs/guidelines-reviewers.md
> >
> > The current revision of the DIP for this review is located here:
> >
> > https://github.com/dlang/DIPs/blob/78a5bc098fa00c44f11d1819919eb78b8d263254/DIPs/DIP1024.md
> >
> >
> > In it, you'll find a link to and summary of the previous review rounds. This round of review will continue until 11:59 pm ET on December 23 unless I call it off before then.
> >
> > Thanks in advance for your participation.
>
> Nothing to add. Looks exactly correct. I look forward to this being implemented.
>
> -Steve

This has been such a long time coming!

December 10, 2019
On Sunday, 8 December 2019 at 16:25:21 UTC, Mike Parker wrote:
> DIP 1024, "Shared Atomics", is now ready for Final Review. This is the last chance for community feedback before the DIP is handed off to Walter and Átila for the Formal Assessment.
>
> Anyone intending to post feedback in this thread is expected to be familiar with the reviewer guidelines:
>
> https://github.com/dlang/DIPs/blob/master/docs/guidelines-reviewers.md
>
> The current revision of the DIP for this review is located here:
>
> https://github.com/dlang/DIPs/blob/78a5bc098fa00c44f11d1819919eb78b8d263254/DIPs/DIP1024.md
>
> In it, you'll find a link to and summary of the previous review rounds. This round of review will continue until 11:59 pm ET on December 23 unless I call it off before then.
>
> Thanks in advance for your participation.

Can somebody please give or point to simple examples on howto use core.atomic:

shared int x;        // ok, initialization to 0
++x;                 // error, read and write of shared x

Looking into https://dlang.org/phobos/core_atomic.html was not so helpful for me.




December 10, 2019
On Sunday, 8 December 2019 at 16:25:21 UTC, Mike Parker wrote:

I think that it should be stated somewhere that the DIP makes shared unusable in betterC code.


December 10, 2019
On Sunday, 8 December 2019 at 16:25:21 UTC, Mike Parker wrote:

If you have a const shared variable, do you still need locks to read it?


« First   ‹ Prev
1 2 3 4