The name's wrong, its semantics don't match those of the nearest ES5-alike method Object.freeze, and its "deep" argument (to seal entire object graphs) is prone to runaway (the handling of which should be a user-chosen policy, not one imposed from on high by the JSAPI). This depends on bug 492849 landing first, to add JS_FreezeObject as an ES5-approved alternative. I won't be able to fix this bug unless we're fine sitting on this bug for a couple weeks, due to a vacation without computer or net access.
I've renamed this JS_DeepFreezeObject, and removed the 'deep' argument, making the function always recurse; this is consistent with JS_FreezeObject, which is in turn consistent with ES5.
Fixed long ago, removal documented in release notes and on the JS_SealObject page itself: https://developer.mozilla.org/en/SpiderMonkey/1.8.5 https://developer.mozilla.org/en/SpiderMonkey/JSAPI_Reference/JS_SealObject