On Sat, 12 Jan 2019 21:33:53 -0800 Jeremy Evans <jer...@openbsd.org> wrote:
> I think was able to fix both JIT issues. Your new tarball from Sun, 13 Jan, fixes the JIT problems on my powerpc machine. "MJIT: CC defaults to /usr/bin/cc" Old result, broken JIT: Finished tests in 6145.605596s, 3.2864 tests/s, 371.8192 assertions/s. 20197 tests, 2285054 assertions, 64 failures, 16 errors, 112 skips New result, fixed JIT: Finished tests in 6827.563384s, 2.9582 tests/s, 334.5004 assertions/s. 20197 tests, 2283823 assertions, 14 failures, 15 errors, 111 skips (I failed to clean my old ruby26 binary and the TEST_DEPENDS reinstalled the old one. The JIT tests passed, so they must have been testing the new binary, not the old one.) I saw 2 failures that weren't DES crypt or SSL: 8) Failure: Fiddle::TestImport#test_gettimeofday [/usr/ports/pobj/ruby-2.6.0/ruby-2.6.0/test /fiddle/test_import.rb:126]: Failed assertion, no message given. I looked at test/fiddle/test_import.rb and it declares Timeval with "long tv_sec", which has the correct 64 bits on amd64 and the wrong 32 bits on powerpc. I typically run the tests on amd64, so I didn't see this failure until now. The test is wrong so we can ignore it. 12) Failure: TestEnumerable#test_sum [/usr/ports/pobj/ruby-2.6.0/ruby-2.6.0/test/ruby/test_en um.rb:1065]: <Infinity> expected but was <NaN>. test/ruby/test_enum.rb does `k.new(+Float::INFINITY, 0.0).sum` where k#each yields Float::INFINITY then 0.0. I can reproduce the wrong NaN in both irb25 and irb26 on powerpc: irb(main):045:0> Enumerator.new{|y| y << Float::INFINITY << 0.0}.sum => NaN irb(main):046:0> Enumerator.new{|y| y << Float::INFINITY << 0.0}.reduce(:+) => Infinity irb(main):047:0> Enumerator.new{|y| y << Float::INFINITY << 0.0}.to_a.sum => Infinity Trying the same 3 lines on amd64: irb25 gives NaN, Infinity, NaN; irb from ruby 2.7.0dev (2019-01-13 trunk 66808) gives the correct Infinity, Infinity, Infinity. Therefore, Enumerable#sum has some Float problem on powerpc, but Ruby 2.6 isn't worse than 2.5. -- George Koehler <kern...@gmail.com>