save r4 to stack at entry and restore at exit
updated