# $Id$ in common.h, correctly detect NG_VARARGS_AS_REFERENCE for gcc 3 - how do we detect gcc3 ? - add a .jobs like file for mapping selectors to functions instead of special _jsfunc_, _jsprop_ selectors Find out the difference between NGJavaScriptObject and NGJavaScriptObjectHandler => document NGJavaScriptObject - the handler seems to be stored in the JS private field ? NGJavaScriptObjectHandler - is attached to a SpiderMonkey finalizer - the finalizer func gets the handler reference from the JS private - the managedObject should be active there - the finalizer calls forgetObject: on the context - forgetObject: removes the object from the objcToJS hash - objcToJS retains the object - is created in NGJavaScriptObjectMappingContext -proxyForObject: - is created in makeObjectCombined BUG - Note: do not mix up the mapping context and the JS context - we are talking about the NGJavaScriptObjectMappingContext, not about the JS context (which is retained by the mapping context) - sometimes a context is collected earlier than a NGJavaScriptObjectHandler, AFAIK the handler is registered inside the context and therefore can't retain it (otherwise we would have a retain cycle) - so either the context does not invalidate the object handlers - or we have some handler which does not properly unregisters - or something else :-( Result: ---snip--- Reason: message 'forgetObject:' sent to freed object 0x811a4d4 \ (NGJavaScriptObjectMappingContext) ---snap--- - hm, but NGJavaScriptObject retains the context ?