Skip to content
Branch: master
Commits on Sep 5, 2019
  1. Align Proc.signal with Proc.exitcode

    jnthn committed Sep 5, 2019
  2. Take signal part of process outcome into account

    jnthn committed Sep 5, 2019
    So that if something exists with a SEGV, then:
    * The Proc is falsey
    * Sinking the Proc will explode
    Fixes #3149.
Commits on Sep 4, 2019
  1. Fix exception propagation with race inside race

    jnthn committed Sep 4, 2019
    Or hyper inside of hyper. We should always propagate the exception, even
    if it is already wrapped. Fixes #3165.
Commits on Aug 20, 2019
  1. Add a missing guard to the Nil assignment plugin

    jnthn committed Aug 20, 2019
    Fixes a regression introduced by c7056f2.
Commits on Aug 19, 2019
  1. Avoid a closure clone per native call

    jnthn committed Aug 19, 2019
    By moving a rarely-taken erorr reporting out to a private method.
  2. Provide optimized form of assigning Nil

    jnthn committed Aug 19, 2019
    So that the spesh plugin can return that, instead of falling back on the
    fully general case that cannot be inlined.
Commits on Jul 21, 2019
  1. Merge pull request #3072 from chloekek/3070-interpolate-block

    jnthn committed Jul 21, 2019
    Clear signature before parsing block
Commits on Jun 10, 2019
  1. Call !match-list directly in split

    jnthn committed Jun 10, 2019
    Rather than going through .match with all of its related checks along
    the way.
  2. Avoid a little indirection in split(/regex/)

    jnthn committed Jun 10, 2019
  3. ReifiedListIterator can be a PredictiveIterator

    jnthn committed Jun 10, 2019
    Since the list is already reified, we know how many elements there are.
    This is a significant speedup for things like `$foo.split(/\s+/).elems`
    as it can just return the elements of the list (in fact, the `.elems`
    part is now fully inlined into the caller).
  4. Bump NQP version

    jnthn committed Jun 10, 2019
    In order to get Match cosntruction improvements, which those made to
    Rakudo Match object construction also depend on.
  5. Cheapean Match object construction

    jnthn committed Jun 8, 2019
    Move towards a better data structure for the Match initialization of
    arrays for quantified captures.
  6. Re-arrange top level of Match construction

    jnthn committed Jun 8, 2019
    Break out pass/fail cases, making that bit of logic inlineable. This
    also gets rid of a closure clone on each match object we produce.
Commits on Jun 4, 2019
  1. Merge pull request #2950 from dogbert17/fix_RAKUDO_FIRST_FLAG

    jnthn committed Jun 4, 2019
Commits on May 14, 2019
  1. Fix compile_in_context with an immediate block

    jnthn committed May 14, 2019
    This situation could occur in the case of a begin-time EVAL that had a
    code expression that contained an immediate QAST block. This led to the
    failed $_ lookup reported in #2779, meaning that compilation of that
    module no longer fails. Unfortunately, that isn't enough to make it
    actually work, but it's a step closer.
Commits on Apr 26, 2019
  1. Fix mis-optimization of BUILDPLAN with MI

    jnthn committed Apr 26, 2019
    We cannot just take the BUILDPLAN from the next thing along in the MRO
    if it's not the single parent of this class. Fixes #2782.
  2. Make BUILDPLAN generation a bit more robust

    jnthn committed Apr 26, 2019
    Inline::Perl5 has a meta-object that returns an IterationBuffer from its
    BUILDPLAN; cope with that in the BUILDPLAN code generator. Addresses the
    issue reported in #2856.
  3. Merge pull request #2858 from patzim/moar-option-doc

    jnthn committed Apr 26, 2019
    Document MoarVM specific commandline options
Commits on Apr 22, 2019
  1. Merge pull request #2854 from patzim/fix-comma-debug

    jnthn committed Apr 22, 2019
    Temporary: Fix PERL6/NQP_HOME broken without --execpath
Commits on Apr 18, 2019
  1. Unbreak subclassing of Parameter

    jnthn committed Apr 18, 2019
    With this, the regression reported in  #2829 that broke
    `Cro::OpenAPI::RoutesFromDefinition` is now resolved.
    It's covered for now by a Rakudo test, though arguably we should
    consider the ability to do this spec and add spectest coverage also.
  2. Expose newmixintype via Metamodel::Primitives

    jnthn committed Apr 18, 2019
    Recently, types that were the target of a rebless operation started
    needing to be created explicitly as mixin target types, to assist
    optimization. Expose the ability to do this in Metamodel::Primitives
    by allowing a `:mixin` flag to be passed to `create_type`.
Commits on Apr 12, 2019
  1. Generate an empty BUILDALL for class with no attrs

    jnthn committed Apr 12, 2019
    We already had code in place to do that, but never reached it thanks to
    this logic in ClassHOW.compose.
  2. Bump to latset NQP_REVISION

    jnthn committed Apr 12, 2019
    To get a MoarVM inlining/exception bug fix, which the return handler
    reduction work relies upon.
Commits on Apr 9, 2019
  1. Initialize $!reified/$!todo to a type object

    jnthn committed Apr 9, 2019
    Which means spesh turns it into something simpler; together with a JIT
    improvement in MoarVM, we save over 300 bytes off the machine code that
    is produced for ASSIGN-POS.
  2. Simplify array fast-path checking

    jnthn committed Apr 9, 2019
    We need to evaluate all the pieces anwyay; this means we get less
    control flow in the resulting generated code. (We do trade off doing
    some evaluations, but the common case is that all of these are true.)
  3. Don't emit unrequired init code for natives

    jnthn committed Apr 9, 2019
    When we assign to them immediately, then we don't need to retain the
    initial zeroing out. Shaves a few cycles off all the things that use
    natively typed lexicals.
  4. Retain current return from default behavior

    jnthn committed Apr 9, 2019
    Currently, `sub { sub foo($x = return 42) { } say foo }` sees the return
    actually return from the enclosing sub! While that's probably a bug,
    unfortunately a spectest exists specifying it this way. So, retain the
    semantics that the test suite wants for now.
  5. Fix .&fail after better return handler tracking

    jnthn committed Apr 9, 2019
    Also, the fact this was needed points to us missing optimizing the
    $foo.&bar case into &bar($foo) rather than going through the dispatch
  6. Avoid hack involving early return in Test.pm6

    jnthn committed Apr 9, 2019
    Instead, implement it with an exception. This means that we could lift
    the restriction on needing a `Callable` that can be returned from in
    this place too; unfortunately, we have spectests that make sure it
    fails, so simply lifting the restriction will cause failures in the
    spectest for released language versions. For now, just preserve the
    existing behavior, but in a way that won't break our more accurate
    tracking of which things need return handlers.
  7. Better tracking of what needs return handlers

    jnthn committed Apr 9, 2019
    So that we can produce code with a lot less of them. This can give a
    speedup since it results in code that's easier to analyze and slightly
    more compact.
Commits on Apr 8, 2019
  1. Use a cheaper assignment in array assign slow path

    jnthn committed Apr 8, 2019
    It's a slow path, but we don't have to make it slower than it needs to
You can’t perform that action at this time.