Re: [racket-users] 6.2 regression in running tests?

2015-07-20 Thread Gustavo Massaccesi
Sorry for the delay. It has been a very interesting week in the low level implementation of Racket. A few days ago, Matthew fixed the bug and enabled the new expander, and then he fixed most of the problems that appear with the changes. So now looks like a good time to retry all the tests and see i

Re: [racket-users] 6.2 regression in running tests?

2015-07-16 Thread Matthew Flatt
At Wed, 15 Jul 2015 22:48:26 -0300, Gustavo Massaccesi wrote: > But perhaps the problem is in the code that tracks the single_use > value. After 'dup' is applied, 'rep' is not long a singled used > function. Yes, I think that's the problem. I thunk I have a repair to update single-use tracking app

Re: [racket-users] 6.2 regression in running tests?

2015-07-15 Thread Gustavo Massaccesi
Update: No so good news, my idea of yesterday was slightly wrong. I think it causes no errors, but it makes the compiler pessimistic and it avoid some optimizations. I found another fix, but I want to test it more before submitting the patch. More details: In some cases, the optimizer reoptimize

Re: [racket-users] 6.2 regression in running tests?

2015-07-15 Thread Ryan Davis
> On Jul 14, 2015, at 20:19, Gustavo Massaccesi wrote: > > Replacing the line 1758 of optimize.c > > - if ((info->inline_fuel < 0) && info->has_nonleaf && !noapp) > + if ((info->inline_fuel <= 0) && info->has_nonleaf && !noapp) > > make the problem disappear, but I still don't understand why

Re: [racket-users] 6.2 regression in running tests?

2015-07-14 Thread Gustavo Massaccesi
Replacing the line 1758 of optimize.c - if ((info->inline_fuel < 0) && info->has_nonleaf && !noapp) + if ((info->inline_fuel <= 0) && info->has_nonleaf && !noapp) make the problem disappear, but I still don't understand why "(dup rep)" is the only combination that creates a problem. I also wan

Re: [racket-users] 6.2 regression in running tests?

2015-07-14 Thread Gustavo Massaccesi
I reduced it a little, it's a variation of the old ((lambda (x) (x x)) (lambda (x) (x x))) but there must be a problem in the inlining fuel. In my example, the ´dup´ definition is not necessary, but it makes it more clear. It can be copied by hand to the application point. I wrapped the example

Re: [racket-users] 6.2 regression in running tests?

2015-07-14 Thread Sam Tobin-Hochstadt
This appears to be a bug in the inliner, which appears in HEAD as well. This program is sufficient to reproduce: #lang racket (define (Y3 outer) (define ((call f) x) ((f f) x)) ((lambda (f) (f f)) call)) I wasn't able to make this any smaller -- in particular, the `outer` parameter is n

[racket-users] 6.2 regression in running tests?

2015-07-14 Thread Ryan Davis
I'm tired and not thinking straight, but we just finished running the schemer gauntlet and I decided to dip my toes into the 6.2 release. I can't get it to run my tests and I need external validation that it's not me doing something stupid. git clone https://github.com/searbsg/little-schemer