diff --git a/Sources/JavaScriptKit/FundamentalObjects/JSClosure.swift b/Sources/JavaScriptKit/FundamentalObjects/JSClosure.swift index c19f3ba8b..ea15c6d28 100644 --- a/Sources/JavaScriptKit/FundamentalObjects/JSClosure.swift +++ b/Sources/JavaScriptKit/FundamentalObjects/JSClosure.swift @@ -20,7 +20,7 @@ public class JSOneshotClosure: JSObject, JSClosureProtocol { super.init(id: 0) // 2. Create a new JavaScript function which calls the given Swift function. - hostFuncRef = JavaScriptHostFuncRef(bitPattern: Int32(ObjectIdentifier(self).hashValue)) + hostFuncRef = JavaScriptHostFuncRef(bitPattern: ObjectIdentifier(self)) id = withExtendedLifetime(JSString(file)) { file in _create_function(hostFuncRef, line, file.asInternalJSRef()) } @@ -86,7 +86,7 @@ public class JSClosure: JSObject, JSClosureProtocol { super.init(id: 0) // 2. Create a new JavaScript function which calls the given Swift function. - hostFuncRef = JavaScriptHostFuncRef(bitPattern: Int32(ObjectIdentifier(self).hashValue)) + hostFuncRef = JavaScriptHostFuncRef(bitPattern: ObjectIdentifier(self)) id = withExtendedLifetime(JSString(file)) { file in _create_function(hostFuncRef, line, file.asInternalJSRef()) } diff --git a/Sources/_CJavaScriptKit/include/_CJavaScriptKit.h b/Sources/_CJavaScriptKit/include/_CJavaScriptKit.h index 3bac436f4..b60007ed0 100644 --- a/Sources/_CJavaScriptKit/include/_CJavaScriptKit.h +++ b/Sources/_CJavaScriptKit/include/_CJavaScriptKit.h @@ -10,7 +10,7 @@ typedef unsigned int JavaScriptObjectRef; /// `JavaScriptHostFuncRef` represents Swift closure that is referenced by JavaScript side. /// This value is produced by `JSClosure`. -typedef unsigned int JavaScriptHostFuncRef; +typedef uintptr_t JavaScriptHostFuncRef; /// `JavaScriptValueKind` represents the kind of JavaScript primitive value. typedef enum __attribute__((enum_extensibility(closed))) {