bool TypeInferenceOracle::elementWriteNeedsBarrier(UnrootedScript script, jsbytecode *pc) { // Return true if SETELEM-like instructions need a write barrier before modifying // a property. The object is the third value popped by SETELEM. StackTypeSet *types = DropUnrooted(script)->analysis()->poppedTypes(pc, 2); return types->propertyNeedsBarrier(cx, JSID_VOID); }
bool TypeInferenceOracle::propertyWriteNeedsBarrier(UnrootedScript script, jsbytecode *pc, jsid id) { StackTypeSet *types = script->analysis()->poppedTypes(pc, 1); return types->propertyNeedsBarrier(cx, id); }