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
CArray[num64] numiness optimised away #4324
Comments
From @jonathanstoweHi, Wrong kind of access to numeric CArray In this case it always appears after the 57th item and only when the array is in the third generation as here, it does not appear with MVM_SPESH_DISABLE=1 which lrads me to believe it is something the optimiser is doing. I think nine did a simple bisect and located it to a few weeks ago. use v6; use NativeCall; my @buff := CArray[num64].new; my @in = (^100).map({Num($_)}); for ^100 -> $i { my @in2; for ^100 -> $i { my @buff2 := CArray[num64].new; for ^100 -> $i { |
From @jonathanstoweI might add this one isn't speculative code, I'm actually using it in https://github.com/jonathanstowe/Audio-Sndfile - I've TODO'd the affected tests for the time being :) On Sun Jun 14 14:36:08 2015, jns+bc@gellyfish.co.uk wrote:
|
From @jonathanstoweHi, I'll try and work up a new failing example. |
@jonathanstowe - Status changed from 'new' to 'open' |
From @jonathanstoweA further data point, in the actual code this always fails on attempt to set the first element in a new CArray of type num32/num64. The actual code does exactly what the example does, *except* that the initial CArray has been populated by a native function. Still struggling to replicate outside the module. If you want to see it's https://github.com/jonathanstowe/Audio-Sndfile |
From @jonathanstoweRight, managed to get something closer to what the actual code is doing, I hadn't noticed that the tests were all passing first time round the loop. use NativeCall; class Foo is repr("CStruct") { for ^10 { |
From @jonathanstoweAdded the output of running the above with MVM_SPESH_LOG=broken_carray_access.txt (gzipped) |
From @jonathanstoweThe latter example now seems to work fine at: This is perl6 version 2015.06-226-g01a60df built on MoarVM version 2015.06-88-g647df11 Also all the tests in Audio::Sndfile which I had TODO'd as a result of this appear to be working fine now (as do the raft of failing tests in the not yet finished Audio::Encode::LameMP3 which is doing similar things.) Not quite ready to close this until someone can identify what actually changed to fix it. |
From @jonathanstowerakudo/rakudo#471 provides a test for this. |
From @jonathanstoweCanary test in for this, it passes. All good |
@jonathanstowe - Status changed from 'open' to 'resolved' |
From @cokeOn Thu Jul 16 07:58:54 2015, jns+bc@gellyfish.co.uk wrote:
This test is failing on OS X, reopening ticket. This is perl6 version 2015.07.1-52-ga38b59c built on MoarVM version 2015.07-8-gb8fdeae -- |
@coke - Status changed from 'resolved' to 'open' |
From @jonathanstoweThis has come back again on Linux too with This is perl6 version 2015.07.1-88-gaf75bd7 built on MoarVM version 2015.07-8-gb8fdeae |
1 similar comment
From @jonathanstoweThis has come back again on Linux too with This is perl6 version 2015.07.1-88-gaf75bd7 built on MoarVM version 2015.07-8-gb8fdeae |
From paul@liekut.deOn Tue Aug 11 00:26:52 2015, jns+bc@gellyfish.co.uk wrote:
This also turns up on Linux (Debian/jessie amd64) with: This is perl6 version 2015.07.1-164-ga7c845c built on MoarVM version 2015.07-68-g3240047. After setting MVM_SPESH_DISABLE=1, the test passes again. |
From @nwc10On Thu Aug 27 01:47:46 2015, pcoch wrote:
Bisecting reveals this commit to be the culprit: commit 56ae33ea0a5ac3d54a5fef2aa15eab34f9e9594b Re-implement &?ROUTINE. src/Perl6/Actions.nqp | 54 +++++++++++++++++++++++++++++++-------------------- No, it's not obvious why. |
From @FROGGSFixed by jnthn++ with commit: |
@FROGGS - Status changed from 'open' to 'resolved' |
From @cokeOn Thu Sep 17 13:37:30 2015, FROGGS.de wrote:
This test file is failing on JVM on my box. reopening. -- |
@coke - Status changed from 'resolved' to 'open' |
From jns@gellyfish.co.ukGood thing I didn't take the related TODO tests in my modules out :) On Fri, 2015-10-23 at 11:56 -0700, Will Coleda via RT wrote:
|
Migrated from rt.perl.org#125408 (status was 'open')
Searchable as RT125408$
The text was updated successfully, but these errors were encountered: