Re: More on threads

2004-01-30 Thread Leopold Toetsch
Leopold Toetsch <[EMAIL PROTECTED]> wrote: [ perlscalar moprh ] > But that can be solved by first clearing str_val, then changing the > vtable. Fixed. I currently don't see any more problems related to perscalars. PerlStrings are unsafe per se, as long as we have the copying GC. They need a loc

Re: More on threads

2004-01-30 Thread Leopold Toetsch
Gordon Henriksen wrote: Leopold Toetsch wrote: No, flags are mutable and per PMC *not* per class. Of course there are flags which must remain per-PMC. I wasn't referring to them. Sorry if that wasn't clear. If a flag is only saying "my VTABLE methods use the UnionVal as {a void*/a PObj*/a PMC*/dat

Re: More on threads

2004-01-30 Thread Leopold Toetsch
Gordon Henriksen wrote: Hm. Well, both are a discriminator, then; dispatch to code which presumes the contents of the union is quite frequently done without examining the flags. The flags are *never* consulted for a vtable call in classes/*. DOD does different things if a Buffer or PMC is looked

RE: More on threads

2004-01-30 Thread Gordon Henriksen
Leopold Toetsch wrote: > Gordon Henriksen wrote: > > > Or, hell, put the flags directly in the VTABLE if it's not > > necessary for them to vary across instances. > > No, flags are mutable and per PMC *not* per class. Of course there are flags which must remain per-PMC. I wasn't referring to t

Re: More on threads

2004-01-30 Thread Leopold Toetsch
Dan Sugalski <[EMAIL PROTECTED]> wrote: [ PObj union ] > Still, point taken. That needs to die and it needs to die now. For > the moment, lets split it into two pieces, a buffer pointer and an > int/float union, so we don't have to guess whether the contents have > issues with threads. The Buffe

Re: More on threads

2004-01-30 Thread Leopold Toetsch
Gordon Henriksen wrote: Er? Extending to the rest of the source tree the huge patch to classes which you already applied. No logic changes; just cleaning those PObj accessor macros up. Ah sorry, that one. Please send in small bunches, a few files changed at once. leo

RE: More on threads

2004-01-30 Thread Gordon Henriksen
Dan Sugalski wrote: > Gordon Henriksen wrote: > > > Leopold Toetsch wrote: > > > > > Gordon Henriksen wrote: > > > > > > > ... Best example: morph. morph must die. > > > > > > Morph is necessary. But please note: morph changes the vtable of > > > the PMC to point to the new data types table. It h

RE: More on threads

2004-01-30 Thread Gordon Henriksen
Leopold Toetsch wrote: > Gordon Henriksen wrote: > > > ... in the multi-thousand- > > line-diff it was, yet. :( Else you'd have the patch already > > 1) *no* multi-thousands line diffs > 2) what is the problem, you like to solve? Er? Extending to the rest of the source tree the huge patch to cl

Re: More on threads

2004-01-30 Thread Dan Sugalski
At 1:47 AM + 1/25/04, Pete Lomax wrote: On Sat, 24 Jan 2004 13:59:26 -0500, Gordon Henriksen <[EMAIL PROTECTED]> wrote: It doesn't matter if an int field could read half of a double or v.v.; it won't crash the program. Only pointers matter. These rules ensure that dereferencing a pointer will

Re: More on threads

2004-01-30 Thread Dan Sugalski
At 10:50 AM -0500 1/24/04, Gordon Henriksen wrote: On Saturday, January 24, 2004, at 09:23 , Leopold Toetsch wrote: Gordon Henriksen <[EMAIL PROTECTED]> wrote: ... Best example: morph. morph must die. Morph is necessary. But please note: morph changes the vtable of the PMC to point to the new da

Re: More on threads

2004-01-25 Thread Leopold Toetsch
Gordon Henriksen <[EMAIL PROTECTED]> wrote: > Leopold Toetsch wrote: >> Increasing the union size, so that each pointer is distinct is not an >> option. This imposes considerable overhead on a non-threaded program >> too, due its bigger PMC size. > That was the brute-force approach, separating ou

Re: More on threads

2004-01-25 Thread Gordon Henriksen
Leopold Toetsch wrote: Gordon Henriksen wrote: I overstated when I said that morph must die. morph could live IF: [ long proposal ] Increasing the union size, so that each pointer is distinct is not an option. This imposes considerable overhead on a non-threaded program too, due its bigger PMC

Re: More on threads

2004-01-25 Thread Leopold Toetsch
Gordon Henriksen <[EMAIL PROTECTED]> wrote: > I overstated when I said that morph must die. morph could live IF: [ long proposal ] Increasing the union size, so that each pointer is distinct is not an option. This imposes considerable overhead on a non-threaded program too, due its bigger PMC si

Re: More on threads

2004-01-24 Thread Gordon Henriksen
Pete Lomax wrote: Gordon Henriksen wrote: It doesn't matter if an int field could read half of a double or v.v.; it won't crash the program. Only pointers matter. These rules ensure that dereferencing a pointer will not segfault. In this model, wouldn't catching the segfault and retrying (once

Re: More on threads

2004-01-24 Thread Pete Lomax
On Sat, 24 Jan 2004 13:59:26 -0500, Gordon Henriksen <[EMAIL PROTECTED]> wrote: >It doesn't matter if an int field could read half of a double or v.v.; >it won't crash the program. Only pointers matter. >These rules ensure that dereferencing a pointer will not segfault. In this model, wouldn't

Re: More on threads

2004-01-24 Thread Gordon Henriksen
I wrote: With this vocabulary: variable: A memory location which is reachable (i.e., not garbage). [*] pointer: The address of a variable. pointer variable: A variable which contains a pointer. access: For a pointer p, any dereference of p—*p, p->field, or p[i]—whether for the purposes of re

Re: More on threads

2004-01-24 Thread Gordon Henriksen
Leopold Toetsch wrote: Gordon Henriksen <[EMAIL PROTECTED]> wrote: ... Best example: morph. morph must die. Morph is necessary. But please note: morph changes the vtable of the PMC to point to the new data types table. It has nothing to do with a typed union. I overstated when I said that morph

Re: More on threads

2004-01-24 Thread Gordon Henriksen
On Saturday, January 24, 2004, at 09:23 , Leopold Toetsch wrote: Gordon Henriksen <[EMAIL PROTECTED]> wrote: ... Best example: morph. morph must die. Morph is necessary. But please note: morph changes the vtable of the PMC to point to the new data types table. It has nothing to do with a typed

Re: More on threads

2004-01-24 Thread Leopold Toetsch
Gordon Henriksen <[EMAIL PROTECTED]> wrote: > ... Best example: morph. morph must die. Morph is necessary. But please note: morph changes the vtable of the PMC to point to the new data types table. It has nothing to do with a typed union. > Gordon Henriksen leo