Semantics of shared
Jason House
jason.james.house at gmail.com
Thu May 14 05:51:37 PDT 2009
Robert Jacques Wrote:
> On Thu, 14 May 2009 02:13:37 -0400, Walter Bright
> <newshound1 at digitalmars.com> wrote:
>
> > Robert Jacques wrote:
> >> I agree for POD, but what classes where the synchronization is
> >> encapsulated behind a virtual function call?
> >
> > synchronization can make a shared reference "tail shared".
>
> I agree, but that doesn't seem answer my question. Put another way, if I
> have an interface I which is implemented by both a thread local class L
> and a shared class S, then does some function F need to know about whether
> the implementor of I is S or L?
Shared data needs fundamentally different handling than thread local data. I expect "shared I" and "__thread I" to be handled differently. You can't store an S where an L is expected... It can break code.
> P.S. There will obviously be some interfaces S can't implement, but that a
> separate issue.
>
> >> Also, does this mean 'scope' as a type is going away?
Of course not. Scope storage class will remain.
> > Scope never was a type, it's a storage class.
>
> Sorry for the confusion of terminology. However, you talk blog about using
> the 'scope' keyword to support escape analysis, ettc. i.e. 'scope' would
> become the 'const' of the shared-thread local-stack storage type system.
> Is this still the plan?
More information about the Digitalmars-d
mailing list