bool jit::SetPropertyPar(ForkJoinSlice *slice, HandleObject obj, HandlePropertyName name, HandleValue value, bool strict, jsbytecode *pc) { JS_ASSERT(slice->isThreadLocal(obj)); if (*pc == JSOP_SETALIASEDVAR) { // See comment in jit::SetProperty. Shape *shape = obj->nativeLookupPure(name); JS_ASSERT(shape && shape->hasSlot()); return obj->nativeSetSlotIfHasType(shape, value); } // Fail early on hooks. if (obj->getOps()->setProperty) return TP_RETRY_SEQUENTIALLY; RootedValue v(slice, value); RootedId id(slice, NameToId(name)); return baseops::SetPropertyHelper<ParallelExecution>(slice, obj, obj, id, 0, &v, strict); }