devicemap-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Reza Naghibi <>
Subject Re: Pattern.rank
Date Tue, 30 Dec 2014 14:04:52 GMT
Hmm... can you provide a reference or some kind of example showing that a single threaded read
after write is unreliable? I'm thinking if this is true, huge swaths of programs would be
deemed unsafe since read after write is quite a common memory pattern... :) No?

<div>-------- Original message --------</div><div>From: Volkan Yazıcı
<> </div><div>Date:12/30/2014  8:31 AM  (GMT-05:00)
</div><div>To: </div><div>Cc:  </div><div>Subject:
Re: Pattern.rank </div><div>
</div>A related excerpt from the Java Concurrency in Practice: "An object is in a
predictable, consistent state only after its constructor returns, ..." In
its current form of Pattern:

Pattern(...) {
    this.boost = boost;
    this.rank = rank();

public long rank() {
    // access to this.boost

this.boost might not have been completely initialized when rank() tries to
access to it.

On Tue, Dec 30, 2014 at 2:14 PM, Reza Naghibi <> wrote:

> Interesting... you cannot access instance variables in the constructor?
> Also, this hasn't been fully implemented. Boost is going to be a DRR
> pattern attribute which will allow 1 pattern to be configured to rank
> higher than another.
> <div>-------- Original message --------</div><div>From: Volkan YAZICI
>> </div><div>Date:12/30/2014  4:41 AM  (GMT-05:00)
> </div><div>To: </div><div>Cc:
> </div><div>Subject: Pattern.rank </div><div>
> </div>Hi,
> I have an objection and a question about Pattern class in Java client.
> *Objection:* Pattern.rank() instance method gets called in ctor and
> accesses to instance variables, which might not have been initialized yet
> due to JMM semantics. I propose to fix it as in DMAP-115
> <>.
> *Question:* Shall we remove boost option on Pattern ctor? It is neither
> used, nor available in .NET client.
> Best.
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message