xamarin-macios/runtime/trampolines-x86_64.h

48 строки
1.2 KiB
C
Исходник Обычный вид История

2016-04-21 15:19:32 +03:00
#ifndef __TRAMPOLINES_X86_64_H__
#define __TRAMPOLINES_X86_64_H__
#ifdef __cplusplus
extern "C" {
#endif
[runtime] Rename CallState to XamarinCallState to keep the public namespace cleaner. (#5940) Also ignore the corresponding public symbols in the PublicSymbols test. This was introduced in 464882d14a83a13f9fd6a3d9df2ca4d844933e36 (changes to the CallState struct made the compiler create public symbols). Fixes these test failures: 1) Failed : Xamarin.Tests.Misc.PublicSymbols(iOS) Failed libraries Expected: <empty> But was: "/work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphoneos.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv " at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196 2) Failed : Xamarin.Tests.Misc.PublicSymbols(tvOS) Failed libraries Expected: <empty> But was: "/work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.AppleTVOS.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.AppleTVSimulator.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv " at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196 3) Failed : Xamarin.Tests.Misc.PublicSymbols(watchOS) Failed libraries Expected: <empty> But was: "/work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchOS.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv " at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196 4) Failed : Xamarin.Tests.Misc.PublicSymbols(macOSMobile) Failed libraries Expected: <empty> But was: "/work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac-system-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac-system.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv " at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196
2019-04-23 18:53:35 +03:00
struct XamarinCallState {
2016-04-21 15:19:32 +03:00
uint64_t type;
uint64_t rdi; // 1st argument
uint64_t rsi; // 2nd argument
2016-04-21 15:19:32 +03:00
uint64_t rdx; // 3rd argument
uint64_t rcx; // 4th argument
uint64_t r8; // 5th argument
uint64_t r9; // 6th argument
uint64_t rbp;
uint64_t rax;
uint64_t rdx_out; // use this field as a temporary rdx field to store output. It makes the marshalling code a bit easier to have this field just after the rax field (so we can treat rax+rdx as a continuous block of 32 bytes of memory)
2016-04-21 15:19:32 +03:00
long double xmm0;
long double xmm1;
long double xmm2;
long double xmm3;
long double xmm4;
long double xmm5;
long double xmm6;
long double xmm7;
bool is_stret () { return (type & Tramp_Stret) == Tramp_Stret; }
id self () { return is_stret () ? (id) rsi : (id) rdi; }
SEL sel () { return is_stret () ? (SEL) rdx : (SEL) rsi; }
2016-04-21 15:19:32 +03:00
};
struct ParamIterator {
[runtime] Rename CallState to XamarinCallState to keep the public namespace cleaner. (#5940) Also ignore the corresponding public symbols in the PublicSymbols test. This was introduced in 464882d14a83a13f9fd6a3d9df2ca4d844933e36 (changes to the CallState struct made the compiler create public symbols). Fixes these test failures: 1) Failed : Xamarin.Tests.Misc.PublicSymbols(iOS) Failed libraries Expected: <empty> But was: "/work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphoneos.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv " at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196 2) Failed : Xamarin.Tests.Misc.PublicSymbols(tvOS) Failed libraries Expected: <empty> But was: "/work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.AppleTVOS.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.AppleTVSimulator.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv " at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196 3) Failed : Xamarin.Tests.Misc.PublicSymbols(watchOS) Failed libraries Expected: <empty> But was: "/work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchOS.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv " at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196 4) Failed : Xamarin.Tests.Misc.PublicSymbols(macOSMobile) Failed libraries Expected: <empty> But was: "/work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac-system-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac-system.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv " at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196
2019-04-23 18:53:35 +03:00
struct XamarinCallState *state;
2016-04-21 15:19:32 +03:00
int byte_count;
int float_count;
uint8_t *stack_next;
};
[runtime] Rename CallState to XamarinCallState to keep the public namespace cleaner. (#5940) Also ignore the corresponding public symbols in the PublicSymbols test. This was introduced in 464882d14a83a13f9fd6a3d9df2ca4d844933e36 (changes to the CallState struct made the compiler create public symbols). Fixes these test failures: 1) Failed : Xamarin.Tests.Misc.PublicSymbols(iOS) Failed libraries Expected: <empty> But was: "/work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphoneos.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv " at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196 2) Failed : Xamarin.Tests.Misc.PublicSymbols(tvOS) Failed libraries Expected: <empty> But was: "/work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.AppleTVOS.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.AppleTVSimulator.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv " at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196 3) Failed : Xamarin.Tests.Misc.PublicSymbols(watchOS) Failed libraries Expected: <empty> But was: "/work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchOS.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv " at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196 4) Failed : Xamarin.Tests.Misc.PublicSymbols(macOSMobile) Failed libraries Expected: <empty> But was: "/work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac-system-debug.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac-system.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv /work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac.a: __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv __ZN9CallState3selEv __ZN9CallState4selfEv __ZN9CallState8is_stretEv " at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196
2019-04-23 18:53:35 +03:00
void xamarin_arch_trampoline (struct XamarinCallState *state);
2016-04-21 15:19:32 +03:00
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __TRAMPOLINES_X86_64_H__ */