<larstiq_>
mjacob: did you try seeing if the runs are the same if all of the dict/address randomization is turned off?
itamarst has quit [Quit: Connection closed for inactivity]
nexussfan has quit [Remote host closed the connection]
BarrensZeppelin has joined #pypy
[Arfrever] has quit [Ping timeout: 255 seconds]
[Arfrever] has joined #pypy
itamarst has joined #pypy
jcea has joined #pypy
Dejan has joined #pypy
BarrensZeppelin has quit [Remote host closed the connection]
BarrensZeppelin has joined #pypy
<mjacob>
larstiq_: I ran the translator only on pypy, which has insertion-ordered dicts. The issues with __eq__ being called differently between runs should not affect output in any way, assuming the __eq__ / __hash__ are implemented correctly.
<mjacob>
larstiq_: RevDB sets ADDR_NO_RANDOMIZE (https://man7.org/linux/man-pages/man2/personality.2.html). This alone was not sufficient for two runs to be the same. Together with some fixes, I got the same result from two runs.
BarrensZeppelin has quit [Remote host closed the connection]
<mjacob>
It turns out that pypy even without RevDB with Boehm and without JIT can build PyPy (so far I only tried JIT-less) with some patches reproducibly. So it seems like both incminimark and JIT in the interpreter that runs the translator introduces non-determinsm compared to Boehm without JIT.
jcea has quit [Read error: Connection reset by peer]
jcea1 has joined #pypy
jcea1 is now known as jcea
Dejan has quit [Read error: Connection reset by peer]
Dejan has joined #pypy
BarrensZeppelin has joined #pypy
BarrensZeppelin has quit [Remote host closed the connection]