List Info

Thread: MAD: sequence number generation




MAD: sequence number generation
user name
2007-09-06 10:46:24
This patch fixes the sequence number generation when -Dmad
is enabled.
I haven't tried it with all the dump refactor patches of Jim
Cromie, but
it fixes the (revised) t/run/debugging.t test.

Jim: does this solve all the mad errors? I'll try your other
patches and
see how it goes.
If there are still problems with mad you might also want to
try the
'bleadgerard' branch of 'git://dev.tty.nl/perl', which has
more mad
patches.

-- 
Gerard Goossen
TTY Internet Solutions

  
Re: MAD: sequence number generation
user name
2007-09-06 18:56:11
Gerard Goossen wrote:
> This patch fixes the sequence number generation when
-Dmad is enabled.
> I haven't tried it with all the dump refactor patches
of Jim Cromie, but
> it fixes the (revised) t/run/debugging.t test.
>
>   
thanks for following up on this.

<to catch everyone else up>

the t/run/debugging.t test he speaks of was 1st patch of my

dump-refactor series.
It just added a test, active only under -DEBUGGING (so I see
it as safe 
for 5.10)

When I tried it on a -Dmad -DEBUGGING build, it exposed an
op-sequencing
off-by-one error. 

IE- abreviating..

# )/
# got:          '    TYPE = leave  ===> DONE'
# want:  (?-xism:1   TYPE = leave  ===> DONE)
# got:          '    {'
# want:  (?-xism:    {)
# got:          '1       TYPE = enter  ===> 2'
# want:  (?-xism:2       TYPE = enter  ===> 3)
# got:          '    {'


Not knowing enough about mad-ness, I punted, and asked
Gerard
(privately) to apply his mad-skills.

His patch yanks one chunk of

Change 27422 by nicholasnicholas-saigo on
2006/03/08 16:29:26

	MAD changes to dump.c

Which I suspect was a quick hack around some problem that
has since been fixed at the root cause.
Nicholas, can you comment ?


Anyway, I applied his patch, and it restores expected
sequencing.

Ive also tested his patch against a set of 'poor-mans-smoke'
builds,
(but without my dump-test patch), and nothing went boom.

setup_pbd qw(bld-plain);
setup_pbd qw(bld-plainthr -Dusethreads);
setup_pbd qw(bld-plainithr -Duseithreads);
setup_pbd qw(bld-64     -Duse64bitint);
setup_pbd qw(bld-more   -Dusemorebits);
setup_pbd qw(bld-slab   -Accflags=-DPL_OP_SLAB_ALLOC);
setup_pbd qw(bld-mad    -Dmad);
setup_pbd qw(bld-mad-thr -Dmad -Dusethreads);
setup_pbd qw(bld-mad-dbg        -Dmad -DEBUGGING);
setup_pbd qw(bld-mad-thr-dbg    -Dmad -Dusethreads
-DEBUGGING);
setup_pbd qw(bld-ro     -DDEBUGGING
-Accflags=-DPERL_DEBUG_READONLY_OPS);
setup_pbd qw(bld-stdio  -Uperlio);
setup_pbd qw(bld-malloc -Dusemymalloc);
setup_pbd qw(bld-large  -Duselargefiles);
setup_pbd qw(bld-ocow  
-Accflags='-DPERL_OLD_COPY_ON_WRITE');
setup_pbd qw(bld-ocow-thr
-Accflags='-DPERL_OLD_COPY_ON_WRITE' 
-Duseithreads);
setup_pbd qw(bld-ocow-mlc
-Accflags='-DPERL_OLD_COPY_ON_WRITE' 
-Dusemymalloc);
setup_pbd qw(bld-ocow-mlc-thr
-Accflags='-DPERL_OLD_COPY_ON_WRITE' 
-Dusemymalloc -Duseithreads);

(tests are still running)

> Jim: does this solve all the mad errors? I'll try your
other patches and
> see how it goes.
>   
It looks good - I'll regenerate the t/run/mad.t patch I
posted earlier
with the correct op-sequence numbers.


> If there are still problems with mad you might also
want to try the
> 'bleadgerard' branch of 'git://dev.tty.nl/perl', which
has more mad
> patches.
>
>   

Can you prep a 6 line script for us git illiterati ?

Something to establish a git repo,
perhaps fill it with blead from a rsync tree (in order to
not suck your 
bandwith)
then pull your branches.

Id be happy to use it 


Im re-attaching the dump-test patch
It now adds ext/B/t/debugging.t, since I reworked it to use
OptreeCheck.pm
(which is now extended to support using -Dx flag)

RGS, if you wish to apply, feel free to rename debugging.t
to dump-debug.t,
or whatever else you like.

thanks again,
jimc



  
Re: MAD: sequence number generation
user name
2007-09-07 12:53:50
On Thu, Sep 06, 2007 at 05:56:11PM -0600, Jim Cromie wrote:
> [...]
>
>> If there are still problems with mad you might also
want to try the
>> 'bleadgerard' branch of 'git://dev.tty.nl/perl',
which has more mad
>> patches.
>>
>>   
>
> Can you prep a 6 line script for us git illiterati ?
>
> Something to establish a git repo,
> perhaps fill it with blead from a rsync tree (in order
to not suck your 
> bandwith)
> then pull your branches.
>
> Id be happy to use it 

I strongly recommend a git version > 1.5 (user-interface
and manual are
much better).

getting a repo:
git-clone 'git://dev.tty.nl/perl'

Initial checkout might take a while (its about 100M)

Using "git-show-branch -a" you can view all the
branches and the
differences between them.

http://wiki.winehq.org
/GitWine
The wine wiki describes some other common tasks, like making
patches and
rebasing. The wine wiki uses 'origin' to refer to the remote
branch, with 
my repository it should be 'origin/bleadperl' or
'origin/bleadgerard' or 
'origin/kurila' depending on which branch you want.

> [...]


-- 
Gerard Goossen
TTY Internet Solutions


Re: MAD: sequence number generation
user name
2007-09-13 15:08:38
On Thu, Sep 06, 2007 at 05:56:11PM -0600, Jim Cromie wrote:

> Change 27422 by nicholasnicholas-saigo on
2006/03/08 16:29:26
> 
> 	MAD changes to dump.c
> 
> Which I suspect was a quick hack around some problem
that
> has since been fixed at the root cause.
> Nicholas, can you comment ?

It's all Larry's code. I know I don't understand the
subtleties of it; I just
merged it in to core.

I suspect that Gerard understands at least as much as Larry
now, as Gerard
has been working on it more recently.

Nicholas Clark

[1-4]

about | contact  Other archives ( Real Estate discussion Medical topics )