18 #include "precompiled.h"
25 : m_ScriptInterface(scriptInterface)
41 for (
size_t i = 0; i <
m_Objects.size(); ++i)
43 JS_CALL_OBJECT_TRACER(trc,
m_Objects[i],
"AutoGCRooter object");
46 for (
size_t i = 0; i <
m_Vals.size(); ++i)
48 JS_CALL_VALUE_TRACER(trc,
m_Vals[i],
"AutoGCRooter val");
53 for (jsint j = 0; j <
m_IdArrays[i]->length; ++j)
55 jsval val = JSVAL_VOID;
57 JS_CALL_VALUE_TRACER(trc, val,
"AutoGCRooter id array");
AutoGCRooter(ScriptInterface &scriptInterface)
std::vector< JSIdArray * > m_IdArrays
ScriptInterface & m_ScriptInterface
std::vector< jsval > m_Vals
AutoGCRooter * ReplaceAutoGCRooter(AutoGCRooter *rooter)
#define ENSURE(expr)
ensure the expression <expr> evaluates to non-zero.
AutoGCRooter * m_Previous
std::vector< JSObject * > m_Objects
Abstraction around a SpiderMonkey JSContext.
void Trace(JSTracer *trc)
JSContext * GetContext() const
Helper for rooting large groups of script values.