comparison dyncallback/dyncall_callback_mips_n64_gas.s @ 124:6bd0974d257b

- big-endian mips fixes for return values - cleanups
author cslag
date Mon, 04 Jul 2016 16:14:59 +0200
parents f63467916f98
children 1b0c02e827c4
comparison
equal deleted inserted replaced
123:d203ba52c246 124:6bd0974d257b
18 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 18 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 19 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
20 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 20 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
21 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 21 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
22 22
23 @@@ NOT FULLY WORKING, YET
24 */ 23 */
25 24
26 /* input: 25 /* input:
27 $t8 -> thunk 26 $t8 -> thunk
28 $t8+56 -> cb handler 27 $t8+56 -> cb handler
82 ld $25, 56($24) /* store handler entry in $25 ($t9), required for PIC */ 81 ld $25, 56($24) /* store handler entry in $25 ($t9), required for PIC */
83 jalr $25 /* jump */ 82 jalr $25 /* jump */
84 nop /* branch delay nop */ 83 nop /* branch delay nop */
85 84
86 /* Copy result in corresponding registers $2-$3 ($v0-$v1) and $f0 */ 85 /* Copy result in corresponding registers $2-$3 ($v0-$v1) and $f0 */
87 ld $2, 144($sp) 86 ld $2, 144($sp) /* note: ignoring second possible retval in $3, here */
88 /*ld $3, 152($sp) @@@ ignoring second possible retval for now*/
89 l.d $f0, 144($sp) 87 l.d $f0, 144($sp)
90 88
91 /* Epilog. Tear down frame and return. */ 89 /* Epilog. Tear down frame and return. */
92 ld $ra, 152($sp) /* restore return address */ 90 ld $ra, 152($sp) /* restore return address */
93 addiu $sp, $sp, 160 /* close frame */ 91 addiu $sp, $sp, 160 /* close frame */