Mercurial > pub > dyncall > dyncall
comparison dyncallback/dyncall_args_arm32_arm.c @ 45:e5cdf4b4d813
- armhf callback fix for calls with >= 64byte of floating point params where d7 is filled before all args are pushed
author | cslag |
---|---|
date | Sat, 19 Dec 2015 23:24:35 +0100 |
parents | f01895437921 |
children | c4de113dc1e9 |
comparison
equal
deleted
inserted
replaced
44:b8f16ad80e34 | 45:e5cdf4b4d813 |
---|---|
92 /* freg_count is either odd (pointing to a gap), or always the same as dreg_count */ | 92 /* freg_count is either odd (pointing to a gap), or always the same as dreg_count */ |
93 if(!(args->freg_count & 1)) | 93 if(!(args->freg_count & 1)) |
94 args->freg_count = args->dreg_count; | 94 args->freg_count = args->dreg_count; |
95 return d.d; | 95 return d.d; |
96 } | 96 } |
97 args->freg_count = 16; /* float registers all filled up - stop filling gaps for single precision, also */ | |
97 #endif | 98 #endif |
98 arm_align_64(args); | 99 arm_align_64(args); |
99 d.l[0] = *(DClong*)arm_word(args); | 100 d.l[0] = *(DClong*)arm_word(args); |
100 d.l[1] = *(DClong*)arm_word(args); | 101 d.l[1] = *(DClong*)arm_word(args); |
101 return d.d; | 102 return d.d; |