Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created August 5, 2017 13:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Whateverable/c975e82c33c0fdf8b310645cdddf94fa to your computer and use it in GitHub Desktop.
Save Whateverable/c975e82c33c0fdf8b310645cdddf94fa to your computer and use it in GitHub Desktop.
bisectable6
multi foo ($) {"right" }; multi foo ($ is rw) {"wrong"}; say foo "42"
Bisecting: 2607 revisions left to test after this (roughly 11 steps)
[abc64393dc7a285aef0a9fc1741c380bc78d972c] Merge pull request #933 from cygx/fix-usage
»»»»» Testing abc64393dc7a285aef0a9fc1741c380bc78d972c
»»»»» Script output:
wrong
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
wrong
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 6d04acf7dc59c08d750b79bbfd6e26efc42281d2
»»»»» Cannot test this commit. Reason: Commit exists, but a perl6 executable could not be built for it
»»»»» Therefore, skipping this revision
»»»»» -------------------------------------------------------------------------
»»»»» Testing 064b5858b2af54cf1e753b2216f471fd6691c7b9
»»»»» Script output:
right
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
wrong
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing ede01c24766def69e0740b5e19e7b48789cbded8
»»»»» Script output:
wrong
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
wrong
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 2a57bfcb61bfb05ae2c9580760e922c46d4e3ae7
»»»»» Script output:
right
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
wrong
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 4e06fc3ab6e14f107005747219ca4b2ca3ac5d00
»»»»» Script output:
right
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
wrong
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 354ad9ab1c4e6daa2e792e66a246dcd715d0787f
»»»»» Script output:
right
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
wrong
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing c2eb7fb70ad49fe61f4eff7baa2480854c759f78
»»»»» Script output:
wrong
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
wrong
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 9ed4449db57cab39a115c5347387d5978bd56057
»»»»» Script output:
right
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
wrong
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing bfbf348ade0e412d122ae61767ee2c3aed75a539
»»»»» Script output:
wrong
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
wrong
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing f22170f77252641bcd215fc400ddab9318cc3ba4
»»»»» Script output:
wrong
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
wrong
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 5401a1aa8f12c360ccd3e4000dcdc65ad98c746a
»»»»» Script output:
wrong
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
wrong
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing f8b3469439108fead043bab2bd27bde4bac50dca
»»»»» Script output:
right
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
wrong
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
f8b3469439108fead043bab2bd27bde4bac50dca is the first new commit
commit f8b3469439108fead043bab2bd27bde4bac50dca
Author: Jonathan Worthington <jnthn@jnthn.net>
Date: Tue Jan 31 16:46:33 2017 +0100
Only generate static inline info when native args.
Some years back, when Rakudo's optimizer was implemented, we didn't
run on a VM that could do inlining. This is no longer the case, and
it's much easier to do the analysis for correct semantic preservation
in a VM and get it consistently right than it is in Rakudo. A VM can
also only expend the effort on hot code. So, from now on we will only
spit out static inline info for subs with natively typed parameters.
These actually do get a notable benefit in generated code quality,
certainly beyond what MoarVM can currently achieve without the help;
JVM and JS backends will likely find it valuable too.
This also fixes various discrepancies we were getting as a result of
inlining of non-natives.
:040000 040000 33d3eac28756cd17b6369954a8e0fab320b33251 e5f8ac19050af438110b15ce27764028c746d784 M src
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment