Richard Henderson
b55e03665d
aarch64: Treat void return as not passed in registers
...
This lets us do less post-processing when there's no return value.
2014-11-12 09:28:44 +01:00
Richard Henderson
95a04af134
aarch64: Reduce the size of register_context
...
We don't need to store 32 general and vector registers.
Only 8 of each are used for parameter passing.
2014-11-12 09:28:44 +01:00
Richard Henderson
77c4cddca6
aarch64: Simplify AARCH64_STACK_ALIGN
...
The iOS abi doesn't require padding between arguments, but
that's not what AARCH64_STACK_ALIGN meant. The hardware will
in fact trap if the SP register is not 16 byte aligned.
2014-11-12 09:28:44 +01:00
Richard Henderson
b5f147d847
aarch64: Always distinguish LONGDOUBLE
...
Avoid if-deffery by forcing FFI_TYPE_LONGDOUBLE different
from FFI_TYPE_DOUBLE. This will simply be unused on hosts
that define them identically.
2014-11-12 09:28:44 +01:00
Richard Henderson
38b54b9c18
aarch64: Improve is_hfa
...
The set of functions get_homogeneous_type, element_count, and is_hfa
are all intertwined and recompute data. Return a compound quantity
from is_hfa that contains all the data and avoids the recomputation.
2014-11-12 09:28:44 +01:00
Richard Henderson
18b74ce54a
aarch64: Fix non-apple compilation
2014-11-12 09:28:44 +01:00
Anthony Green
862f53de04
Merge pull request #130 from frida/fix/darwin-aarch64-float-alignment
...
Fix alignment of FFI_TYPE_FLOAT for Apple's ARM64 ABI
2014-09-18 19:06:08 -04:00
Ole André Vadla Ravnås
aebf2c3023
Fix alignment of FFI_TYPE_FLOAT for Apple's ARM64 ABI
2014-07-26 00:17:47 +02:00
Ole André Vadla Ravnås
0f4e09d27d
Fix non-variadic CIF initialization for Apple/ARM64
...
Turns out `aarch64_nfixedargs` wasn't initialized in the non-variadic
case, resulting in undefined behavior when allocating arguments.
2014-07-26 00:17:07 +02:00
Ole André Vadla Ravnås
419503f409
Fix handling of variadic calls on Darwin/AArch64
2014-04-06 20:59:25 +02:00
Zachary Waldowski
b4df9cf9cc
AArch64: Fix void fall-through case when assertions are enabled
2014-02-05 14:29:08 -05:00
Zachary Waldowski
f466aad0d9
AArch64: Fix missing semicolons when assertions are enabled
2014-02-05 14:28:59 -05:00
Zachary Waldowski
0a0f12ce1f
AArch64: Remove duplicitous element_count call.
...
This inhibits an analyzer warning by Clang.
2014-02-05 14:28:59 -05:00
Zachary Waldowski
4330fdcd92
Darwin/aarch64: Respect iOS ABI re: stack argument alignment
2014-02-05 14:28:59 -05:00
Zachary Waldowski
0a333d6c39
Darwin/aarch64: Fix size_t assumptions
2014-02-05 14:28:59 -05:00
Zachary Waldowski
2c18e3c76a
Darwin/aarch64: Fix "shadows declaration" warnings
2014-02-05 14:28:58 -05:00
Zachary Waldowski
1b8a8e20e3
Darwin/aarch64: Use Clang cache invalidation builtin
2014-02-05 14:28:58 -05:00
Zachary Waldowski
6030cdcae7
Darwin/aarch64: Account for long double being equal to double
2014-02-05 14:28:58 -05:00
Zachary Waldowski
5bfe62a00d
Darwin/AArch64: Inhibit Clang previous prototype warnings
2014-01-09 13:41:27 -05:00
Anthony Green
3dc3f32c35
Undo iOS ARM64 changes.
2013-12-05 16:23:25 -05:00
Zachary Waldowski
0278284e47
Darwin/aarch64: size_t assumptions
2013-11-30 12:02:18 -05:00
Zachary Waldowski
9775446b64
Darwin/aarch64: Fix “shadows declaration” warnings
2013-11-30 04:17:00 -05:00
Zachary Waldowski
4260badc37
Darwin/aarch64: Use Clang cache invalidation builtin
2013-11-30 04:16:58 -05:00
Zachary Waldowski
9fa7998d5f
Darwin/aarch64: Inhibit Xcode warning
2013-11-30 04:16:56 -05:00
Zachary Waldowski
0e832048a9
Darwin/aarch64: double == long double
2013-11-30 04:16:53 -05:00
Anthony Green
128cd1d2f3
Fix spelling errors
2013-10-08 06:45:51 -04:00
Anthony Green
58e8b66f70
AArch64 port
2012-10-30 07:36:49 -04:00