Skip to content

Commit 662d7bd

Browse files
[WASM] Sync calling convention between C++ and Swift
1 parent cf46e94 commit 662d7bd

File tree

3 files changed

+3
-1
lines changed

3 files changed

+3
-1
lines changed

include/swift/Runtime/HeapObject.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ void swift_slowDealloc(void *ptr, size_t bytes, size_t alignMask);
148148
/// It may also prove worthwhile to have this use a custom CC
149149
/// which preserves a larger set of registers.
150150
SWIFT_RUNTIME_EXPORT
151+
SWIFT_CC(swift)
151152
HeapObject *swift_retain(HeapObject *object);
152153

153154
SWIFT_RUNTIME_EXPORT

include/swift/Runtime/RuntimeFunctions.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ FUNCTION(CopyPOD, swift_copyPOD, C_CC, AlwaysAvailable,
155155
ATTRS(NoUnwind))
156156

157157
// void *swift_retain(void *ptr);
158-
FUNCTION(NativeStrongRetain, swift_retain, C_CC, AlwaysAvailable,
158+
FUNCTION(NativeStrongRetain, swift_retain, SwiftCC, AlwaysAvailable,
159159
RETURNS(RefCountedPtrTy),
160160
ARGS(RefCountedPtrTy),
161161
ATTRS(NoUnwind, FirstParamReturned))

stdlib/public/runtime/HeapObject.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,7 @@ static HeapObject *_swift_retain_(HeapObject *object) {
341341
return object;
342342
}
343343

344+
SWIFT_CC(swift)
344345
HeapObject *swift::swift_retain(HeapObject *object) {
345346
#ifdef SWIFT_STDLIB_SINGLE_THREADED_RUNTIME
346347
return swift_nonatomic_retain(object);

0 commit comments

Comments
 (0)