3 ms·
In the first code snippet, they havr add $2, %rax but the function actually adds 1 to its argument.
by gcc_programmer 9y ago
In the first code snippet, they havr
add $2, %rax
but the function actually adds 1 to its argument.
- deleted 9y ago[deleted]
- thelema314 9y agoThis is correct; OCaml integers are tagged with their LSB being 1 to indicate they're not a pointer. This means that the integer n is stored as 2n+1, and adding 1 requires modifying the stored value by 2.