Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created January 5, 2023 01:01
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/fb6d27828f56ef88c68bfb5d00f3730e to your computer and use it in GitHub Desktop.
Save Whateverable/fb6d27828f56ef88c68bfb5d00f3730e to your computer and use it in GitHub Desktop.
bisectable6
sub demo(-->int32) { 42 }; say Bool(demo());
Bisecting: 113 revisions left to test after this (roughly 7 steps)
[87d40ab183539730994d69e919649d91c8c2dc88] Merge pull request #1007 from usev6/jvm_core.d.setting
»»»»» Testing 87d40ab183539730994d69e919649d91c8c2dc88
»»»»» Script output:
Cannot find method 'Bool': no method cache and no .^find_method
in block <unit> at /tmp/NfFf0DeK9A line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 4efcc29c80b53d23b31cc9b69162f36d08cc504f
»»»»» Script output:
True
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 833fe43da6063b2b68317092b5a9945aa718d38a
»»»»» Script output:
True
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing d69f3751d50d2d6bad8d577137b4c838caaf4e82
»»»»» Script output:
True
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 5401a1aa8f12c360ccd3e4000dcdc65ad98c746a
»»»»» Script output:
Cannot find method 'Bool': no method cache and no .^find_method
in block <unit> at /tmp/NfFf0DeK9A line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 084cae1443b5c5a8ecaf01fd54d8b4ead883bb4e
»»»»» Script output:
Cannot find method 'Bool': no method cache and no .^find_method
in block <unit> at /tmp/NfFf0DeK9A line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 9ed4449db57cab39a115c5347387d5978bd56057
»»»»» Script output:
True
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing f8b3469439108fead043bab2bd27bde4bac50dca
»»»»» Script output:
True
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 1
»»»»» Note that on “old” revision exit code is normally 0, you are probably trying to find when something was fixed
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» 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.
src/Perl6/Actions.nqp | 38 ++++++++++++++++++++++++--------------
1 file changed, 24 insertions(+), 14 deletions(-)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment