develooper Front page | perl.perl5.porters | Postings from November 2005

Re: XS-assisted SWASHGET (esp. for t/uni/class.t speedup)

Thread Previous | Thread Next
From:
Nicholas Clark
Date:
November 30, 2005 07:39
Subject:
Re: XS-assisted SWASHGET (esp. for t/uni/class.t speedup)
Message ID:
20051130153857.GY68284@plum.flirble.org
On Sun, Nov 27, 2005 at 05:02:02PM +0900, SADAHIRO Tomoyuki wrote:

> This patch will
> (1) remove lib/utf8_heavy.pl#utf8::SWASHGET,
> (2) move universal.c#XS_utf8_SWASHGET_heavy into utf8.c#S_swash_get,
> (3) patch up S_swash_get and Perl_swash_fetch,
> (4) remove codes for DEBUG information from S_swash_get,
> (5) add a line for S_swash_get to embed.fnc,
> (6) correct a line for S_utf8_common in embed.fnc ('s' vs 'p'), 
> (7) and modify some comments about SWASHGET in utf(8|ebcdic).h.

(8) fix an obscure bug inadvertently added by the previous patch (that I wasn't
    even aware of until last night).

Notably, you commented out save_re_context because now the code was XS code,
there was no use of regexps while within the regexp engine. This is true,
unless the perl debugger is in use. It gets called back to during the XS
code, uses regexps, and corrupts the match state held in "global" regexp vars.
(For "global" read per-thread)

I'm not sure how many of these debugger issues remain. I've just fixed one
set with 26228, which I think also solves a bug reported sometime this year,
a bug I currently can't find.

Nicholas Clark

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About