Lines Matching refs:object
63 // The main datastructure used during load/store elimination. Each in-object
79 l->object()->ActualValue()->id()));
93 s->object()->ActualValue()->id(),
189 // load or store for this object and field exists, return the new value with
195 HValue* object = instr->object()->ActualValue();
196 HFieldApproximation* approx = FindOrCreate(object, field);
210 // store to the same object and field makes this store redundant (e.g. because
217 HValue* object = instr->object()->ActualValue();
221 KillFieldInternal(object, field, value);
223 // A transition store alters the map of the object.
224 // TODO(titzer): remember the new map (a constant) for the object.
225 KillFieldInternal(object, FieldOf(JSObject::kMapOffset), NULL);
227 HFieldApproximation* approx = FindOrCreate(object, field);
257 KillFieldInternal(s->object()->ActualValue(), field, s->value());
270 HValue* object = instr->object()->ActualValue();
272 KillFieldInternal(object, field, NULL);
277 if (next_field != field) KillFieldInternal(object, next_field, NULL);
283 // Find an entry for the given object and field pair.
284 HFieldApproximation* Find(HValue* object, int field) {
285 // Search for a field approximation for this object.
288 if (aliasing_->MustAlias(object, approx->object_)) return approx;
294 // Find or create an entry for the given object and field pair.
295 HFieldApproximation* FindOrCreate(HValue* object, int field) {
298 // Search for a field approximation for this object.
302 if (aliasing_->MustAlias(object, approx->object_)) return approx;
308 // Pull the last entry off the end and repurpose it for this object.
316 approx->object_ = object;
325 // Kill all entries for a given field that _may_ alias the given object
327 void KillFieldInternal(HValue* object, int field, HValue* value) {
333 if (aliasing_->MayAlias(object, approx->object_)) {
374 // Compute the field index for the given object access; -1 if not tracked.
379 // Compute the field index for the given in-object offset; -1 if not tracked.