Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: oplines
Commits on Sep 8, 2014
  1. WIP TRY_OPLINES: Move cop_line from COP to every OP

    authored
    This reduces the need for almost all nextstate ops (99%), which is an
    overall win in memory and speed for typical undense code, say for
    maybe less than 4 ops per line.
    Error reporting and warnings is also correct for multiline ops
    without a cop (such as conditionals).
    
    TODO:
    * add dbstate ops on debugging, instead of just converting the
      nextstate ops.
    * Check if the first cop of a new file is set correctly.
    * Use the new op_line in line reporting, and do only walk back to the prev. cop
      for the file name.
  2. @jhi

    POSIX math: stupidness in 9e010b8

    jhi authored
  3. @jhi

    POSIX math: implement lround().

    jhi authored
    Somehow had missed this so far, but probably because in Perl terms
    it is very similar to round(), and very similar to rint().
    
    The API variations are fascinating: round(), roundl(), lround(), lroundl(),
    llround(), llroundl().
  4. @jhi
  5. @jhi
  6. op.c: Calculate hash for CvNAME_HEK

    Father Chrysostomos authored
    I assumed when I wrote that code that share_hek would calculate the
    hash, like most hash functions; but this internal function assumes
    the caller does it.
    
    Hence, CVs were not sharing their heks with other types of thingies
    that have heks.  A CV named foo and a GV named foo would cause two
    heks of the same name to be present in the shared string table.
  7. @jhi

    5df8ece didn't really allow one to keep long doubles.

    jhi authored
    (It undefed the symbol, but stripped the flags and libs.)
  8. @jhi

    modfl emulation via truncl (C99) and copysignl.

    jhi authored
    (We've had emulation for broken modfl before,
     but it used aintl, which is not that common.)
  9. @jhi

    Configure: scan for truncl.

    jhi authored
    (C99 version of aintl)
  10. Precompute hash for require() arg

    Father Chrysostomos authored
    Arguments to require() get lookup up in %INC, so if we precompute the
    hash at compile time (where possible) then require() should be faster
    at run time.
    
    My unsophisticated tests show a 2-3% increase in speed, but that may
    just be noise.
  11. @PeterMartini

    Fix documented return type for PAD_SV

    PeterMartini authored
    It should be SV *, just like PAD_SVl, since (except under DEBUGGING)
    it is actually the same macro.
Commits on Sep 7, 2014
  1. @jkeenan

    Add perldelta entry for Getopt::Std.

    jkeenan authored
    List updated modules in more ASCII-betical order.
  2. @jkeenan

    Correct typo reported by Hauke D. (RT #41359)

    jkeenan authored
    Increment $VERSION for Getopt::Std.
  3. perldelta for 7950e9c

    Father Chrysostomos authored
  4. perldelta: Move compile-time const deref checking

    Father Chrysostomos authored
    This is a change in behaviour, so it should be more prominent than the
    bug fixes, but it is not a backward-incompatible change (some code no
    longer dies that used to), nor it is really a new feature.  Putting it
    in Diagnostics is the best I can come up with.
  5. perldelta: Move a bug fix

    Father Chrysostomos authored
    to the bug fix section.  Oops.
  6. perldelta for 7950e9c

    Father Chrysostomos authored
  7. perldelta for a14c24d

    Father Chrysostomos authored
  8. perldelta for 7bdb4ff

    Father Chrysostomos authored
  9. perldelta for 64ff300/#122669

    Father Chrysostomos authored
  10. @steve-m-hay
  11. @steve-m-hay

    5.20.1-RC2 today

    steve-m-hay authored
  12. Remove GV_ADDINEVAL

    Father Chrysostomos authored
    This flag does absolutely nothing.  The use of 8 as a flag to pass to
    gv_fetchpv was added in this commit:
    
    commit 93233ec
    Author: Chip Salzenberg <chip@pobox.com>
    Date:   Tue Mar 3 04:39:49 1998 +0000
    
        [win32] merge problematic maintpatch to op.c
                #77:  "Eliminate double warnings under C<package;>"
              Files:  gv.c op.c toke.c
    
    But nothing in gv.c made use of it at the time.
    
    Later it was changed into a #define in commit 0f30349.  Subse-
    quently more uses were added in 77ca0c9 and f558d5a.
    
    It still does nothing.  Nothing outside the perl core references it.
  13. mro.c: Don’t inline sv_sethek

    Father Chrysostomos authored
    This code actually long predates sv_sethek.  But now that we have it,
    we can call it, reducing the size of mro.o.
  14. @khwilliamson

    regcomp.c: Don't doubly do 'use encoding'

    khwilliamson authored
    When reparsing, values have already been converted (if necessary) to
    native, so don't do it again.
  15. @khwilliamson

    regcomp.c: Remove extraneous tests

    khwilliamson authored
    These two messages used to be warnings, but are now errors, so there is
    no need to test which pass they are being output in.
  16. @khwilliamson

    Allow \N{named seq} in qr/[...]/

    khwilliamson authored
    This commit changes the regex handler to properly match in many
    instances a \N{named sequence} in a bracketed character class.
    
    A named sequence is one which consists of a string of multiple
    characters but given one name.  Unicode has hundreds of them, like LATIN
    CAPITAL LETTER A WITH MACRON AND GRAVE.  These are encoded by Unicode
    when there is some user community that thinks of the conglomeration as a
    single unit, but there was no prior standard that had it so, and it is
    possible to encode it in Unicode using other means, typically a sequence
    of a base character followed by some combining marks.  (If there had not
    been such a prior standard, 8859-1, things like LATIN CAPITAL LETTER A
    WITH GRAVE would have been put into Unicode this way too.)  If they did
    not do it this way, they would run out of availble code points much
    sooner.
    
    Not having these as single characters adds a burden to the programmer
    having to deal with them.  Hiding this detail as much as possible makes
    it easier to program.  This commit hides this in one more place than
    previously.
    
    It takes advantage of the infrastructure added some releases ago dealing
    with the fact that the match of some single characters
    case-insensitively can be 2 or even 3 characters.
    
      "ss" =~ /[ß]/i;
    
    is the most prominent example.
    
    We earlier discovered that /[^ß]/ leads to unexpected behavior, and
    using one of these sequences as an endpoint in a range is also unclear
    as to what is meant.  This commit leaves existing behavior for those
    cases.  That behavior is to use just the first code point in the
    sequence for regular [...], and to generate a fatal syntax error for
    (?[...]).
  17. @khwilliamson

    regcomp.c: Extract out functionality into a function

    khwilliamson authored
    This is in preparation for it being called from a 2nd place.  The code
    was merely moved and outdented, and comments moved within the function
    and added to.
  18. @khwilliamson

    regcomp.c: White-space only

    khwilliamson authored
    Properly indent code in blocks newly formed by the previous commit
  19. @khwilliamson

    regcomp.c: Refactor func so caller handles anomalies

    khwilliamson authored
    S_grok_bslash_N() is refactored to not know about the strictness level
    required by the caller, and to return things instead so that the caller
    can decide what action to take.
    
    This is in preparation for some changes in the caller's behavior in
    future commits.
    
    This has the effect of changing the parsing position or where a problem
    occurs shown in a warning message.
  20. @khwilliamson
  21. @khwilliamson

    regcomp.c: Refactor one area to use common subroutine

    khwilliamson authored
    By using the inline function append_utf8_from_native_byte(), the details
    of this conversion are hidden from here.  Since that routine advances
    the parsing pointer with each byte, this has to be slightly refactored.
  22. @khwilliamson

    PATCH: [perl #122671] Many warnings in regcomp.c can occur twice

    khwilliamson authored
    This solves the problem by moving the warnings to be output only in
    pass2 of compilation.  The problem arises because almost all of pass1
    can be repeated under certain circumstances described in the ticket and
    the added comments of this patch.
  23. @khwilliamson

    recomp.c: output given warning in only one pass

    khwilliamson authored
    Otherwise, it will be output multiple times.  This warning was untested
    for as well.
  24. @khwilliamson

    regcomp.c: Vertically stack ternary

    khwilliamson authored
    for legibility
Something went wrong with that request. Please try again.