Re: [Factor-talk] Disassembly

2018-01-19 Thread Björn Lindqvist
Hi Alex, In this case, the new optimizer actually is strictly better. Mostly because it uses shorter instruction encodings. For example, it uses inc rbx whereas old factor used add rbx, 1. But the old factor had a compiler pass called "height normalization" which in some situations made it emit su

Re: [Factor-talk] Disassembly

2018-01-17 Thread Alexander Ilin
Hello, Björn! Thanks for the explanation! I've already lost hope of seeing a reply to that, but you appeared out of nowhere and saved the day. Thank you! Are you saying there was a different (better?) optimizer in the previous Factor releases? What happened to it? 17.01.2018, 22:25, "Björn Lindqvis

Re: [Factor-talk] Disassembly

2018-01-17 Thread Björn Lindqvist
The mov [rip-0x117cfdf], eax instruction is indeed peculiar. It actually is polling a safe point. When ctrl-c is pressed, the running thread is ordered to stop as quickly as possible. It can't just halt anywhere but must continue to execute until it comes to a point where it is safe to halt -- a sa

[Factor-talk] Disassembly

2017-10-12 Thread Alexander Ilin
Hello! I'm trying to make sense of some disassembled code. Could someone help me out here? ``` IN: scratchpad [ 256 [ drop ] each ] disassemble 001a8dbcdfc0: 89053a30e8fe mov [rip-0x117cfc6], eax ! What's this? 001a8dbcdfc6: b80001mov eax, 0x100 001a8dbcdfcb