On Wed, Oct 10, 2012 at 2:52 AM, Eugene Burmako <
eugene....@epfl.ch> wrote:
> As discussed in JIRA, this is a regression since M7
Sorry, by "old" I meant the stack trace. If it's a regression then
that's good news because it makes it easy to pinpoint. Man, this
thing is a godsend.
You can just revert the bad commit if you want - it is only for performance.
% scala-bisector v2.10.0-M7 2.10.0-wip $(pwd)/a.scala
Logs in /var/folders/1w/zm_1vksn3y7gn127bkwt841w0000gn/T/scala-bisect.p5F1w0qy
Bisecting: 267 revisions left to test after this (roughly 8 steps)
[9bcb335b8a08edb5cd88408e3f5be3fee6a7ca88] Merge pull request #1318
from odersky/ticket/6336
reconstructed args: -d
/var/folders/1w/zm_1vksn3y7gn127bkwt841w0000gn/T/scala-bisect.p5F1w0qy/out
[9bcb335b8a] bad
Bisecting: 132 revisions left to test after this (roughly 7 steps)
[ab5a9bbfb1e89764dacf6b5ea357a54ea4bb0479] Merge pull request #1266
from scalamacros/topic/removes-isconcrete
[ab5a9bbfb1] good
Bisecting: 66 revisions left to test after this (roughly 6 steps)
[5f674e44c5d3dccb55ce080c60d92b8e412d03ac] Rescued TreeBuilder from the parser.
[5f674e44c5] good
Bisecting: 32 revisions left to test after this (roughly 5 steps)
[83c1b1062957e50e5336c1b3409e54e0a5cce275] Merge pull request #1303
from paulp/210-relative-names
reconstructed args: -d
/var/folders/1w/zm_1vksn3y7gn127bkwt841w0000gn/T/scala-bisect.p5F1w0qy/out
[83c1b10629] bad
Bisecting: 16 revisions left to test after this (roughly 4 steps)
[f4a722d20547a5b4ffe47405d122b34b586c17c3] SI-6310 AbsTypeTag => WeakTypeTag
reconstructed args: -d
/var/folders/1w/zm_1vksn3y7gn127bkwt841w0000gn/T/scala-bisect.p5F1w0qy/out
[f4a722d205] bad
Bisecting: 8 revisions left to test after this (roughly 3 steps)
[76d4e9a8071f9e102106696664376b7f70622582] Merge pull request #1293
from jsuereth/fix/binary-push
reconstructed args: -d
/var/folders/1w/zm_1vksn3y7gn127bkwt841w0000gn/T/scala-bisect.p5F1w0qy/out
[76d4e9a807] bad
Bisecting: 3 revisions left to test after this (roughly 2 steps)
[20f701bf504530cb12e9d24e2dd66fa42244664d] Merge pull request #1296
from paulp/210-errors-and-trees
[20f701bf50] good
Bisecting: 1 revision left to test after this (roughly 1 step)
[33ba866fd22a4a5542ae5e4dae8de8bf8d8ab2aa] Merge pull request #1294
from paulp/issue/6367
reconstructed args: -d
/var/folders/1w/zm_1vksn3y7gn127bkwt841w0000gn/T/scala-bisect.p5F1w0qy/out
[33ba866fd2] bad
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[6fbb4ac42a3fa00689a6c3bbde2be273b7c36b2d] Fix for SI-6367,
exponential time in inference.
reconstructed args: -d
/var/folders/1w/zm_1vksn3y7gn127bkwt841w0000gn/T/scala-bisect.p5F1w0qy/out
[6fbb4ac42a] bad
Bisecting: a merge base must be tested
[7e1f10d228c1f0c47db4f2136dda4b5690f43445] Merge pull request #1288
from jsuereth/fix/SI-6268
[7e1f10d228] good
6fbb4ac42a3fa00689a6c3bbde2be273b7c36b2d is the first bad commit
commit 6fbb4ac42a3fa00689a6c3bbde2be273b7c36b2d
Author: Paul Phillips <
pa...@improving.org>
Date: Wed Sep 12 12:02:07 2012 -0700
Fix for SI-6367, exponential time in inference.
This pathology is not new - it can be witnessed in 2.9,
where compiling the test case enclosed with this ticket with
-Yinfer-debug will print a line with (pinky to lips) one million
type parameters. 1048576 actually, aka 2^20. But in 2.9 we were
somehow getting away with creating the list, presumably by not
spending much time looking at it. Somewhere between there and M1,
that changed.
I cut it off at the knees - don't create a list of one million
upper bound constraints when 1 will suffice. It would not be too
surprising if this proves to be a boon for performance.
:040000 040000 3df6f440a0518a6d3c4a8d1a3a2ca3e94570380d
d42041e590976bf5ff39d4d759316bf21c5b0283 M src
:040000 040000 cc965e355e131ce403c92ddc4a625d50a18abced
e9b951f4ad634447cc3738cc5aa536c0169b951b M test