ObjFW  History of src/invocation/invoke-x86_64.m of 5358e9ea6ac164a89342237f61d888490912b7907c339a33967c7fcc3f4306a3

History of file src/invocation/invoke-x86_64.m at check-in 5358e9ea6ac164a89342237f61d888490912b7907c339a33967c7fcc3f4306a3

2022-07-15
18:09
Deleted: Merge trunk into branch "wii-u" check-in: [a2973418de] user: js, branch: wii-u, size: 0
2021-04-30
22:26
Merge trunk into branch "invoke-invocation" file: [f56f3831ec] check-in: [efca87b509] user: js, branch: invoke-invocation, size: 11074 [annotate] [blame] [check-ins using] [diff]
2021-04-07
21:29
Deleted: Remove incomplete -[OFInvocation invoke] support

It has been moved to the "invoke-invocation" branch until it is ready. check-in: [c71d3d9433] user: js, branch: trunk, size: 0

2021-01-02
22:04
Update copyright file: [e0c747a83e] check-in: [374e1a1bfa] user: js, branch: trunk, size: 11131 [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
Update copyright file: [ab1dc9bdb2] check-in: [c7f0229795] user: js, branch: trunk, size: 11220 [annotate] [blame] [check-ins using] [diff]
2019-09-29
15:25
Deleted: Remove incomplete -[OFInvocation invoke] support check-in: [fc521f01cc] user: js, branch: 1.0, size: 0
2019-03-08
00:35
Use dot syntax file: [5df8286fd6] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 11217 [annotate] [blame] [check-ins using] [diff]
2019-02-18
01:37
invocation: Make all offsets constants

This makes the assembly much more readable.

No difference between disassembled .o file before and after. file: [47d3793287] check-in: [780d096371] user: js, branch: trunk, size: 11223 [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
Update copyright file: [9312a70bd8] check-in: [0509d7a844] user: js, branch: trunk, size: 11301 [annotate] [blame] [check-ins using] [diff]
2018-11-26
22:08
invocation: Add a shared header for some defines file: [85bd746449] check-in: [f133454532] user: js, branch: trunk, size: 11295 [annotate] [blame] [check-ins using] [diff]
22:04
OFInvocation: Fix void return file: [d401c0dd7a] check-in: [7c1614461e] user: js, branch: trunk, size: 11406 [annotate] [blame] [check-ins using] [diff]
2018-02-11
14:53
Remove useless #ifndef __STDC_NO_COMPLEX__ file: [6c3222c447] check-in: [869f4db107] user: js, branch: trunk, size: 11373 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [68cef0f39f] check-in: [7e5c81e186] user: js, branch: trunk, size: 11478 [annotate] [blame] [check-ins using] [diff]
2017-10-15
23:05
Two minor cleanups - no functional change file: [4cabeb7ba5] check-in: [4465a415f1] user: js, branch: trunk, size: 11455 [annotate] [blame] [check-ins using] [diff]
2017-09-21
21:45
invoke-x86_64.m: Fix passing of floats file: [3e46ff1eb1] check-in: [af2a5c852b] user: js, branch: trunk, size: 11453 [annotate] [blame] [check-ins using] [diff]
20:25
invoke-x86_64.m: Minor code style change file: [f312bfc975] check-in: [645b4a9e1d] user: js, branch: trunk, size: 11448 [annotate] [blame] [check-ins using] [diff]
2017-09-17
10:48
invoke-x86_64.m: Support complex long double file: [036198eaf0] check-in: [4628f6bbff] user: js, branch: trunk, size: 11370 [annotate] [blame] [check-ins using] [diff]
03:18
invoke-x86_64.m: Support complex {float,double} file: [567ef57186] check-in: [b35074d74a] user: js, branch: trunk, size: 10499 [annotate] [blame] [check-ins using] [diff]
02:20
invoke-x86_64.m: Change __int128 handling

When using GCC (and thus conforming to the ABI), do not pass the low
half of an __int128 in a register while passing the high of an __int128
on the stack.

For Clang, just handle it as two longs. file: [2253358a2d] check-in: [15eed89995] user: js, branch: trunk, size: 8224 [annotate] [blame] [check-ins using] [diff]

2017-09-16
20:20
invoke-x86_64.m: Correctly align __int128 for GCC

GCC correctly aligns __int128 with 16 bytes on the stack, like specified
in the ABI, while Clang does not.

Unfortunately, this means that GCC and Clang have a different ABI and
thus are incompatible as soon as code uses __int128. file: [1d2004b374] check-in: [c14dfdc8e5] user: js, branch: trunk, size: 7963 [annotate] [blame] [check-ins using] [diff]

20:05
invoke-x86_64.m: Fix compilation with GCC file: [03bcbc3b9d] check-in: [2379608969] user: js, branch: trunk, size: 7146 [annotate] [blame] [check-ins using] [diff]
2017-09-15
00:03
invoke-x86_64.m: Add support for __int128 file: [75aba7c79f] check-in: [1b96a21136] user: js, branch: trunk, size: 7129 [annotate] [blame] [check-ins using] [diff]
2017-09-14
21:51
apple-call-x86_64.S: Add support for stret and jmp

Jumping is useful in case of forwarding, so that the return value does
not need to be put back into an OFInvocation and then from an
OFInvocation back into registers. file: [8ed55a5c76] check-in: [d6e5e6beb3] user: js, branch: trunk, size: 6904 [annotate] [blame] [check-ins using] [diff]

2017-09-12
23:49
invoke-x86_64.m: Minor refactor

This makes it easier to add more complex types. file: [7689390f4e] check-in: [8417c40405] user: js, branch: trunk, size: 6862 [annotate] [blame] [check-ins using] [diff]

2017-09-11
20:32
invoke-x86_64.m: Support for long double file: [4f0bfb5114] check-in: [d0878b2eae] user: js, branch: trunk, size: 7014 [annotate] [blame] [check-ins using] [diff]
15:37
invoke-x86_64.m: Support passing args via stack file: [38c3b949a2] check-in: [0bf9fafd47] user: js, branch: trunk, size: 5616 [annotate] [blame] [check-ins using] [diff]
11:44
invoke-x86_64: Set %al to number of SSE regs used file: [abe678c9cf] check-in: [bbeb71e81d] user: js, branch: trunk, size: 4521 [annotate] [blame] [check-ins using] [diff]
02:05
Added: OFInvocation: Initial support for invoking

So far this is only for x86_64 with the Apple runtime and does not yet
support all types. It also does not yet support passing arguments via
the stack. file: [ed5f594770] check-in: [95797a4d1c] user: js, branch: trunk, size: 4427 [annotate] [blame] [check-ins using]