From 0f773ca46f224752520a05649f858bfd8897bbaf Mon Sep 17 00:00:00 2001 From: Karl Williamson Date: Tue, 20 Nov 2012 09:59:28 -0700 Subject: [PATCH] perldelta.pod: Nits --- pod/perldelta.pod | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/pod/perldelta.pod b/pod/perldelta.pod index bda2144..4ed4d5d 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -43,10 +43,10 @@ ALIASES>. =head2 New hash function Murmurhash-32 (v3) -We have switched perls hash function to use Murmurhash-32 and added build -support for several other hash functions. This new function is expected to -performance equivalent for shorter strings and is faster, potentially -twice as fast, for hashing longer strings. +We have switched Perl's hash function to use Murmurhash-32, and added build +support for several other hash functions. This new function is expected to +perform equivalently to the old one for shorter strings and is faster, +potentially twice as fast, for hashing longer strings. =head1 Security @@ -88,39 +88,39 @@ or to have commas anywhere in the name. See L =head2 Per process hash randomization -The seed used by perls hash function is now random. This means that the -order which keys/values will be returned from functions like keys(), -values(), and each() will differ from run to run. +The seed used by Perl's hash function is now random. This means that the +order which keys/values will be returned from functions like C, +C, and C will differ from run to run. -This change was introduced to make perls hashes more robust to algorithmic -complexity attacks and also because we discovered that it exposes hash -ordering dependency bugs and make them easier to track down. +This change was introduced to make Perl's hashes more robust to algorithmic +complexity attacks, and also because we discovered that it exposes hash +ordering dependency bugs and makes them easier to track down. Toolchain maintainers might want to invest in additional infrastructure to -test for things like this. Running tests several times in a row and then +test for things like this. Running tests several times in a row and then comparing results will make it easier to spot hash order dependencies in -code. Author are strongly encouraged not to expose the key order of perls -hashes to insecure audiences. +code. Authors are strongly encouraged not to expose the key order of +Perl's hashes to insecure audiences. =head2 PERL_HASH_SEED enviornment variable now takes a hex value PERL_HASH_SEED no longer accepts an integer as a parameter, instead the -value is expected to be a binary string encoded in hex. This is to make +value is expected to be a binary string encoded in hex. This is to make the infrastructure support hash seeds of arbitrary lengths which might -exceed that of an integer. (SipHash uses a 16 byte seed). +exceed that of an integer. (SipHash uses a 16 byte seed). =head2 Hash::Util::hash_seed() now returns a string -Hash::Util::hash_seed() now returns a string instead of an integer. This +Hash::Util::hash_seed() now returns a string instead of an integer. This is to make the infrastructure support hash seeds of arbitrary lengths -which might exceed that of an integer. (SipHash uses a 16 byte seed). +which might exceed that of an integer. (SipHash uses a 16 byte seed). =head2 Output of PERL_HASH_SEED_DEBUG has been changed The environment variable PERL_HASH_SEED_DEBUG now shows both the hash function perl was built with AND the seed, in hex in use for that process. Code parsing this output, should it exist, must change to accomodate the -new format. Example of the new format: +new format. Example of the new format: $ PERL_HASH_SEED_DEBUG=1 ./perl -e1 HASH_FUNCTION = MURMUR3 HASH_SEED = 0x1476bb9f @@ -150,9 +150,9 @@ down to a single op, and are hence faster than before. =item * A new C preprocessor define NO_TAINT_SUPPORT was added that, if set, disables -Perl's taint support altogether. Using the -T or -t command line flags will -cause a fatal error. Beware that both core tests as well as many a CPAN -distribution's tests will fail with this change. On the upside, it provides +Perl's taint support altogether. Using the -T or -t command line flags will +cause a fatal error. Beware that both core tests as well as many a CPAN +distribution's tests will fail with this change. On the upside, it provides a small performance benefit due to reduced branching. Do not enable this unless you know exactly what you are getting yourself into. @@ -420,8 +420,8 @@ well. =item * -The private Perl_croak_no_modify has had its context parameter removed. It is -now has a void prototype. Users of the public API croak_no_modify remain +The private Perl_croak_no_modify has had its context parameter removed. It is +now has a void prototype. Users of the public API croak_no_modify remain unaffected. =item * @@ -432,10 +432,10 @@ true. =item * -A new op type, C has been introduced. The perl peephole +A new op type, C has been introduced. The perl peephole optimiser will, where possible, substitute a single padrange op for a pushmark followed by one or more pad ops, and possibly also skipping list -and nextstate ops. In addition, the op can carry out the tasks associated +and nextstate ops. In addition, the op can carry out the tasks associated with the RHS of a my(...) = @_ assignment, so those ops may be optimised away too. -- 2.7.4