-
Russ Cox authored
These all used a C implementation that contained 64-bit divide by 1000000000. On 32-bit systems that ends up in the 64-bit C divide support, which makes other calls and ends up using a fair amount of stack. We could convert them to Go but then they'd still end up in software 64-bit divide code. That would be okay, because Go code can split the stack, but it's still unnecessary. Write time·now in assembly, just like on all the other systems, and use the actual hardware support for 64/32 -> 64/32 division. This cuts the software routines out entirely. The actual code to do the division is copied and pasted from the sys_darwin_*.s files. LGTM=alex.brainman R=golang-codereviews, alex.brainman CC=aram, golang-codereviews, iant, khr, r https://golang.org/cl/136300043
13d0b82b