Garbage Collector Interaction
n Root all objects
JS_AddRoot(cx, &obj); // JSObject *obj
JS_AddRoot(cx, &str); // JSString *str;
n Memory allocation
JS_malloc(cx, bytes), JS_realloc(cx, p, bytes), JS_free(cx,p)
n GC is not asynchronous
JS_GC(cx), JS_MaybeGC(cx)
n Branch Callbacks
JS_SetBranchCallBack(cx, callback)