Mercurial > pub > dyncall > dyncall
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 */ |