Permalink
Commits on Feb 22, 2017
  1. Make Int % Int about 8x faster

    - use nqp::mod_i if possible (hacked for RT #128318)
    
    If RT #128318 would have been fixed, this would have made Int % Int
    about 10x faster.
    lizmat committed Feb 22, 2017
  2. Make %% about 14x faster for Int,Int case

    - add candidate for Int:D, Int:D
    - use native mod_i if possible
    
    This makes "($_ if $_%%5 for 1..1000000).sum" about 3.3x faster
    lizmat committed Feb 22, 2017
  3. Fix hang in dispatch of .lines/.words when given wrong args

    The Cool candidates take a capture and forward it to Str candidates.
    When the methods are given wrong arguments, we end up stuck in an
    infinite loop with the Cool and Str candidates passing the stuff
    to each other.
    
    Fix by making Cool candidates `only` methods.
    
    Bug find: https://irclog.perlgeek.de/perl6/2017-02-22#i_14144282
    zoffixznet committed Feb 22, 2017
  4. Fix .comb(Int) failing to work on Cool

    - Simply forward the capture from the Cool.comb method to Str.comb
    - Make Cool.comb an `only` method to prevent infiniloop in dispatch
        when .comb is given wrong args
    
    Bug find: https://irclog.perlgeek.de/perl6-dev/2017-02-17#i_14120030
    zoffixznet committed Feb 22, 2017
  5. Get latest MoarVM.

    * Fix SEGV on xx with a huge value on the right side
    * Fix SEGV when an enormous number of combiners were put on a char
    jnthn committed Feb 22, 2017
  6. Panic upon solitary quantifiers in regexes.

    The error case here is unable to construct an AST that will not blow
    up in interesting ways later on in compilation, so we need to abort.
    Fixes RT #130812, where the `sorry` rather than `panic` led to an
    internal error because of follow-up operations on a malformed AST.
    jnthn committed Feb 22, 2017
  7. Get latest MoarVM.

    Fixes a SEGV in exception handler resolution in `sub { INIT return }`.
    jnthn committed Feb 22, 2017
  8. Improve CHECK errors.

    They now state that it was a CHECK block that went wrong, and give a
    line number, rather than just SORRY and the exception text.
    jnthn committed Feb 22, 2017
Commits on Feb 20, 2017
  1. Make loops/maps with NEXT phaser about 5% faster

    - copy Block.fire_phaser to fire_if_phaser
    - remove condition from Block.fire_phaser: it is assumed it exists
    - adapt iterable handling to use fire_if_phaser if necessary
    
    So in a loop/map with a NEXT phaser, it is only once checked whether
    there is a phaser, instead of for each iteration.  This should also
    help inlining.
    lizmat committed Feb 20, 2017
Commits on Feb 19, 2017
  1. Use full identity compunit store/lookup in CURI

    Ensures that two modules with identical short-names (but different auth/ver) can both be loaded if requested from CURI
    ugexe committed on GitHub Feb 19, 2017
  2. avoid problematic rebless

    TimToady committed Feb 19, 2017
  3. Fix SC collision when identical modules are loaded from different dists

    Fixes "Object does not exist in serialization context" when identical modules
    are loaded from different dists which could happen when a large dist is forked
    for a different auth with some modules left untouched and both forks used in
    the same program.
    
    Identical source led to identical source-id which is used by MoarVM as the
    handle for identifying a serialization context body. Fix by including the
    name of the installed source file in the hash. This name includes the dist-id,
    so it should be unique enough.
    niner committed Feb 19, 2017
  4. bump NQP for debug message fix

    TimToady committed Feb 19, 2017
Commits on Feb 18, 2017
  1. bump NQP to require braid changes

    TimToady committed Feb 18, 2017
  2. Merge branch 'nom' into braids

    TimToady committed Feb 18, 2017
  3. 2017.02 is now in the past

    zoffixznet committed on GitHub Feb 18, 2017
  4. Fix glitched list indent

    zoffixznet committed on GitHub Feb 18, 2017
  5. Fixed glitched list indent

    zoffixznet committed on GitHub Feb 18, 2017
  6. [release] bump VERSION to 2017.02

    zoffixznet committed Feb 18, 2017
  7. [release] bump NQP revision

    zoffixznet committed Feb 18, 2017
  8. log all changes to date

    zoffixznet committed Feb 18, 2017
  9. De-break round-trip of some circular structures

    The fix[^1] to fix .perl.EVAL roundtripping of Array and Hash circular
    accidentally broke compilation of .perl of all the other types of structures.
    
    Even though they're still broken in the sense that their EVAL does not
    produce the correct values, this commit at least unbreaks their compilation.
    
    [1] 67aeefa
    zoffixznet committed Feb 18, 2017
  10. Make flat() propagate is-lazy if possible

    The **@foo slurpy ditches the is-lazy flag, so we fix that by
    adding an Interable candidate that will preserve it when just an
    Iterable is given to flat().
    zoffixznet committed Feb 18, 2017
  11. Merge branch 'nom' into braids

    TimToady committed Feb 18, 2017
Commits on Feb 17, 2017
  1. release guide: adjust download URL

    moritz committed Feb 17, 2017
  2. release guide: upload instructions for new location

    upload to both new and old download site until we've migrated everything
    moritz committed Feb 17, 2017
  3. Fix improval value in changelog

    from 0.1 to 1.1 as 0.1 is a decrease
    zoffixznet committed on GitHub Feb 17, 2017
  4. 'use fatal' has to escape from statementlist

    The fatal pragma is currently contagious to its surrounding scope
    due to how it's implemented as a rewrite in blockoid's action.
    So we'll use a dynvar to pass that from statementlist to blockoid,
    unless we decide someday that a finer-grained scoping is necessary.
    TimToady committed Feb 17, 2017
Commits on Feb 16, 2017
  1. Merge branch 'nom' into braids

    TimToady committed Feb 16, 2017
  2. Fix .perl.EVAL roundtripping for circular Arrays and Hashes

    Currently generated my \foo = [\foo] thing doesn't have the
    correct value when EVALed (foo is still a Mu when its value is used).
    
    Fix for Array and Hashes by using (my @foo) = … and (my %foo) = …
    thing instead. Everything else will still get the \foo thing.
    
    This can probably fixed for the rest of circular stuff like Pairs
    and classes with (my $foo) = … but I don't know if the containerization
    has some sort of impact that would produce the wrong results.
    zoffixznet committed Feb 16, 2017
  3. [Part 2] Implement Mu:U.clone / Fix Array:U.clone

    Missed file for commit
    11d005e
    zoffixznet committed Feb 16, 2017
  4. Implement Mu:U.clone / Fix Array:U.clone

    - Make clone a multi
    - Add Mu:U candidate that just returns self (and complains about
        any twiddles it recieves
        (should it warn instead? should it not bother at all?))
    - Fixes Array:U.clone returning `[Array,]` instead of Array:U
    zoffixznet committed Feb 16, 2017
  5. Implement Array.clone; llfourn++

    Fixes RT#129762: https://rt.perl.org/Ticket/Display.html?id=129762
    
    Note that the clone shares the reifier with the original.
    That was discussed and is desirable:
    https://irclog.perlgeek.de/perl6-dev/2017-02-16#i_14113154
    zoffixznet committed Feb 16, 2017