Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #5724 > unrolled thread

Why "lock" functionality is introduced for all the objects?

Started byAlex J <vstrength@gmail.com>
First post2011-06-28 02:29 -0700
Last post2011-07-22 10:20 -0400
Articles 20 on this page of 87 — 21 participants

Back to article view | Back to comp.lang.java.programmer


Contents

  Why "lock" functionality is introduced for all the objects? Alex J <vstrength@gmail.com> - 2011-06-28 02:29 -0700
    Re: Why "lock" functionality is introduced for all the objects? Lew <noone@lewscanon.com> - 2011-06-28 07:33 -0400
      OT "sic" (was Re: Why "lock" functionality is introduced for all the objects? blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-06-28 15:56 +0000
        Re: OT "sic" (was Re: Why "lock" functionality is introduced for all the objects? Lew <noone@lewscanon.com> - 2011-06-28 12:19 -0400
      Re: Why "lock" functionality is introduced for all the objects? Michal Kleczek <kleku75@gmail.com> - 2011-06-28 18:41 +0200
        Re: Why "lock" functionality is introduced for all the objects? Lew <noone@lewscanon.com> - 2011-06-28 13:10 -0400
          Re: Why "lock" functionality is introduced for all the objects? Michal Kleczek <kleku75@gmail.com> - 2011-06-28 19:53 +0200
            Re: Why "lock" functionality is introduced for all the objects? Lew <noone@lewscanon.com> - 2011-06-28 14:13 -0400
              Re: Why "lock" functionality is introduced for all the objects? supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-06-28 14:23 -0400
                Re: Why "lock" functionality is introduced for all the objects? Lew <noone@lewscanon.com> - 2011-06-28 14:33 -0400
                  Re: Why "lock" functionality is introduced for all the objects? supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-06-28 14:52 -0400
                    Re: Why "lock" functionality is introduced for all the objects? Lew <noone@lewscanon.com> - 2011-06-28 16:20 -0400
                      Re: Why "lock" functionality is introduced for all the objects? supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-06-29 00:53 -0400
                        Re: Why "lock" functionality is introduced for all the objects? Lew <noone@lewscanon.com> - 2011-06-29 01:04 -0400
                          Re: Why "lock" functionality is introduced for all the objects? supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-06-29 01:43 -0400
                Re: Why "lock" functionality is introduced for all the objects? Patricia Shanahan <pats@acm.org> - 2011-06-28 11:42 -0700
                  Re: Why "lock" functionality is introduced for all the objects? supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-06-28 14:54 -0400
                    Re: Why "lock" functionality is introduced for all the objects? Patricia Shanahan <pats@acm.org> - 2011-06-28 12:34 -0700
                      Re: Why "lock" functionality is introduced for all the objects? markspace <-@.> - 2011-06-28 13:20 -0700
                        Re: Why "lock" functionality is introduced for all the objects? Patricia Shanahan <pats@acm.org> - 2011-06-28 13:44 -0700
                      Re: Why "lock" functionality is introduced for all the objects? supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-06-29 01:05 -0400
                    Re: Why "lock" functionality is introduced for all the objects? Lew <noone@lewscanon.com> - 2011-06-28 16:21 -0400
                      Re: Why "lock" functionality is introduced for all the objects? supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-06-29 01:06 -0400
                    Re: Why "lock" functionality is introduced for all the objects? BGB <cr88192@hotmail.com> - 2011-06-28 14:30 -0700
            Re: Why "lock" functionality is introduced for all the objects? Robert Klemme <shortcutter@googlemail.com> - 2011-06-29 18:56 +0200
        Re: Why "lock" functionality is introduced for all the objects? BGB <cr88192@hotmail.com> - 2011-06-28 13:43 -0700
          Re: Why "lock" functionality is introduced for all the objects? Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-06-28 20:43 -0400
            Re: Why "lock" functionality is introduced for all the objects? BGB <cr88192@hotmail.com> - 2011-06-28 21:14 -0700
          Re: Why "lock" functionality is introduced for all the objects? supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-06-29 01:12 -0400
            Re: Why "lock" functionality is introduced for all the objects? Joshua Maurice <joshuamaurice@gmail.com> - 2011-07-01 18:28 -0700
              Re: Why "lock" functionality is introduced for all the objects? supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-07-02 00:19 -0400
            Re: Why "lock" functionality is introduced for all the objects? Joshua Cranmer <Pidgeot18@verizon.invalid> - 2011-07-01 19:05 -0700
              Re: Why "lock" functionality is introduced for all the objects? supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-07-02 00:26 -0400
              Re: Why "lock" functionality is introduced for all the objects? BGB <cr88192@hotmail.com> - 2011-07-04 09:39 -0700
                Re: Why "lock" functionality is introduced for all the objects? supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-07-05 02:11 -0400
      Re: Why "lock" functionality is introduced for all the objects? Alex J <vstrength@gmail.com> - 2011-07-05 16:56 -0700
        Re: Why "lock" functionality is introduced for all the objects? "John B. Matthews" <nospam@nospam.invalid> - 2011-07-06 00:57 -0400
        Re: Why "lock" functionality is introduced for all the objects? supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-07-06 05:55 -0400
        Re: Why "lock" functionality is introduced for all the objects? Alex Shabanov <avshabanov@gmail.com> - 2011-08-02 05:05 -0700
    Re: Why "lock" functionality is introduced for all the objects? Lew <noone@lewscanon.com> - 2011-06-28 14:40 -0400
    Re: Why "lock" functionality is introduced for all the objects? Robert Klemme <shortcutter@googlemail.com> - 2011-06-29 19:15 +0200
    Re: Why "lock" functionality is introduced for all the objects? Tom Anderson <twic@urchin.earth.li> - 2011-06-30 23:04 +0100
      Re: Why "lock" functionality is introduced for all the objects? KitKat <kitkat_11697@gmail.example.com> - 2011-06-30 18:29 -0400
        Re: Why "lock" functionality is introduced for all the objects? Patricia Shanahan <pats@acm.org> - 2011-06-30 17:05 -0700
          Re: Why "lock" functionality is introduced for all the objects? KitKat <kitkat_11697@gmail.example.com> - 2011-06-30 20:17 -0400
            Re: Why "lock" functionality is introduced for all the objects? Tom Anderson <twic@urchin.earth.li> - 2011-07-01 21:22 +0100
        Re: Why "lock" functionality is introduced for all the objects? Tom Anderson <twic@urchin.earth.li> - 2011-07-01 21:40 +0100
          Re: Why "lock" functionality is introduced for all the objects? KitKat <kitkat_11697@gmail.example.com> - 2011-07-01 18:08 -0400
            Re: Why "lock" functionality is introduced for all the objects? BGB <cr88192@hotmail.com> - 2011-07-05 12:15 -0700
              Re: Why "lock" functionality is introduced for all the objects? KitKat <kitkat_11697@gmail.example.com> - 2011-07-05 15:30 -0400
                Re: Why "lock" functionality is introduced for all the objects? blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-07-05 21:10 +0000
                  Re: Why "lock" functionality is introduced for all the objects? BGB <cr88192@hotmail.com> - 2011-07-05 22:08 -0700
                  Re: Why "lock" functionality is introduced for all the objects? KitKat <kitkat_11697@gmail.example.com> - 2011-07-06 05:57 -0400
                    Re: Why "lock" functionality is introduced for all the objects? blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-07-06 17:07 +0000
                      Re: Why "lock" functionality is introduced for all the objects? Steve Erwin <trollHunter@Usenet.4.usenetizens.org.invalid> - 2011-07-07 04:08 +1000
                        Re: Why "lock" functionality is introduced for all the objects? blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-07-06 19:09 +0000
                          Re: Why "lock" functionality is introduced for all the objects? Steve Erwin <trollHunter@Usenet.4.usenetizens.org.invalid> - 2011-07-07 09:26 +1000
                            Re: Why "lock" functionality is introduced for all the objects? KitKat <kitkat_11697@gmail.example.com> - 2011-07-06 20:25 -0400
                              Re: Why "lock" functionality is introduced for all the objects? blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-07-07 19:37 +0000
                            Re: Why "lock" functionality is introduced for all the objects? blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-07-07 19:35 +0000
                              Re: Why "lock" functionality is introduced for all the objects? Steve Erwin <trollHunter@Usenet.4.usenetizens.org.invalid> - 2011-07-07 14:34 -0700
                                OT names/nyms/etc. (was Re: Why "lock" functionality is introduced for all the objects?) blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-07-08 17:19 +0000
                                  Re: OT names/nyms/etc. (was Re: Why "lock" functionality is introduced for all the objects?) Steve Erwin <trollHunter@Usenet.4.usenetizens.org.invalid> - 2011-07-09 05:41 +1000
                                    Re: OT names/nyms/etc. (was Re: Why "lock" functionality is introduced for all the objects?) blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-07-08 19:58 +0000
                                      Re: OT names/nyms/etc. (was Re: Why "lock" functionality is introduced for all the objects?) lewbloch <lewbloch@gmail.com> - 2011-07-08 13:45 -0700
                                        Re: OT names/nyms/etc. (was Re: Why "lock" functionality is introduced for all the objects?) Steve Erwin <trollHunter@Usenet.4.usenetizens.org.invalid> - 2011-07-10 01:50 -0400
                                          Re: OT names/nyms/etc. (was Re: Why "lock" functionality is introduced for all the objects?) blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-07-10 19:15 +0000
                                          Re: OT names/nyms/etc. (was Re: Why "lock" functionality is introduced for all the objects?) KitKat <kitkat_11697@gmail.example.com> - 2011-07-10 18:38 -0400
                                    Re: OT names/nyms/etc. (was Re: Why "lock" functionality is introduced for all the objects?) KitKat <kitkat_11697@gmail.example.com> - 2011-07-09 00:29 -0400
                                Re: Why "lock" functionality is introduced for all the objects? KitKat <kitkat_11697@gmail.example.com> - 2011-07-09 00:26 -0400
                        Re: Why "lock" functionality is introduced for all the objects? KitKat <kitkat_11697@gmail.example.com> - 2011-07-06 20:05 -0400
                          Re: Why "lock" functionality is introduced for all the objects? Steve Erwin <trollHunter@Usenet.4.usenetizens.org.invalid> - 2011-07-07 10:24 +1000
                            Re: Why "lock" functionality is introduced for all the objects? KitKat <kitkat_11697@gmail.example.com> - 2011-07-06 21:52 -0400
                              Re: Why "lock" functionality is introduced for all the objects? Steve Erwin <trollHunter@Usenet.4.usenetizens.org.invalid> - 2011-07-07 12:43 +1000
                                Re: Why "lock" functionality is introduced for all the objects? KitKat <kitkat_11697@gmail.example.com> - 2011-07-06 23:00 -0400
      Re: Why "lock" functionality is introduced for all the objects? Arne Vajhøj <arne@vajhoej.dk> - 2011-07-21 20:27 -0400
      Re: Why "lock" functionality is introduced for all the objects? Arne Vajhøj <arne@vajhoej.dk> - 2011-07-21 20:30 -0400
        Re: Why "lock" functionality is introduced for all the objects? Henderson <h1@g1.f1> - 2011-07-22 00:20 -0400
          Re: Why "lock" functionality is introduced for all the objects? Arne Vajhøj <arne@vajhoej.dk> - 2011-07-22 10:17 -0400
            Re: Why "lock" functionality is introduced for all the objects? Patricia Shanahan <pats@acm.org> - 2011-07-22 09:30 -0700
              Re: Why "lock" functionality is introduced for all the objects? Patricia Shanahan <pats@acm.org> - 2011-07-22 09:45 -0700
              Re: Why "lock" functionality is introduced for all the objects? Arne Vajhøj <arne@vajhoej.dk> - 2011-07-22 14:53 -0400
        Re: Why "lock" functionality is introduced for all the objects? v_borchert@despammed.com (Volker Borchert) - 2011-07-22 04:39 +0000
          Re: Why "lock" functionality is introduced for all the objects? Arne Vajhøj <arne@vajhoej.dk> - 2011-07-22 10:19 -0400
    Re: Why "lock" functionality is introduced for all the objects? Arne Vajhøj <arne@vajhoej.dk> - 2011-07-21 20:33 -0400
      Re: Why "lock" functionality is introduced for all the objects? Patricia Shanahan <pats@acm.org> - 2011-07-21 21:08 -0700
        Re: Why "lock" functionality is introduced for all the objects? Arne Vajhøj <arne@vajhoej.dk> - 2011-07-22 10:20 -0400

Page 3 of 5 — ← Prev page 1 2 [3] 4 5  Next page →


#5777

FromRobert Klemme <shortcutter@googlemail.com>
Date2011-06-29 19:15 +0200
Message-ID<9714t7Fu2nU1@mid.individual.net>
In reply to#5724
On 28.06.2011 19:33, Stefan Ram wrote:

> http://www.trevorpounds.com/blog/?p=351

I have doubts about the viability of the alternatives suggested in that 
article.  I commented

I don't think the interface is a proper solution.  Reason is that you 
can pass in a lockless instance of class Foo which implements this 
interface anywhere where Object is allowed.  This means that you must 
check at runtime whether the instance is lockable or not.  That might 
introduce significant overhead for applications which frequently 
synchronize.  A better way I can think of off the top of my head would 
be a superclass of Object, but that would break in various other ways 
(e.g. because suddenly Object.class.getSuperclass() would return a non 
null value which breaks the existing contract). This leaves us with 
data-only type.  But this would dramatically change the type system, 
namely you need two different types of references.  This might not be a 
big deal for the compiler but it may make GC much more complex because 
now there is no longer a uniform object type on the heap.  GC is complex 
enough in modern JVMs so this could be a significant burden.

Kind regards

	robert

-- 
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

[toc] | [prev] | [next] | [standalone]


#5799

FromTom Anderson <twic@urchin.earth.li>
Date2011-06-30 23:04 +0100
Message-ID<alpine.DEB.2.00.1106302251380.3024@urchin.earth.li>
In reply to#5724
On Tue, 28 Jun 2011, Alex J wrote:

> I'm curious why Java designers once decided to allow every object to be 
> lockable (i.e. allow using lock on those). I know, that out of such a 
> design decision every Java object contain lock index, i.e. new Object() 
> results in allocation of at least 8 bytes where 4 bytes is object index 
> and 4 bytes is lock index on 32- bit JVM.

That's not quite right. In the olden days, it's true that every object 
header contained room for a lock pointer - but back then, that meant that 
every header was *three* words (12 bytes), not two. Two words were needed 
for the header (one for a vtable pointer, one for various other things), 
and the third was for the lock.

What happened then was that a very clever chap called David Bacon, who 
worked for IBM, invented a thing called a thin lock:

http://www.research.ibm.com/people/d/dfb/papers.html#Bacon98Thin

Which was subsequently improved by another clever chap called Tamiya 
Onodera into a thing called a tasuki lock, which you don't hear so much 
about.

The details are described quite clearly in the papers, but the upshot is 
that an object is created with neither a lock nor a slot for a lock 
pointer (and so only a two-word header), and the lock is allocated only 
when needed, and then wired in. Some fancy footwork means that the object 
doesn't need to grow a pointer when this happens; the header remains two 
words, at the expense of some slight awkwardness elsewhere. Some even 
fancier footwork means that if only one thread locks the object at a time 
(a very common pattern), then a lock doesn't even need to be allocated.

> The better decision, IMHO, would be to introduce lock/wait mechanics for 
> only, say, the Lockable descendants.

I agree with this, actually. There might be some small performance 
improvement, but it would also make the locking behaviour of code more 
explicit, and so clearer.

tom

-- 
Why did one straw break the camel's back? Here's the secret: the million
other straws underneath it - it's all mathematics. -- Mos Def

[toc] | [prev] | [next] | [standalone]


#5801

FromKitKat <kitkat_11697@gmail.example.com>
Date2011-06-30 18:29 -0400
Message-ID<iuitc4$etp$1@speranza.aioe.org>
In reply to#5799
On 30/06/2011 6:04 PM, Tom Anderson wrote:
> What happened then was that a very clever chap called David Bacon, who
> worked for IBM, invented a thing called a thin lock:
>
> http://www.research.ibm.com/people/d/dfb/papers.html#Bacon98Thin
>
> Which was subsequently improved by another clever chap called Tamiya
> Onodera into a thing called a tasuki lock, which you don't hear so much
> about.

Are you sure that last one was a "chap"? "Tamiya" sounds rather feminine 
to me.

> The details are described quite clearly in the papers, but the upshot is
> that an object is created with neither a lock nor a slot for a lock
> pointer (and so only a two-word header), and the lock is allocated only
> when needed, and then wired in. Some fancy footwork means that the
> object doesn't need to grow a pointer when this happens; the header
> remains two words, at the expense of some slight awkwardness elsewhere.

Such as? I can think of only one possibility that could be even close to 
efficient: maintain an IdentityHashMap<Object,Lock> somewhere under the 
hood.

[toc] | [prev] | [next] | [standalone]


#5803

FromPatricia Shanahan <pats@acm.org>
Date2011-06-30 17:05 -0700
Message-ID<Ytqdna8hlefZkpDTnZ2dnUVZ_uydnZ2d@earthlink.com>
In reply to#5801
On 6/30/2011 3:29 PM, KitKat wrote:
> On 30/06/2011 6:04 PM, Tom Anderson wrote:
...
>> The details are described quite clearly in the papers, but the upshot is
>> that an object is created with neither a lock nor a slot for a lock
>> pointer (and so only a two-word header), and the lock is allocated only
>> when needed, and then wired in. Some fancy footwork means that the
>> object doesn't need to grow a pointer when this happens; the header
>> remains two words, at the expense of some slight awkwardness elsewhere.
>
> Such as? I can think of only one possibility that could be even close to
> efficient: maintain an IdentityHashMap<Object,Lock> somewhere under the
> hood.

The obvious alternative is the make one of the existing words dual
purpose, either directly containing its data or containing an index to a
structure containing both the lock and the original use of the word.
That does require, in effect, a spare bit to indicate which mode the
object is in.

Patricia

[toc] | [prev] | [next] | [standalone]


#5804

FromKitKat <kitkat_11697@gmail.example.com>
Date2011-06-30 20:17 -0400
Message-ID<iuj3lv$qda$1@speranza.aioe.org>
In reply to#5803
On 30/06/2011 8:05 PM, Patricia Shanahan wrote:
> On 6/30/2011 3:29 PM, KitKat wrote:
>> On 30/06/2011 6:04 PM, Tom Anderson wrote:
> ...
>>> The details are described quite clearly in the papers, but the upshot is
>>> that an object is created with neither a lock nor a slot for a lock
>>> pointer (and so only a two-word header), and the lock is allocated only
>>> when needed, and then wired in. Some fancy footwork means that the
>>> object doesn't need to grow a pointer when this happens; the header
>>> remains two words, at the expense of some slight awkwardness elsewhere.
>>
>> Such as? I can think of only one possibility that could be even close to
>> efficient: maintain an IdentityHashMap<Object,Lock> somewhere under the
>> hood.
>
> The obvious alternative is the make one of the existing words dual
> purpose, either directly containing its data or containing an index to a
> structure containing both the lock and the original use of the word.
> That does require, in effect, a spare bit to indicate which mode the
> object is in.

Yeah, that could work if you can spare a bit from the non-lock stuff in 
the other original two words of object header.

The above assumed that all the bits in the other two words were already 
spoken for. But if not, your suggestion fits well the phrase "thin lock" 
since the lock is essentially only 1 bit wide for most objects.

[toc] | [prev] | [next] | [standalone]


#5811

FromTom Anderson <twic@urchin.earth.li>
Date2011-07-01 21:22 +0100
Message-ID<alpine.DEB.2.00.1107012119350.21859@urchin.earth.li>
In reply to#5804
On Thu, 30 Jun 2011, KitKat wrote:

> On 30/06/2011 8:05 PM, Patricia Shanahan wrote:
>> On 6/30/2011 3:29 PM, KitKat wrote:
>>> On 30/06/2011 6:04 PM, Tom Anderson wrote:
>> ...
>>>> The details are described quite clearly in the papers, but the upshot is
>>>> that an object is created with neither a lock nor a slot for a lock
>>>> pointer (and so only a two-word header), and the lock is allocated only
>>>> when needed, and then wired in. Some fancy footwork means that the
>>>> object doesn't need to grow a pointer when this happens; the header
>>>> remains two words, at the expense of some slight awkwardness elsewhere.
>>> 
>>> Such as? I can think of only one possibility that could be even close to
>>> efficient: maintain an IdentityHashMap<Object,Lock> somewhere under the
>>> hood.
>> 
>> The obvious alternative is the make one of the existing words dual
>> purpose, either directly containing its data or containing an index to a
>> structure containing both the lock and the original use of the word.
>> That does require, in effect, a spare bit to indicate which mode the
>> object is in.
>
> Yeah, that could work if you can spare a bit from the non-lock stuff in the 
> other original two words of object header.
>
> The above assumed that all the bits in the other two words were already 
> spoken for. But if not, your suggestion fits well the phrase "thin lock" 
> since the lock is essentially only 1 bit wide for most objects.

That is indeed pretty much exactly what a thin lock is.

tom

-- 
The fundamental cause of trouble in the world today is that the stupid
are cocksure while the intelligent are full of doubt. -- Bertrand Russell

[toc] | [prev] | [next] | [standalone]


#5812

FromTom Anderson <twic@urchin.earth.li>
Date2011-07-01 21:40 +0100
Message-ID<alpine.DEB.2.00.1107012123070.21859@urchin.earth.li>
In reply to#5801
On Thu, 30 Jun 2011, KitKat wrote:

> On 30/06/2011 6:04 PM, Tom Anderson wrote:
>> What happened then was that a very clever chap called David Bacon, who
>> worked for IBM, invented a thing called a thin lock:
>> 
>> http://www.research.ibm.com/people/d/dfb/papers.html#Bacon98Thin
>> 
>> Which was subsequently improved by another clever chap called Tamiya
>> Onodera into a thing called a tasuki lock, which you don't hear so much
>> about.
>
> Are you sure that last one was a "chap"? "Tamiya" sounds rather feminine to 
> me.

Perhaps - and a quick google reveals that it is a girl's name in Hebrew. 
However, in Japanese, i believe it's a family name, and that Tamiya 
Onodera is Dr Tamiya's name written in the normal Japanese order, putting 
his family name first. Although i could be wrong.

>> The details are described quite clearly in the papers, but the upshot 
>> is that an object is created with neither a lock nor a slot for a lock 
>> pointer (and so only a two-word header), and the lock is allocated only 
>> when needed, and then wired in. Some fancy footwork means that the 
>> object doesn't need to grow a pointer when this happens; the header 
>> remains two words, at the expense of some slight awkwardness elsewhere.
>
> Such as?

The object's identity hash is shuffled between the object and its lock 
according to whether it has an expanded lock or not.

> I can think of only one possibility that could be even close to 
> efficient: maintain an IdentityHashMap<Object,Lock> somewhere under the 
> hood.

That might be memory-efficient, but it would not be at all time-efficient, 
as it would require a map lookup to lock an object. Resizing the hash 
would be an interesting exercise, too. Actually, i think early JVMs (1.1 
era, IIRC, perhaps even 1.0) used something a bit like this; they didn't 
use the identity hash, but back then the garbage collector was non-moving, 
so they could use addresses as keys, and there was a global lock table 
somewhere. I don't know how it handled resizing. Badly, i expect.

tom

-- 
The fundamental cause of trouble in the world today is that the stupid
are cocksure while the intelligent are full of doubt. -- Bertrand Russell

[toc] | [prev] | [next] | [standalone]


#5814

FromKitKat <kitkat_11697@gmail.example.com>
Date2011-07-01 18:08 -0400
Message-ID<iulgh3$7mq$1@speranza.aioe.org>
In reply to#5812
On 01/07/2011 4:40 PM, Tom Anderson wrote:
> On Thu, 30 Jun 2011, KitKat wrote:
>
>> Are you sure that last one was a "chap"? "Tamiya" sounds rather
>> feminine to me.
>
> Perhaps - and a quick google reveals that it is a girl's name in Hebrew.
> However, in Japanese, i believe it's a family name, and that Tamiya
> Onodera is Dr Tamiya's name written in the normal Japanese order,
> putting his family name first. Although i could be wrong.

???

Regardless of which, "Onodera" also sounds feminine.

> The object's identity hash is shuffled between the object and its lock
> according to whether it has an expanded lock or not.

That would work, if that's what the second word in the object header 
normally is. Assuming it's the heap address at time of creation, and 
objects are aligned on word boundaries, the two least order bits of the 
identity hash are going to be zero, so you can use those bits for 
something else and mask them off to get the hash.

On the other hand, that suggests a way to make object headers of only 
*one* word.

Consider: how likely are we to have four billion vtables in a running 
32-bit JVM? Let alone Long.MAX_VALUE - Long.MIN_VALUE + 1 in a 64-bit one?

Reserve a low chunk of the address space (and call it part of permgen?) 
for vtables and your vtable pointers get quite short. The vtable pointer 
plus a few bits of the object's initial address would still make a 
pretty decent identity hash for collections with heterogeneous keys; 
homogeneous keys, in my experience, are usually value objects with 
overridden hashCode such as Strings and you can make the 
initial-address-bits (and the thin lock bit) the low order bits. Shift 
right one bit to lose the lock bit and have the hash; shift right n bits 
for some fairly small n to get the vtable pointer. Vtable lookup is a 
tiny bit slower due to a test of the lock bit plus one added shift 
instruction on each lookup, but the critical performance points tend to 
get JITted into direct calls or branch-predictable is-it-a-Foo? 
jump-or-normal-vtable-lookup choices. And the vast majority of 
production Java code is I/O bound anyway.

Well, except when the object needs a fat lock. Then the whole word 
becomes a pointer to a structure that points to the vtable and contains 
the lock and identity hash. Now vtable lookup has an added indirection. 
But the bottleneck with such objects will usually be contention for the 
lock itself, not CPU cycles.

> That might be memory-efficient, but it would not be at all
> time-efficient, as it would require a map lookup to lock an object.

Map lookups are O(1) and a low level implementation in C built into the 
JVM would boil down to masking and shifting the hash and then a pointer 
addition and dereference, only needed when you wanted to lock or unlock 
an object -- and again, the time spent on this will be dwarfed by the 
time spent in contention for the lock anyway, fairly often. Branch 
prediction and pipelining might help in the case of high-CPU areas that 
lock an object with low contention, in that some of the work might 
proceed in parallel with lock acquisition in the absence of contention 
(though, only as far as work that can be done in cache or registers, 
since the lock must be held prior to any memory reads or writes in the 
guarded object, and on initial acquisition failure that work may have to 
be repeated later on acquisitoon).

[toc] | [prev] | [next] | [standalone]


#5865

FromBGB <cr88192@hotmail.com>
Date2011-07-05 12:15 -0700
Message-ID<iuvo57$e5i$1@news.albasani.net>
In reply to#5814
On 7/1/2011 3:08 PM, KitKat wrote:
> On 01/07/2011 4:40 PM, Tom Anderson wrote:
>> On Thu, 30 Jun 2011, KitKat wrote:
>>
>>> Are you sure that last one was a "chap"? "Tamiya" sounds rather
>>> feminine to me.
>>
>> Perhaps - and a quick google reveals that it is a girl's name in Hebrew.
>> However, in Japanese, i believe it's a family name, and that Tamiya
>> Onodera is Dr Tamiya's name written in the normal Japanese order,
>> putting his family name first. Although i could be wrong.
>
> ???
>
> Regardless of which, "Onodera" also sounds feminine.
>

grr... the name is not latin-based, not everything that ends in 'a' is 
female.

not like it is some guy with a name like "Chibichibi Hitomi" or 
something, which would be a bit suspect.


"anata wa des-ka?"
"chibi-chibi hitomi wa deeesuuu!" (meanwhile doing an imbalanced stance).

as other people look with a solidly "WTF?" expression upon hearing this.

another person stands up, puts his hands to his face, and a background 
voice exclaims "shaaku!" (IOW: "shock!").


>> The object's identity hash is shuffled between the object and its lock
>> according to whether it has an expanded lock or not.
>
> That would work, if that's what the second word in the object header
> normally is. Assuming it's the heap address at time of creation, and
> objects are aligned on word boundaries, the two least order bits of the
> identity hash are going to be zero, so you can use those bits for
> something else and mask them off to get the hash.
>
> On the other hand, that suggests a way to make object headers of only
> *one* word.
>
> Consider: how likely are we to have four billion vtables in a running
> 32-bit JVM? Let alone Long.MAX_VALUE - Long.MIN_VALUE + 1 in a 64-bit one?
>

well, that is the cost of full pointers probably.
everything is addressable.

storing type-IDs as an id-number can also work, then one fetches the 
vtable/... via an array index. a downside though is that this would have 
a potential performance impact, as additional operations are now needed 
to access the vtable.


or, one can reserve a chunk of memory (wherever it is) and subtract out 
the address. then one can re-add the relative address to the base address.

say, a 64-bit base address known to the VM, and only a 32-bit relative 
address is stored in the object (possibly shifted right 3 bits with the 
top-3 used for the lock).

in x86-64, this can be done mostly with a single instruction, say:
lea rcx, [rbx+rax*8]

or, say, one calls a method (rdx=object, rbx=magic base pointer):
mov eax, [rdx]           ;fetch vtable word from object
mov ecx, [rbx+rax*8+72]  ;access vtable entry at offset 72
lea r8, [rbx+rcx]        ;add method address to base
call r8                  ;call method


> Reserve a low chunk of the address space (and call it part of permgen?)
> for vtables and your vtable pointers get quite short. The vtable pointer
> plus a few bits of the object's initial address would still make a
> pretty decent identity hash for collections with heterogeneous keys;
> homogeneous keys, in my experience, are usually value objects with
> overridden hashCode such as Strings and you can make the
> initial-address-bits (and the thin lock bit) the low order bits. Shift
> right one bit to lose the lock bit and have the hash; shift right n bits
> for some fairly small n to get the vtable pointer. Vtable lookup is a
> tiny bit slower due to a test of the lock bit plus one added shift
> instruction on each lookup, but the critical performance points tend to
> get JITted into direct calls or branch-predictable is-it-a-Foo?
> jump-or-normal-vtable-lookup choices. And the vast majority of
> production Java code is I/O bound anyway.
>
> Well, except when the object needs a fat lock. Then the whole word
> becomes a pointer to a structure that points to the vtable and contains
> the lock and identity hash. Now vtable lookup has an added indirection.
> But the bottleneck with such objects will usually be contention for the
> lock itself, not CPU cycles.
>


>> That might be memory-efficient, but it would not be at all
>> time-efficient, as it would require a map lookup to lock an object.
>
> Map lookups are O(1) and a low level implementation in C built into the
> JVM would boil down to masking and shifting the hash and then a pointer
> addition and dereference, only needed when you wanted to lock or unlock
> an object -- and again, the time spent on this will be dwarfed by the
> time spent in contention for the lock anyway, fairly often. Branch
> prediction and pipelining might help in the case of high-CPU areas that
> lock an object with low contention, in that some of the work might
> proceed in parallel with lock acquisition in the absence of contention
> (though, only as far as work that can be done in cache or registers,
> since the lock must be held prior to any memory reads or writes in the
> guarded object, and on initial acquisition failure that work may have to
> be repeated later on acquisitoon).

yep.

a table need not be all that expensive.

in my VM at least, interface method dispatch is itself done via the use 
of a hash table (as well as using a table for any object locking).


actually, a variant of the relative-address scheme is used as well on 
x86-64, but in this case more due to the x86-64 ISA generally using 
32-bit offsets for everything (calls/jumps/... are limited to 32-bits 
unless one wants to use GPRs to hold the temporary addresses, meaning it 
is much more efficient to try to have most of ones' JITted code/data be 
within a +-2GB window).

in this case, calls outside of this window are generally handled via 
trampolines within the window.

in effect, this window forms an "executable heap". granted, currently 
the whole region is read/write/execute, where I guess on some systems 
SELinux may make a problem for this, but I have yet to address this 
(seems to work fine on my systems... mostly tested with Fedora x86-64).

(note: I also target Win64 and Win32 as well, with Win64 being done in 
roughly the same way, and all this being N/A to Win32).

sadly, the region currently uses manual-MM. the GC can scan the region 
for references, but code/data/bss sections are not automatically 
reclaimed, as I found out after initial implementation that this would 
create serious implementation problems, and so instead opted with using 
different executable memory for GCed code, as well as it having to 
follow special rules, ...


current setup:
4GB RWX (combined code/data/bss, allocation starts from the middle and 
follows an even/odd "spiral" pattern).

theoretically, one would have to double-map the code-heap in this case, say:
2GB RX (code/rodata), 2GB RW (data/bss), 2GB RW (alias for code-heap)
or:
2GB RX (code/rodata), 2GB RW (data/bss, alias to first region)


presumably, the standard JVM does something similar internally?...


in the hypothetical object situation, this region would also be used for 
object vtables/... as well (but, as given before, would additionally 
require a region-base pointer, that or use relative addresses, which 
have their own complexities, and require "movsx rax, dword [...]" 
instructions).


or such...

[toc] | [prev] | [next] | [standalone]


#5866

FromKitKat <kitkat_11697@gmail.example.com>
Date2011-07-05 15:30 -0400
Message-ID<iuvoo8$fbj$1@speranza.aioe.org>
In reply to#5865
On 05/07/2011 3:15 PM, BGB wrote:
> On 7/1/2011 3:08 PM, KitKat wrote:
>> Regardless of which, "Onodera" also sounds feminine.
>
> grr... the name is not latin-based,

What does Latin have to do with Java, BGB?

> not everything that ends in 'a' is female.

No, just the names that do.

> not like it is some guy with a name like "Chibichibi Hitomi" or
> something, which would be a bit suspect.

Yes, "i" instead of "y" endings are also usually feminine.

> "anata wa des-ka?"
> "chibi-chibi hitomi wa deeesuuu!" (meanwhile doing an imbalanced stance).

What does your public drunkenness have to do with Java, BGB?

> as other people look with a solidly "WTF?" expression upon hearing this.
>
> another person stands up, puts his hands to his face, and a background
> voice exclaims "shaaku!" (IOW: "shock!").

What does your hallucination have to do with Java, BGB?

> storing type-IDs as an id-number can also work, then one fetches the
> vtable/... via an array index. a downside though is that this would have
> a potential performance impact, as additional operations are now needed
> to access the vtable.

Even the other suggestion involved a shift and mask, as well as a prior 
bit-test and branch in case of a thick lock in which event the vtable 
was one more indirection away, though branch prediction would take care 
of the latter handily for every method invocation not called inside of a 
critical section.

> or, one can reserve a chunk of memory (wherever it is) and subtract out
> the address. then one can re-add the relative address to the base address.

Doubles heap size, if you're suggesting what it sounds like you're 
suggesting.

> say, a 64-bit base address known to the VM, and only a 32-bit relative
> address is stored in the object (possibly shifted right 3 bits with the
> top-3 used for the lock).

Limits the heap to what the limit would be in a 32-bit VM.

[toc] | [prev] | [next] | [standalone]


#5872

Fromblmblm@myrealbox.com <blmblm.myrealbox@gmail.com>
Date2011-07-05 21:10 +0000
Message-ID<97hctfFa1jU1@mid.individual.net>
In reply to#5866
In article <iuvoo8$fbj$1@speranza.aioe.org>,
KitKat  <kitkat_11697@gmail.example.com> wrote:
> On 05/07/2011 3:15 PM, BGB wrote:
> > On 7/1/2011 3:08 PM, KitKat wrote:
> >> Regardless of which, "Onodera" also sounds feminine.
> >
> > grr... the name is not latin-based,
> 
> What does Latin have to do with Java, BGB?

About as much as the gender of names does -- and aren't you the one
who brought that up?

> > not everything that ends in 'a' is female.
> 
> No, just the names that do.

I think for Japanese names this is not true.  Check Wikipedia under
"Akira Endo" for two examples.

> > not like it is some guy with a name like "Chibichibi Hitomi" or
> > something, which would be a bit suspect.
> 
> Yes, "i" instead of "y" endings are also usually feminine.

In Japanese?

> > "anata wa des-ka?"
> > "chibi-chibi hitomi wa deeesuuu!" (meanwhile doing an imbalanced stance).
> 
> What does your public drunkenness have to do with Java, BGB?
> 
> > as other people look with a solidly "WTF?" expression upon hearing this.
> >
> > another person stands up, puts his hands to his face, and a background
> > voice exclaims "shaaku!" (IOW: "shock!").
> 
> What does your hallucination have to do with Java, BGB?

This style is starting to be alarmingly familiar ....

[ snip ]

-- 
B. L. Massingill
ObDisclaimer:  I don't speak for my employers; they return the favor.

[toc] | [prev] | [next] | [standalone]


#5882

FromBGB <cr88192@hotmail.com>
Date2011-07-05 22:08 -0700
Message-ID<iv0qsc$r5a$1@news.albasani.net>
In reply to#5872
On 7/5/2011 2:10 PM, blmblm@myrealbox.com wrote:
> In article<iuvoo8$fbj$1@speranza.aioe.org>,
> KitKat<kitkat_11697@gmail.example.com>  wrote:
>> On 05/07/2011 3:15 PM, BGB wrote:
>>> On 7/1/2011 3:08 PM, KitKat wrote:
>>>> Regardless of which, "Onodera" also sounds feminine.
>>>
>>> grr... the name is not latin-based,
>>
>> What does Latin have to do with Java, BGB?
>
> About as much as the gender of names does -- and aren't you the one
> who brought that up?
>

yep.

the rule:
ends in 'a' -> feminine;
ends in 'o' -> masculine;
...

is primarily associated with latin-derived languages, but the pattern 
has spread in large part to many European languages.

however, much outside this space (such as in Asian languages), and the 
rule falls on its face.
unless one knows the names, there is little way to know whether it is a 
male name or a female name.

"sounds male" or "sounds female" is not an accurate measure, as it more 
reflects on ones' source language or source culture than what is 
actually the case.


>>> not everything that ends in 'a' is female.
>>
>> No, just the names that do.
>
> I think for Japanese names this is not true.  Check Wikipedia under
> "Akira Endo" for two examples.
>

yep.

Japanese doesn't really follow the same rules.



>>
> not like it is some guy with a name like "Chibichibi Hitomi" or
>>> something, which would be a bit suspect.
>>
>> Yes, "i" instead of "y" endings are also usually feminine.
>
> In Japanese?
>

at least partly true of Japanese, as many female names end in 'i', 
especially 'mi' and 'ni'.

for example "Hitomi" or "Kazumi" (female) vs "Kamina" or "Tougusa" (male).

but, then, "Kagura" is a female name and "Takumi" is male.


>>> "anata wa des-ka?"
>>> "chibi-chibi hitomi wa deeesuuu!" (meanwhile doing an imbalanced stance).
>>
>> What does your public drunkenness have to do with Java, BGB?
>>
>>> as other people look with a solidly "WTF?" expression upon hearing this.
>>>
>>> another person stands up, puts his hands to his face, and a background
>>> voice exclaims "shaaku!" (IOW: "shock!").
>>
>> What does your hallucination have to do with Java, BGB?
>
> This style is starting to be alarmingly familiar ....
>

this was all itself partial references to Japanese culture.

basically, if an adult male character has a name and does things 
stereotypical of a schoolgirl-type character.

also a character doing exaggerated expressions as a narrator announces 
it their expressions. basically, the loud-mouth interjecting narrator 
which ruins nearly any chance of "subtlety" in the scene by overtly 
describing the events taking place on screen, or directly explaining the 
plot to the audience...

this is in contrast to the narrator in more western shows which usually 
has a much narrower role, such as describing events being recalled from 
the past or similar, and more often narrators are absent altogether for 
shows not taking place as part of someones' memory. also the narrator is 
usually an older version of one of the characters on-screen, rather than 
some unnammed 3rd party or "omnipresent voice" (who comments both in 
scenes involving both the protagonists and antagonists), or who comments 
in real-time (similar to an announcer or sports commentator).



or such...

[toc] | [prev] | [next] | [standalone]


#5890

FromKitKat <kitkat_11697@gmail.example.com>
Date2011-07-06 05:57 -0400
Message-ID<iv1biu$r22$2@speranza.aioe.org>
In reply to#5872
On 05/07/2011 5:10 PM, blmblm@myrealbox.com wrote:
> In article<iuvoo8$fbj$1@speranza.aioe.org>,
> KitKat<kitkat_11697@gmail.example.com>  wrote:
>> On 05/07/2011 3:15 PM, BGB wrote:
>>> On 7/1/2011 3:08 PM, KitKat wrote:
>>>> Regardless of which, "Onodera" also sounds feminine.
>>>
>>> grr... the name is not latin-based,
>>
>> What does Latin have to do with Java, BGB?
>
> About as much as the gender of names does -- and aren't you the one
> who brought that up?

Actually, Tom Anderson was the one who prompted it by posting a 
feminine-sounding name and following it up with male pronouns.

>>> not everything that ends in 'a' is female.
>>
>> No, just the names that do.
>
> I think for Japanese names this is not true.  Check Wikipedia under
> "Akira Endo" for two examples.

???

>>> not like it is some guy with a name like "Chibichibi Hitomi" or
>>> something, which would be a bit suspect.
>>
>> Yes, "i" instead of "y" endings are also usually feminine.
>
> In Japanese?

In general.

> This style is starting to be alarmingly familiar ....

Yes, I was imitating a bit the weirdo calling himself "tholen" that 
posted a few things here a month or two ago. I thought it might be 
amusing since the latter bits of BGB's post weren't particularly 
understandable or, apparently, relevant.

[toc] | [prev] | [next] | [standalone]


#5912

Fromblmblm@myrealbox.com <blmblm.myrealbox@gmail.com>
Date2011-07-06 17:07 +0000
Message-ID<97jj30Fr6pU4@mid.individual.net>
In reply to#5890
In article <iv1biu$r22$2@speranza.aioe.org>,
KitKat  <kitkat_11697@gmail.example.com> wrote:
> On 05/07/2011 5:10 PM, blmblm@myrealbox.com wrote:
> > In article<iuvoo8$fbj$1@speranza.aioe.org>,
> > KitKat<kitkat_11697@gmail.example.com>  wrote:
> On 05/07/2011 5:10 PM, blmblm@myrealbox.com wrote:
> > In article<iuvoo8$fbj$1@speranza.aioe.org>,
> > KitKat<kitkat_11697@gmail.example.com>  wrote:
> >> On 05/07/2011 3:15 PM, BGB wrote:
> >>> On 7/1/2011 3:08 PM, KitKat wrote:
> >>>> Regardless of which, "Onodera" also sounds feminine.
> >>>
> >>> grr... the name is not latin-based,
> >>
> >> What does Latin have to do with Java, BGB?
> >
> > About as much as the gender of names does -- and aren't you the one
> > who brought that up?
> 
> Actually, Tom Anderson was the one who prompted it by posting a 
> feminine-sounding name and following it up with male pronouns.

Perhaps correctly, and you could have resisted ....  <shrug>

> >>> not everything that ends in 'a' is female.
> >>
> >> No, just the names that do.
> >
> > I think for Japanese names this is not true.  Check Wikipedia under
> > "Akira Endo" for two examples.
> 
> ???

I don't know what you're asking here -- perhaps what I mean by "two
examples"?  If I go to the main Wikipedia page and do a search on
"Akira Endo" I get a page that lists two people named Akira Endo
(a biochemist and a conductor), and the articles about of them 
indicate that both are male.  What do you get?  Did you want URLs?

(I looked up that name because I vaguely remembered the conductor.
I didn't know about the biochemist, but perhaps it's not an uncommon
name in Japan.)

> >>> not like it is some guy with a name like "Chibichibi Hitomi" or
> >>> something, which would be a bit suspect.
> >>
> >> Yes, "i" instead of "y" endings are also usually feminine.
> >
> > In Japanese?
> 
> In general.

What makes you think this rule is universal, when the one about 
names ending in 'a' or 'o' isn't?

> > This style is starting to be alarmingly familiar ....
> 
> Yes, I was imitating a bit the weirdo calling himself "tholen" that 
> posted a few things here a month or two ago. I thought it might be 
> amusing since the latter bits of BGB's post weren't particularly 
> understandable or, apparently, relevant.

"We are not amused"?  (Well, I'm not.)  I figured the parts
of BGB's post that didn't make sense to me were a reference to
something I didn't know about.  I'd have guessed anime, that being
of Japanese origin and popular among (some) techie types, though
BGB's follow-up today indicates I'd have been wrong about that.
I don't mind the occasional digression, within reason.  I think
this one is about to exceed the limit, if it hasn't already, so
will try not to reply further.

-- 
B. L. Massingill
ObDisclaimer:  I don't speak for my employers; they return the favor.

[toc] | [prev] | [next] | [standalone]


#5917

FromSteve Erwin <trollHunter@Usenet.4.usenetizens.org.invalid>
Date2011-07-07 04:08 +1000
Message-ID<4e14a510$0$6450$c3e8da3$b1356c67@news.astraweb.com>
In reply to#5912
blmblm@myrealbox.com <blmblm.myrealbox@gmail.com>
wrote:
>In article <iv1biu$r22$2@speranza.aioe.org>,
>KitKat  <kitkat_11697@gmail.example.com> wrote:
>> On 05/07/2011 5:10 PM, blmblm@myrealbox.com wrote:
>> > In article<iuvoo8$fbj$1@speranza.aioe.org>,
>> > KitKat<kitkat_11697@gmail.example.com>  wrote:
>> On 05/07/2011 5:10 PM, blmblm@myrealbox.com wrote:
>> > In article<iuvoo8$fbj$1@speranza.aioe.org>,
>> > KitKat<kitkat_11697@gmail.example.com>  wrote:
>> >> On 05/07/2011 3:15 PM, BGB wrote:
>> >>> On 7/1/2011 3:08 PM, KitKat wrote:
>> >>>> Regardless of which, "Onodera" also sounds feminine.
>> >>>
>> >>> grr... the name is not latin-based,
>> >>
>> >> What does Latin have to do with Java, BGB?
>> >
>> > About as much as the gender of names does -- and aren't you the one
>> > who brought that up?
>> 
>> Actually, Tom Anderson was the one who prompted it by posting a 
>> feminine-sounding name and following it up with male pronouns.
>
>Perhaps correctly, and you could have resisted ....  <shrug>
>
>> >>> not everything that ends in 'a' is female.
>> >>
>> >> No, just the names that do.
>> >
>> > I think for Japanese names this is not true.  Check Wikipedia under
>> > "Akira Endo" for two examples.
>> 
>> ???
>
>I don't know what you're asking here -- perhaps what I mean by "two
>examples"?  If I go to the main Wikipedia page and do a search on
>"Akira Endo" I get a page that lists two people named Akira Endo
>(a biochemist and a conductor), and the articles about of them 
>indicate that both are male.  What do you get?  Did you want URLs?
>
>(I looked up that name because I vaguely remembered the conductor.
>I didn't know about the biochemist, but perhaps it's not an uncommon
>name in Japan.)
>
>> >>> not like it is some guy with a name like "Chibichibi Hitomi" or
>> >>> something, which would be a bit suspect.
>> >>
>> >> Yes, "i" instead of "y" endings are also usually feminine.
>> >
>> > In Japanese?
>> 
>> In general.
>
>What makes you think this rule is universal, when the one about 
>names ending in 'a' or 'o' isn't?
>
>> > This style is starting to be alarmingly familiar ....
>> 
>> Yes, I was imitating a bit the weirdo calling himself "tholen" that 
>> posted a few things here a month or two ago. I thought it might be 
>> amusing since the latter bits of BGB's post weren't particularly 
>> understandable or, apparently, relevant.
>
>"We are not amused"?  (Well, I'm not.)  I figured the parts
>of BGB's post that didn't make sense to me were a reference to
>something I didn't know about.  I'd have guessed anime, that being
>of Japanese origin and popular among (some) techie types, though
>BGB's follow-up today indicates I'd have been wrong about that.
>I don't mind the occasional digression, within reason.  I think
>this one is about to exceed the limit, if it hasn't already, so
>will try not to reply further.

As opposed to the idiot you respond to, BGB has an 
extensive passive record of Usenet contribution.
[otoh] Paul Derbyshire (KitKat) cannot keep the same
sock for more than brief series of posts. It is one of
his trademarks. Another is never will he provide more
than bluster and that verbose hyperbole he is well
known for.
"All talk no substance" is our Paul :-/

BGB's profile - took just two minutes of time to
discover:
http://groups.google.com/groups/profile?enc_user=YVMd0hMAAADN7svbjKFmbtu94uFL4OxHWMj6vob75xS36mXc24h6ww
One of the earliest examples of that posters
contribution.
Not familiar with the topic, yet I see "expert" leaping
from the read.
http://al.howardknight.net/msgid.cgi?STYPE=msgid&MSGI=%3Cuartbar6rpbq9e%40corp.supernews.com%3E

You wrote "I think
this one is about to exceed the limit".
By engaging Paul you only serve to feed him, on
anything, he will accept anything as fodder to build a
troll from. 
Nobody has a purpose in taking him to a place where it
is felt "this one is about to exceed the limit". A
simple check of the posting Host is enough to hold back
**any** response.

See -->X-Complaints-To: abuse@aioe.org
?
Key "DEL" unread.

Paul has painted himself into a corner, over time.
news.aioe.org is the only free server which is
tolerating his Bullshit, at this time. He has been
booted from all the other portals of generosity. 
Paul will not use his paid subscription with Giganews
nor the account he has weazled from Eternal September
(after being booted from there) to troll from. 
He is reluctant to always use his Google profiles only
because he knows many servers and most savvy 
Usenet readers have those posts filtered out.

So he is very easy to spot, and easier even to control
with a filter.

Google up any of these "From" to find Paul using
news.aioe.org, and only in just the past weeks.
The whole list since his beginning days back in 2002 is
way too extensive to post.
Tim Harrison, Sulfide Eater, Chad Carmichael,
Extravagan, Meerkats, Purpleswandir, Heike
Svensson, Derek Yancey, Zxcvbnm, Greg Kelly, Willy
Wonka, Nougat Surprise, Mister Whiskers, John Harbl,
Alice, Cthun, Boojum, Katie Gerrolds, Julie Faramis,
Henry Harrison, Nancy, 
And--><supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com>

Paul mentions "the weirdo calling himself "tholen""
which is most ironic as it is "tholen" who has provided
Paul with many lessons on how to circumvent filters.
Paul is brilliant at copying other peoples work, both 
"good" and "bad". It is how he has existed since his
school days, after failing miserably on his own oats.

There were two or three posters here in cljp who knew
all this. Where they are today is likely the same place
Paul has driven many others.
Off Usenet.
It is what he does. Paul cannot play so nobody else
can.
That is his thinking.

-- 


regards

Steve


[toc] | [prev] | [next] | [standalone]


#5920

Fromblmblm@myrealbox.com <blmblm.myrealbox@gmail.com>
Date2011-07-06 19:09 +0000
Message-ID<97jq7qFo8pU1@mid.individual.net>
In reply to#5917
In article <4e14a510$0$6450$c3e8da3$b1356c67@news.astraweb.com>,
Steve Erwin  <trollHunter@Usenet.4.usenetizens.org.invalid> wrote:
> blmblm@myrealbox.com <blmblm.myrealbox@gmail.com>
> wrote:
> >In article <iv1biu$r22$2@speranza.aioe.org>,
> >KitKat  <kitkat_11697@gmail.example.com> wrote:
> >> On 05/07/2011 5:10 PM, blmblm@myrealbox.com wrote:
> >> > In article<iuvoo8$fbj$1@speranza.aioe.org>,
> >> > KitKat<kitkat_11697@gmail.example.com>  wrote:
> >> On 05/07/2011 5:10 PM, blmblm@myrealbox.com wrote:
> >> > In article<iuvoo8$fbj$1@speranza.aioe.org>,
> >> > KitKat<kitkat_11697@gmail.example.com>  wrote:
> >> >> On 05/07/2011 3:15 PM, BGB wrote:
> >> >>> On 7/1/2011 3:08 PM, KitKat wrote:
> >> >>>> Regardless of which, "Onodera" also sounds feminine.
> >> >>>
> >> >>> grr... the name is not latin-based,
> >> >>
> >> >> What does Latin have to do with Java, BGB?
> >> >
> >> > About as much as the gender of names does -- and aren't you the one
> >> > who brought that up?

[ snip ]

> >> Yes, I was imitating a bit the weirdo calling himself "tholen" that 
> >> posted a few things here a month or two ago. I thought it might be 
> >> amusing since the latter bits of BGB's post weren't particularly 
> >> understandable or, apparently, relevant.
> >
> >"We are not amused"?  (Well, I'm not.)  I figured the parts
> >of BGB's post that didn't make sense to me were a reference to
> >something I didn't know about.  I'd have guessed anime, that being
> >of Japanese origin and popular among (some) techie types, though
> >BGB's follow-up today indicates I'd have been wrong about that.
> >I don't mind the occasional digression, within reason.  I think
> >this one is about to exceed the limit, if it hasn't already, so
> >will try not to reply further.
> 
> As opposed to the idiot you respond to, BGB has an 
> extensive passive record of Usenet contribution.

Oh my, I really did not express myself clearly, did I?  What I
think is about to go out of bounds is this subthread as a whole, not
BGB's participation.  As best I can tell he makes plenty of on-topic
contributions, and speaking only for myself *I* don't think there's
anything wrong with the occasional digression from such a person.
My record's not nearly so good, alas, and if there was an intent
to criticize, it was aimed far more at myself than at BGB.  

[ snip ]

-- 
B. L. Massingill
ObDisclaimer:  I don't speak for my employers; they return the favor.

[toc] | [prev] | [next] | [standalone]


#5926

FromSteve Erwin <trollHunter@Usenet.4.usenetizens.org.invalid>
Date2011-07-07 09:26 +1000
Message-ID<4e14ef70$0$1580$c3e8da3$92d0a893@news.astraweb.com>
In reply to#5920
blmblm@myrealbox.com <blmblm.myrealbox@gmail.com>
wrote:
>In article <4e14a510$0$6450$c3e8da3$b1356c67@news.astraweb.com>,
>Steve Erwin  <trollHunter@Usenet.4.usenetizens.org.invalid> wrote:
>> blmblm@myrealbox.com <blmblm.myrealbox@gmail.com>
>> wrote:
[cut]
>>>"We are not amused"?  (Well, I'm not.)  I figured the parts
>>>of BGB's post that didn't make sense to me were a reference to
>>>something I didn't know about.  I'd have guessed anime, that being
>>>of Japanese origin and popular among (some) techie types, though
>>>BGB's follow-up today indicates I'd have been wrong about that.
>>>I don't mind the occasional digression, within reason.  I think
>>>this one is about to exceed the limit, if it hasn't already, so
>>>will try not to reply further.
>> 
>> As opposed to the idiot you respond to, BGB has an 
>> extensive passive record of Usenet contribution.
>
>Oh my, I really did not express myself clearly, did I? 
>
I am going to rip off an expression from The Great Book
of Yarns (War Stories-fiction) and patch this wound of
yorn with "let he who be not carrying the sin cast that
first stone"... and let it rest :-)

> What I think is about to go out of bounds is this subthread as a whole, not
>BGB's participation.  As best I can tell he makes plenty of on-topic
>contributions, 
>
Usenet, when it works best for *readers*, is all about
folks of the ilk of BGB. The variation in pitch without
being "whacko" is exactly what is needed in making a
read. How many times have you "nodded off" in a lecture
hearing some fundamentalist pedant ramble on in
monotone on the topic, without once even acknowledging
there is an audience nor maybe regale same with a
diversionary (stay awake!) anecdotal on the mornings
exercise in the broom cupboard with the campus 
cleaner (either gender-both)!?
Myself I read thousands of posts in any one week, I
publish very few, if any, some weeks. Lately (2 years+)
the likes of Paul Derbyshire are "holding the floor" in
many a group. That activity ruins my read.

As much as Paul loathes being criticized for his
stupidities, I get very proactive when an asshole ruins
my read. Such is why you see me 'pop'.
Reading people as BGB simply urges learning and the
hunting of more information, so as to "get it".
I do not need to post to learn about a topic, I do need
to be able to read to have Usenet work for me. 
Thousands, nay millions, would join with that.

>and speaking only for myself *I* don't think there's
>anything wrong with the occasional digression from such a person.
>
I agree with the direction of your point. I carnt say
"wrong" however, is the word I would use. 
Digression from topic only fits the "wrong" tag when it
leaves the bone of the topic entirely, like mixing fart
jokes into a thread on the biorhythms of an amoeba,
claiming validity of topic as methane production being
a biological function.
This is exactly Paul's MO, precisely.
Paul takes great umbrage when pulled over for doing 
so, playing the victim card as the first pawn move. 
All contrived, as the resultant flammage is his
intended outcome, as a "victolly, I claim victolly".
Paul in full flight demands he has the last word,
always.
Paul's MO is wrong, and Paul knows it.

>My record's not nearly so good, alas, and if there was an intent
>to criticize, it was aimed far more at myself than at BGB. 
> 
I would offer those blessed with quiet humor and a 
sprinkling of intelligence would have no problem
accepting the explanation with a warm smile.

I was most surprised to stumble across posts
by Paul Derbyshire again impacting on the language
groups, as this has all been done before, on at least
three occasions in the past three years I am aware of.
In fact it is through the considerate action of one
member of cljp (at one time) that I was able to
conclusively "nail Paul's ass" in archiving provenance
for his activity elsewhere, Activity which was
impacting on a much wider section of Usenet than the
Java related groups.
That information then allowed covert email contact
with Paul Derbyshire of the Fractals/Mushrooms.
The identification then complete.
http://mushroomobserver.org/observer/show_user?_js=off&_new=true&id=621

Where those people are today I cannot know, a quick
pull of headers does not show anything familiar to
myself. Therefore I again put the information as an
addendum. There is absolutely no doubt 
Paul Derbyshire of  the Fractals and Paul Derbyshire
of the Mushrooms _a n d_ the plethora of posting names 
used over many years are one and the same actual
person.
Paul has constructed his own problems, made his own 
bed. Contrary to his belief the World owes him nothing.
Always beyond "off-topic", he is beyond that as can be
tolerated by many, only Paul can fix that.



As an aside, may I suggest you try this syntax in trn
as a "From"? 
"blmblm@myrealbox.com" <blmblm.myrealbox@gmail.com>
The change may then allow your "nym" to list
'correctly' in the message group for all reader
software;
example of your header display in one reader is here:
https://rapidshare.com/files/664524757/trn_UsenetSyntax.jpg


Thank you for your contribution.

I bid you good day and good wind aft of the body.

cheers

-- 
+comp.lang.lisp,comp.lang.java.programmer
-xnaREM (for future Usenetizens)

Steve
+++++++++++++++++++++++++++++++++++++
http://al.howardknight.net/msgid.cgi?STYPE=msgid&MSGI=%3C49223bfe%240%2490264%2414726298%40news.sunsite.dk%3E
pgderb@gmail.com
74.14.135.55
16 Nov 2008
hzergel901@gmail.com
74.14.135.55
17 Nov 2008
scuzwalla@gmail.com
74.14.135.55
17 Nov 2008

IP 	:	74.14.135.55 	     Neighborhood
Host 	:	bas1-ottawa10-1242466103.dsl.bell.ca
Country 	:	Canada

Found on Google.
Read all about it.
http://groups.google.com/group/comp.lang.java.programmer/browse_thread/thread/d7d67d116bd9c2e8/90b1ba4e63328fc4?q=

[toc] | [prev] | [next] | [standalone]


#5931

FromKitKat <kitkat_11697@gmail.example.com>
Date2011-07-06 20:25 -0400
Message-ID<iv2ude$sr8$1@speranza.aioe.org>
In reply to#5926
On 06/07/2011 7:26 PM, Steve Erwin wrote:
> Usenet, when it works best for *readers*, is all about
> folks of the ilk of BGB. The variation in pitch without
> being "whacko" is exactly what is needed in making a
> read. How many times have you "nodded off" in a lecture
> hearing some fundamentalist pedant ramble on in
> monotone on the topic, without once even acknowledging
> there is an audience nor maybe regale same with a
> diversionary (stay awake!) anecdotal on the mornings
> exercise in the broom cupboard with the campus
> cleaner (either gender-both)!?

What does that paragraph even *mean*?

> Myself I read thousands of posts in any one week, I
> publish very few, if any, some weeks. Lately (2 years+)
> the likes of Paul Derbyshire are "holding the floor" in
> many a group. That activity ruins my read.
>
> As much as Paul loathes being criticized for his
> stupidities,

More unsubstantiated allegations against this Paul you seem to be so 
obsessed with. Axe-grind much?

> I get very proactive when an asshole ruins
> my read.

You weren't even participating in this thread until you jumped into it 
with the sole apparent objective of foaming at the mouth about your 
arch-nemesis to anyone who might listen. And so inarticulately that 
blmblm didn't even figure out who you were misidentifying as your target!

Just go away.

> Such is why you see me 'pop'.

In other words, you will lurk in a newsgroup until someone says 
something you disagree with, or your paranoid little brain suddenly 
convinces itself that someone in it is your arch-foe in disguise, and 
then you'll bombard the group and disrupt random threads with off-topic 
flames?

Hate to break it to you, Steve, but that sort of behavior will just mark 
*you* as a troll and land you in everyone's killfiles in short order.

Now fuck off.

> Reading people as BGB simply urges learning and the
> hunting of more information, so as to "get it".

How ironic.

> I do not need to post to learn about a topic, I do need
> to be able to read to have Usenet work for me.
> Thousands, nay millions, would join with that.

Usenet is a discussion platform, not a lecture hall. People can and will 
talk back and debate various things. Perhaps blogs and podcasts are more 
your speed.

And while it's all fine and dandy to purely lurk, posting SOLELY to 
complain about/accuse other posters of stuff and not to actually discuss 
a newsgroup's topic is just plain bad netiquette. Doing it in the form 
of incoherent and partly-unintelligible rants doubly so.

>> and speaking only for myself *I* don't think there's
>> anything wrong with the occasional digression from such a person.
>
> I agree with the direction of your point. I carnt say
> "wrong" however, is the word I would use.
> Digression from topic only fits the "wrong" tag when it
> leaves the bone of the topic entirely, like mixing fart
> jokes into a thread on the biorhythms of an amoeba,

And mixing flames and your personal axe grinding regarding this Paul 
fella into a thread on Java's object monitors?

How ironic.

> This is exactly Paul's MO, precisely.

Actually, it seems to be *your* MO.

> Paul takes great umbrage when pulled over for doing
> so, playing the victim card as the first pawn move.

Looks like the term "netkkkop" has never been more applicable. I mean, 
not only are you demanding unilaterally that a whole news server be 
arbitrarily subjected to a form of UDP, and going around badmouthing 
someone for who knows what purported "crimes", but now you not only 
claim to be the local topic police but even specifically use cop 
metaphors like "pulled over"?

Policeman, arrest thyself, for thou art guilty of the very charge thou 
hath just levelest at others! Tell everyone to killfile all news posts 
originating from Astraweb and flame thyself! Or else thou art proven, by 
thine own hand, to be the biggest hypocrite in all of the 
English-speaking world!

> All contrived, as the resultant flammage is his
> intended outcome, as a "victolly, I claim victolly".

<tholen>What does your "flammage" [sic] have to do with Java?</tholen>

> Paul in full flight demands he has the last word,
> always.

Projecting again?

> Paul's MO is wrong, and Paul knows it.

Let me guess: Paul is actually you, and your Hyde side, named "Steve", 
is trying to kill your Jekyll side?

> I was most surprised to stumble across posts
> by Paul Derbyshire again impacting on the language
> groups, as this has all been done before, on at least
> three occasions in the past three years I am aware of.

You have stumbled across either your own previous post (see above) or 
your own hallucination and/or paranoia, I'm not sure which.

> http://mushroomobserver.org/observer/show_user?_js=off&_new=true&id=621

So there is somebody with that name out there. So what? Nothing at that 
site has anything in the least to do with Java or any of the posters in 
this newsgroup except to your paranoid little mind which apparently sees 
connections and conspiracies of some sort everywhere.

> Where those people are today I cannot know, a quick
> pull of headers does not show anything familiar to
> myself. Therefore I again put the information as an
> addendum. There is absolutely no doubt
> Paul Derbyshire of  the Fractals and Paul Derbyshire
> of the Mushrooms _a n d_ the plethora of posting names
> used over many years are one and the same actual
> person.

Paranoia obviously knows no bounds. I just hope you're not liable to 
violence. Lots of people develop what you have and start linking random 
websites, television people, and other stuff and believing they're all 
connected and that the news anchor is using body language to send them 
secret messages about the CIA's mind reading agents that are hunting you 
and yadda yadda yadda, and most of them never actually hurt anybody, but 
every once in a while one of you nuts grabs a sawed-off and goes berserk 
in a shopping mall or something after the voices tell you that Celine 
Dion is dumping you or whatever.

I do hope you're not one of the ones that goes berserk.

> Paul has constructed his own problems, made his own
> bed. Contrary to his belief the World owes him nothing.

Besides being another unsubstantiated claim regarding someone who isn't 
posting to this newsgroup, that last bit is just plain wrong anyway, 
according to the various UN Declarations and Geneva Conventions; those 
say there is a certain minimum that the world owes a human being in the 
way of rights.

> Always beyond "off-topic", he is beyond that as can be
> tolerated by many, only Paul can fix that.

Sounds like you're talking about yourself again there, Steve.

> As an aside, may I suggest you try this syntax in trn
> as a "From"?
> "blmblm@myrealbox.com"<blmblm.myrealbox@gmail.com>
> The change may then allow your "nym" to list
> 'correctly' in the message group for all reader
> software;
> example of your header display in one reader is here:
> https://rapidshare.com/files/664524757/trn_UsenetSyntax.jpg

Finally, something somewhat intelligible and constructive in one of your 
posts. And even then it has nothing whatsoever to do with Java.

> Thank you for your contribution.

Thank you, in advance, for getting the fuck out of cljp.

Unless, of course, you plan to actually start posting about Java.

> I bid you good day and good wind aft of the body.

You bid him good day and happy farts?! What the hell, Steve!

[toc] | [prev] | [next] | [standalone]


#5970

Fromblmblm@myrealbox.com <blmblm.myrealbox@gmail.com>
Date2011-07-07 19:37 +0000
Message-ID<97mg82FpbhU2@mid.individual.net>
In reply to#5931
In article <iv2ude$sr8$1@speranza.aioe.org>,
KitKat  <kitkat_11697@gmail.example.com> wrote:
> On 06/07/2011 7:26 PM, Steve Erwin wrote:

[ snip ]

> You weren't even participating in this thread until you jumped into it 
> with the sole apparent objective of foaming at the mouth about your 
> arch-nemesis to anyone who might listen. And so inarticulately that 
> blmblm didn't even figure out who you were misidentifying as your target!

Don't be so sure about that.  But sometimes [*] I have enough sense
to know when to stay out of a fight.

[*] Apparently not always.  

[ snip ]

> > I bid you good day and good wind aft of the body.
> 
> You bid him good day and happy farts?! What the hell, Steve!

Wrong pronoun, if you're referring to me.  Just sayin', since you
seem to care about this sort of thing.

-- 
B. L. Massingill
ObDisclaimer:  I don't speak for my employers; they return the favor.

[toc] | [prev] | [next] | [standalone]


#5969

Fromblmblm@myrealbox.com <blmblm.myrealbox@gmail.com>
Date2011-07-07 19:35 +0000
Message-ID<97mg3pFpbhU1@mid.individual.net>
In reply to#5926
In article <4e14ef70$0$1580$c3e8da3$92d0a893@news.astraweb.com>,
Steve Erwin  <trollHunter@Usenet.4.usenetizens.org.invalid> wrote:
> blmblm@myrealbox.com <blmblm.myrealbox@gmail.com>
> wrote:
> >In article <4e14a510$0$6450$c3e8da3$b1356c67@news.astraweb.com>,
> >Steve Erwin  <trollHunter@Usenet.4.usenetizens.org.invalid> wrote:
> >> blmblm@myrealbox.com <blmblm.myrealbox@gmail.com>
> >> wrote:

[ snip ]

> As an aside, may I suggest you try this syntax in trn
> as a "From"? 
> "blmblm@myrealbox.com" <blmblm.myrealbox@gmail.com>
> The change may then allow your "nym" to list
> 'correctly' in the message group for all reader
> software;
> example of your header display in one reader is here:
> https://rapidshare.com/files/664524757/trn_UsenetSyntax.jpg

Eh.  I'm not sure I *want* only the part you have in double quotes
to display (which is what would happen, right?) -- it's no longer a
working address, and while the actual address in the angle brackets
works, anyone who assumes the "nym" is a working address ....

(Not that it matters, but you've found for me one more site that
apparently requires a newer version of Javascript than is included
in the Firefox on the system I usually use at home -- when I point
that old Firefox at the above URL, I get something that asks me to
log in or create an account.  If there's a way to download the file
without creating an account, it's not obvious ....  Trying again
with a more recent browser gave better results (an option for "free
download").  What a pain.  Why I don't replace that old Firefox --
eh, long story, comes down to "more trouble than you might think".)

[ snip ]

-- 
B. L. Massingill
ObDisclaimer:  I don't speak for my employers; they return the favor.

[toc] | [prev] | [next] | [standalone]


Page 3 of 5 — ← Prev page 1 2 [3] 4 5  Next page →

Back to top | Article view | comp.lang.java.programmer


csiph-web