Permalink
Switch branches/tags
Commits on Feb 15, 2018
  1. LiteralType: make sure natives are lowercased

    timo committed Feb 15, 2018
    while at the same time not suggesting "num" or "int"
    as methods to call for the coercion.
Commits on Feb 14, 2018
  1. missed the case where Rat was assigned to int

    timo committed Feb 14, 2018
  2. teach X::Syntax::Number::LiteralType about natives

    timo committed Feb 14, 2018
    until now `my num $foo = 1` was a somewhat cryptic
    low-level run-time error ("cannot unbox"). Now it's
    a compile-time error of type
    X::Syntax::Number::LiteralType just like
    `my Num $foo = 1` has already been.
    
    If changing this from a runtime to a compile-time
    error is seen as a problem, I can insert a run-time
    throw of this specific exception instead before release.
Commits on Dec 29, 2017
  1. guard subbuf against negative ranges

    timo committed Dec 29, 2017
    a range like 10..2 is supposed to be degenerate
    and have no elements, but the code just used
    int-bounds to calculate how many items to take.
    This would cause attempts to allocate around 2**64
    elements for the results, which is clearly bogus.
    
    Now it'll just behave as if you had specified a
    length of 0 elements.
  2. microoptimize DON'T_DIVIDE_NUMBERS

    timo committed Dec 29, 2017
    a little benchmark adding integers to rats gets
    sped up by about 22%.
Commits on Dec 1, 2017
  1. make multi-needle split setup cheaper

    timo committed Dec 1, 2017
    by using a hand-managed index counter rather than the
    more expensive (but better-looking) .kv iterator.
    
    Cuts time to split each line of 100000 by 3 needles down to 77%
Commits on Nov 18, 2017
  1. default Encoding::alternative-names shall work

    timo committed Nov 18, 2017
    with just () the registry tries to grab the $!reified
    which ends up being an empty Scalar. In future versions
    we'll want to make the register function bulletproof,
    though I wouldn't expect lazy lists and such to appear
    in regular user code.
Commits on Oct 19, 2017
  1. "Died" shall be default for breaking promises

    timo committed Oct 19, 2017
    to mirror what die without arguments does.
  2. Promise.kept and .broken constructors for kept/broken promises

    timo committed Oct 19, 2017
    can be super useful to have short-hand for sometimes.
Commits on Oct 11, 2017
  1. generalize constraint for append

    timo committed Oct 11, 2017
    otherwise it'll only be called when an int64 array is
    passed. This makes it splice 32bit, 16bit and 8bit
    for basically free.
Commits on Oct 7, 2017
  1. use nqp::codes op to speed up Int

    timo authored and zoffixznet committed Oct 7, 2017
    not a vast improvement, but having one allocation less
    is a nice bonus.
  2. use nqp::codes op to speed up Int

    timo committed Oct 7, 2017
    not a vast improvement, but having one allocation less
    is a nice bonus.
Commits on Sep 30, 2017
  1. don't output when add_method for BUILDALL fails.

    timo committed Sep 30, 2017
Commits on Sep 16, 2017
  1. same fix for Combinations as Permutations

    timo committed Sep 16, 2017
    so we'll always get the correct type that was set on object
    creation time, not whatever was last passed to the
    Combinations method.
  2. refer to "want list?" var in permutations iterator properly

    timo committed Sep 16, 2017
    since classes aren't closures, you could get the wrong type from
    interleaved pull-one calls on iterators with $!b set to different
    values.
Commits on Sep 15, 2017
  1. nativecall: don't try to compile sigs with optional parameters

    timo committed Sep 15, 2017
    it's currently NYI, and default values would just be ignored.
Commits on Sep 9, 2017
  1. junction optimizer shall ignore proto and only look at candidates

    timo committed Sep 9, 2017
Commits on Aug 11, 2017
  1. bump nqp and use new peer/socket host/port values in async sockets

    timo committed Aug 11, 2017
    bump pulled in changes from moarvm:
    5e94da0 Merge branch 'asyncsocket_listen_sockname'
    c0853d2 also pass socket and peer names for outgoing connections
    527615e return undefined hosts and ports in error cases
    ba2ef17 you use VMString to decode strings, box it in BOOTStr
    cafe709 the listen callback shall also push socket and peer ip & port
    955a9cd Move indexim_s and eqatim_s to oplist order
    e50eb61 Tune the inline size a bit.
    c663342 Implement inlining of basic lexical lookups.
    c8d902a Correct handler order when inlining.
    af24ab8 Can never inline frames declaring state vars.
    55f850c Another place needing deleted handler handling.
    30ff9d5 Use register holding code ref for deopt purposes.
    9f12f0c Start storing/using static frame in inline table.
Commits on Jul 31, 2017
  1. space after import modulename shall not explode the compiler

    timo committed Jul 31, 2017
Commits on Jul 20, 2017
  1. rm -f any already existing .moarvm files during install

    timo committed Jul 20, 2017
    since .moarvm files are mmapped and bytecode lazily deserialized,
    you can run into big trouble when rakudo gets updated while a
    script is already running.
    
    by unlinking the files before overwriting them, this should never happen.
    
    uses a custom perl6 script because who knows if cp --remove-destination
    is portable at all.
Commits on Jul 8, 2017
  1. stop looking after finding a matching module file

    timo committed Jul 8, 2017
    if both a .pm6 and a .pm exist with a matching name, only the
    .pm would be used, which is clearly not right.
  2. make sure IO::Socket passes a list to set-line-separators

    timo committed Jul 8, 2017
    should unbreak Net::SMTP
Commits on Jul 6, 2017
  1. fix $*EXECUTABLE dying when rakudo run via valgrind

    timo committed Jul 6, 2017
    it gives an empty string rather than an undefined object, so
    the // operator wouldn't ever do anything here and the fallback was
    essentially useless.
Commits on Jun 27, 2017
  1. give nil methods a much more efficient "take any args" signature

    timo committed Jun 27, 2017
Commits on Jun 13, 2017
  1. bring back for ^N { } optimization again

    timo committed Jun 13, 2017
Commits on Apr 28, 2017
  1. "like" shall not crash the script when a non-Str is passed

    timo committed Apr 28, 2017
    for example, when you were like `@things[2]` and there weren't enough items.
    also, the "hack to deal with failures" was never going to work, as
    Failure can't get passed to a Str parameter
Commits on Apr 23, 2017
  1. bump nqp for eqatic fix

    timo authored and zoffixznet committed Apr 22, 2017
Commits on Apr 22, 2017
  1. sync version of process-launching tap harness must close stdout.

    timo committed Apr 22, 2017
    otherwise FDs will keep piling up and exhaust the system's ulimit
    of file descriptors. dogbert17++
  2. bump nqp for eqatic fix

    timo committed Apr 22, 2017
Commits on Apr 19, 2017
  1. get perl6-debug-m past the setlang error

    timo committed Apr 19, 2017
    and straight into bizzarro-world where everything gives
    mysterious errors …
Commits on Apr 17, 2017
  1. allow IO::Path to be passed for "is native"

    timo committed Apr 17, 2017
Commits on Apr 15, 2017
  1. accidentally committed wrong version

    timo committed Apr 15, 2017
  2. make Numeric.ACCEPTS(Any) about 15% faster

    timo committed Apr 15, 2017
  3. allow for faster Enum ~~ Enum

    timo committed Apr 15, 2017
    it used to go through Numeric's ACCEPTS, which first checks
    isnanorinf, and also has a nested scope in it.
  4. bump nqp and moarvm for better multithreading performance

    timo committed Apr 15, 2017