2c5c784255
amd64 passes first argument in RARG (BP) register which has the be preserved duing _profin() and _profout() calls. to handle this we introduce _saveret() and _savearg(). _saveret() returns AX, _savearg() returns RARG (BP). for archs other and amd64, _saveret() and _savearg() are the same function, doing nothing. restoing works with dummy function: uintptr _restore(uintptr, uintptr ret) { return ret; } ... ret = _saveret(); arg = _savearg(); ... return _restore(arg, ret); as we pass arg as the first argument, RARG (BP) is restored. |
||
---|---|---|
.. | ||
_seek.c | ||
cycles.s | ||
lock.c | ||
main9.s | ||
main9p.s | ||
mkfile | ||
notetramp.c | ||
setjmp.s | ||
strchr.s | ||
strlen.s | ||
tas.s |