From 90c534a8213a84c78f54d093c429d65b0c80a811 Mon Sep 17 00:00:00 2001 From: der richter Date: Tue, 19 Mar 2024 19:56:10 +0100 Subject: mac/option: optimise option pointer access --- osdep/mac/option_helper.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'osdep/mac') diff --git a/osdep/mac/option_helper.swift b/osdep/mac/option_helper.swift index c6612d0218..996ec3db45 100644 --- a/osdep/mac/option_helper.swift +++ b/osdep/mac/option_helper.swift @@ -22,9 +22,12 @@ typealias swift_wakeup_cb_fn = (@convention(c) (UnsafeMutableRawPointer?) -> Voi class OptionHelper: NSObject { var vo: UnsafeMutablePointer var optsCachePtr: UnsafeMutablePointer - var optsPtr: UnsafeMutablePointer var macOptsCachePtr: UnsafeMutablePointer + + var optsPtr: UnsafeMutablePointer + { get { return UnsafeMutablePointer(OpaquePointer(optsCachePtr.pointee.opts)) } } var macOptsPtr: UnsafeMutablePointer + { get { return UnsafeMutablePointer(OpaquePointer(macOptsCachePtr.pointee.opts)) } } // these computed properties return a local copy of the struct accessed: // - don't use if you rely on the pointers @@ -42,9 +45,7 @@ class OptionHelper: NSObject { exit(1) } optsCachePtr = cache - optsPtr = UnsafeMutablePointer(OpaquePointer(cache.pointee.opts)) macOptsCachePtr = macCache - macOptsPtr = UnsafeMutablePointer(OpaquePointer(macCache.pointee.opts)) } func nextChangedOption(property: inout UnsafeMutableRawPointer?) -> Bool { -- cgit v1.2.3