From: Vincent Pit Date: Tue, 14 Aug 2007 20:54:36 +0000 (+0200) Subject: Document SvSHARED_HASH. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=758fcfc19a1a2c48f6e2b45a4c3c6ef17980ecb4;p=p5sagit%2Fp5-mst-13.2.git Document SvSHARED_HASH. Subject: Re: newSVpvn_share doesn't seem to correctly initialize the hash value with perl >= 5.9.3 Message-Id: <46C1FA6C.4090801@profvince.com> p4raw-id: //depot/perl@31718 --- diff --git a/sv.c b/sv.c index f503f14..bf9e575 100644 --- a/sv.c +++ b/sv.c @@ -7059,11 +7059,11 @@ Perl_newSVhek(pTHX_ const HEK *hek) Creates a new SV with its SvPVX_const pointing to a shared string in the string table. If the string does not already exist in the table, it is created -first. Turns on READONLY and FAKE. The string's hash is stored in the UV -slot of the SV; if the C parameter is non-zero, that value is used; -otherwise the hash is computed. The idea here is that as the string table -is used for shared hash keys these strings will have SvPVX_const == HeKEY and -hash lookup will avoid string compare. +first. Turns on READONLY and FAKE. If the C parameter is non-zero, that +value is used; otherwise the hash is computed. The string's hash can be later +be retrieved from the SV with the C macro. The idea here is +that as the string table is used for shared hash keys these strings will have +SvPVX_const == HeKEY and hash lookup will avoid string compare. =cut */