Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created October 1, 2018 12:15
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/f045ab8c054ed346e1a0b74df6e779f0 to your computer and use it in GitHub Desktop.
Save Whateverable/f045ab8c054ed346e1a0b74df6e779f0 to your computer and use it in GitHub Desktop.
bisectable6
class A { method bless(*%attrinit) { use nqp; my $o = nqp::create(self).BUILDALL(Empty, %attrinit); $o; }; }; say A.new
Bisecting: 4124 revisions left to test after this (roughly 12 steps)
[226cd8b67e6d34390635bf3976f4756eb86efab7] Make Mixy (.) Mixy about 35x faster
»»»»» Testing 226cd8b67e6d34390635bf3976f4756eb86efab7
»»»»» Script output:
A.new
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» 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 4849c733551b2af4d42e3ed336ba2875ab780e5c
»»»»» Script output:
A.new
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» 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 6a6bb23dc07aa39be6149a4c5e90745a5b246cd5
»»»»» Script output:
A.new
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» 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 612d071b83f07a8da91f441484f948418dc7cb26
»»»»» Script output:
A.new
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» 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 0ab628949a6ac3959cd66e2b570ebaf05f057152
»»»»» Script output:
A.new
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» 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 18a6968b98f4ffecf4d27de01239bd03a8326958
»»»»» Script output:
A.new
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» 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 38b198c9928580ad9d9ff48c12c7205fbe2e8ec1
»»»»» Script output:
A.new
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» 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 2fd8ffe56ad18324b71716775c6e17bc102351fd
»»»»» Script output:
Too few positionals passed; expected 1 argument but got 0
in method bless at /tmp/XuXQZN4mCx line 1
in block <unit> at /tmp/XuXQZN4mCx line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 0
»»»»» 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 a639fa9cdd62b703c5f21eec443c31a51ea33fb7
»»»»» Script output:
A.new
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» 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 b537ce2e5ac33304a63c50b1d46876bca0e907ef
»»»»» Script output:
A.new
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» 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 b96f60ff71ab9e817b491c89eba6ebb093f9d4e9
»»»»» Script output:
A.new
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» 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 f989b26282f91c0ac2479d0ccd223454306d1bed
»»»»» Script output:
A.new
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» 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 74ca05f284f2e6668fe77ae9f7518747b787dcf8
»»»»» Script output:
Too few positionals passed; expected 1 argument but got 0
in method bless at /tmp/XuXQZN4mCx line 1
in block <unit> at /tmp/XuXQZN4mCx line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
74ca05f284f2e6668fe77ae9f7518747b787dcf8 is the first new commit
commit 74ca05f284f2e6668fe77ae9f7518747b787dcf8
Author: Jonathan Worthington <jnthn@jnthn.net>
Date: Tue Sep 25 19:25:48 2018 +0200
Don't use nqp::usecapture in `new`
It prevents argument optimization, which in turn prevents lots of
specializations that might take place in the normal path of `new`
where `bless` is not overloaded (which will be nearly all the time).
With this change, plus upcoming MoarVM changes, a specialized `new`
will be possible to inline.
:040000 040000 fa1186d745129ba065478e1e61f341b3d7830c51 90c2a2f65c09c035735b3c6c60c876726f44302d M src
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment