FROB(XMLAtom,                 js_XML_str);
js_InitPinnedAtoms(JSContext *cx, JSAtomState *state){    uintN i;#define FROB(lval,str)                                                        \    JS_BEGIN_MACRO                                                            \        if (!(state->lval = js_Atomize(cx, str, strlen(str), ATOM_PINNED)))   \            return JS_FALSE;                                                  \    JS_END_MACRO    JS_ASSERT(sizeof js_type_str / sizeof js_type_str[0] == JSTYPE_LIMIT);    for (i = 0; i < JSTYPE_LIMIT; i++)        FROB(typeAtoms[i],        js_type_str[i]);    FROB(booleanAtoms[0],         js_false_str);    FROB(booleanAtoms[1],         js_true_str);    FROB(nullAtom,                js_null_str);    FROB(ArgumentsAtom,           js_Arguments_str);    FROB(ArrayAtom,               js_Array_str);    FROB(BooleanAtom,             js_Boolean_str);    FROB(CallAtom,                js_Call_str);    FROB(DateAtom,                js_Date_str);#if JS_HAS_ERROR_EXCEPTIONS    FROB(ErrorAtom,               js_Error_str);#endif    FROB(FunctionAtom,            js_Function_str);    FROB(MathAtom,                js_Math_str);    FROB(NumberAtom,              js_Number_str);    FROB(ObjectAtom,              js_Object_str);    FROB(RegExpAtom,              js_RegExp_str);    FROB(ScriptAtom,              js_Script_str);    FROB(StringAtom,              js_String_str);    FROB(anonymousAtom,           js_anonymous_str);    FROB(argumentsAtom,           js_arguments_str);    FROB(arityAtom,               js_arity_str);    FROB(calleeAtom,              js_callee_str);    FROB(callerAtom,              js_caller_str);    FROB(classPrototypeAtom,      js_class_prototype_str);    FROB(constructorAtom,         js_constructor_str);    FROB(countAtom,               js_count_str);    FROB(eachAtom,                js_each_str);    FROB(evalAtom,                js_eval_str);    FROB(getAtom,                 js_get_str);    FROB(getterAtom,              js_getter_str);    FROB(indexAtom,               js_index_str);    FROB(inputAtom,               js_input_str);    FROB(lengthAtom,              js_length_str);    FROB(nameAtom,                js_name_str);    FROB(noSuchMethodAtom,        js_noSuchMethod_str);    FROB(parentAtom,              js_parent_str);    FROB(protoAtom,               js_proto_str);    FROB(setAtom,                 js_set_str);    FROB(setterAtom,              js_setter_str);    FROB(toSourceAtom,            js_toSource_str);    FROB(toStringAtom,            js_toString_str);    FROB(toLocaleStringAtom,      js_toLocaleString_str);    FROB(valueOfAtom,             js_valueOf_str);#if JS_HAS_XML_SUPPORT    FROB(etagoAtom,               js_etago_str);    FROB(namespaceAtom,           js_namespace_str);    FROB(ptagcAtom,               js_ptagc_str);    FROB(qualifierAtom,           js_qualifier_str);    FROB(spaceAtom,               js_space_str);    FROB(stagoAtom,               js_stago_str);    FROB(starAtom,                js_star_str);    FROB(starQualifierAtom,       js_starQualifier_str);    FROB(tagcAtom,                js_tagc_str);    FROB(xmlAtom,                 js_xml_str);#endif#ifdef NARCISSUS    FROB(callAtom,                js_call_str);    FROB(constructAtom,           js_construct_str);    FROB(hasInstanceAtom,         js_hasInstance_str);    FROB(ExecutionContextAtom,    js_ExecutionContext_str);    FROB(currentAtom,             js_current_str);#endif#undef FROB    memset(&state->lazy, 0, sizeof state->lazy);    return JS_TRUE;}