-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect results with uint32
types after +> was made to handle large ints
#6245
Comments
From @zoffixznetBefore ef29bb9f41aa5d[^1], the +> op special cased large shifts and large numbers. Now that special-casing was removed, I couldn't repro it with *just* the `+>` op, but only in this combination: <Zoffix_> c: ef29bb9f41aa5d sub rotr(uint32 $n, uint32 $b) { $n +> $b +| $n +< (32 - $b) }; say rotr 1652322944, 18; my $x; for ^1000 { $x = rotr 1652322944, 18 }; say $x |
From @zoffixznetWorth noting Rakudo change wasn't the only change. The actual fix was in MoarVM: |
From @zoffixznetSeems <+ is actually (or also) affected |
From @zoffixznetMore detective work (for a couple of screens): https://irclog.perlgeek.de/moarvm/2017-05-19#i_14608978 |
From @zoffixznetOn Sat, 13 May 2017 07:26:05 -0700, cpan@zoffix.com wrote:
I added a temporary workaround[^1] as well as tests[^2] to cover this bug. The issue still needs proper addressing as the workaround merely prevents inlining of +< and +> ops |
From @zoffixznetjnthn │ A while back I think we had to comment out (or similar) some native candidates because of a spesh bug. There's a chance it was what I just fixed in MoarVM/MoarVM@3f33a8419b |
From @zoffixznetIssue appears to have been fixed. Kludge removed in rakudo/rakudo@d9f51da |
@zoffixznet - Status changed from 'new' to 'resolved' |
Migrated from rt.perl.org#131306 (status was 'resolved')
Searchable as RT131306$
The text was updated successfully, but these errors were encountered: