From 99453ac506372fdd201117f4db2da7890a75923e Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 29 Mar 2013 08:09:57 -0600 Subject: [PATCH] ffi/unsafe/objc: weaken cache of method-invoke functions A non-weak table meant that on Cocoa, every key press leaked a foreign-funciton stub. --- collects/ffi/unsafe/objc.rkt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/collects/ffi/unsafe/objc.rkt b/collects/ffi/unsafe/objc.rkt index 9ab73e283f..d89050d133 100644 --- a/collects/ffi/unsafe/objc.rkt +++ b/collects/ffi/unsafe/objc.rkt @@ -307,12 +307,12 @@ (as-atomic (hash-set! msgSends types m)) m))))) -(define msgSends (make-hash)) +(define msgSends (make-weak-hash)) (define (objc_msgSend/typed types) (lookup-send types msgSends objc_msgSend objc_msgSend_fpret objc_msgSend_stret _id)) (provide objc_msgSend/typed) -(define msgSendSupers (make-hash)) +(define msgSendSupers (make-weak-hash)) (define (objc_msgSendSuper/typed types) (lookup-send types msgSendSupers objc_msgSendSuper objc_msgSendSuper_fpret objc_msgSendSuper_stret _pointer)) (provide objc_msgSendSuper/typed)