Lines Matching defs:property
1072 // validity or get the property names in a fixed array.
1157 // Convert the entry to a string or (smi) 0 if it isn't a property
1158 // any more. If the property has been removed while iterating, we
1167 // Update the 'each' property or variable from the possibly filtered
1467 void FullCodeGenerator::EmitAccessor(ObjectLiteralProperty* property) {
1468 Expression* expression = (property == NULL) ? NULL : property->value();
1475 DCHECK(property->kind() == ObjectLiteral::Property::GETTER ||
1476 property->kind() == ObjectLiteral::Property::SETTER);
1477 int offset = property->kind() == ObjectLiteral::Property::GETTER ? 2 : 3;
1478 EmitSetHomeObject(expression, offset, property->GetSlot());
1508 ObjectLiteral::Property* property = expr->properties()->at(property_index);
1509 if (property->is_computed_name()) break;
1510 if (property->IsCompileTimeValue()) continue;
1512 Literal* key = property->key()->AsLiteral();
1513 Expression* value = property->value();
1518 switch (property->kind()) {
1519 case ObjectLiteral::Property::CONSTANT:
1521 case ObjectLiteral::Property::MATERIALIZED_LITERAL:
1522 DCHECK(!CompileTimeValue::IsCompileTimeValue(property->value()));
1524 case ObjectLiteral::Property::COMPUTED:
1528 if (property->emit_store()) {
1534 EmitLoadStoreICSlot(property->GetSlot(0));
1539 EmitSetHomeObjectAccumulator(value, 0, property->GetSlot(1));
1551 if (property->emit_store()) {
1553 EmitSetHomeObject(value, 2, property->GetSlot());
1562 case ObjectLiteral::Property::PROTOTYPE:
1567 DCHECK(property->emit_store());
1572 case ObjectLiteral::Property::GETTER:
1573 if (property->emit_store()) {
1574 accessor_table.lookup(key)->second->getter = property;
1577 case ObjectLiteral::Property::SETTER:
1578 if (property->emit_store()) {
1579 accessor_table.lookup(key)->second->setter = property;
1601 // computed property names, and so we can compute its map ahead of time; see
1603 // starts with the first computed property name, and continues with all
1610 ObjectLiteral::Property* property = expr->properties()->at(property_index);
1612 Expression* value = property->value();
1621 if (property->kind() == ObjectLiteral::Property::PROTOTYPE) {
1622 DCHECK(!property->is_computed_name());
1624 DCHECK(property->emit_store());
1629 EmitPropertyKey(property, expr->GetIdForPropertyName(property_index));
1632 EmitSetHomeObject(value, 2, property->GetSlot());
1635 switch (property->kind()) {
1636 case ObjectLiteral::Property::CONSTANT:
1637 case ObjectLiteral::Property::MATERIALIZED_LITERAL:
1638 case ObjectLiteral::Property::COMPUTED:
1639 if (property->emit_store()) {
1648 case ObjectLiteral::Property::PROTOTYPE:
1652 case ObjectLiteral::Property::GETTER:
1658 case ObjectLiteral::Property::SETTER:
1782 Property* property = expr->target()->AsProperty();
1783 LhsKind assign_type = Property::GetAssignType(property);
1793 VisitForStackValue(property->obj());
1796 VisitForStackValue(property->obj());
1801 property->obj()->AsSuperPropertyReference()->this_var());
1803 property->obj()->AsSuperPropertyReference()->home_object());
1814 property->obj()->AsSuperPropertyReference()->this_var());
1816 property->obj()->AsSuperPropertyReference()->home_object());
1818 VisitForAccumulatorValue(property->key());
1830 VisitForStackValue(property->obj());
1831 VisitForStackValue(property->key());
1836 VisitForStackValue(property->obj());
1837 VisitForStackValue(property->key());
1843 // variable/property load.
1852 EmitNamedPropertyLoad(property);
1853 PrepareForBailoutForId(property->LoadId(), TOS_REG);
1856 EmitNamedSuperPropertyLoad(property);
1857 PrepareForBailoutForId(property->LoadId(), TOS_REG);
1860 EmitKeyedSuperPropertyLoad(property);
1861 PrepareForBailoutForId(property->LoadId(), TOS_REG);
1864 EmitKeyedPropertyLoad(property);
1865 PrepareForBailoutForId(property->LoadId(), TOS_REG);
1904 EmitNamedSuperPropertyStore(property);
1908 EmitKeyedSuperPropertyStore(property);
2201 void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) {
2213 void FullCodeGenerator::EmitNamedSuperPropertyLoad(Property* prop) {
2227 void FullCodeGenerator::EmitKeyedPropertyLoad(Property* prop) {
2238 void FullCodeGenerator::EmitKeyedSuperPropertyLoad(Property* prop) {
2351 ObjectLiteral::Property* property = lit->properties()->at(i);
2352 Expression* value = property->value();
2354 if (property->is_static()) {
2360 EmitPropertyKey(property, lit->GetIdForProperty(i));
2362 // The static prototype property is read only. We handle the non computed
2363 // property name case in the parser. Since this is the only case where we
2364 // need to check for an own read only property we special case this so we do
2365 // not need to do this for every property.
2366 if (property->is_static() && property->is_computed_name()) {
2373 EmitSetHomeObject(value, 2, property->GetSlot());
2376 switch (property->kind()) {
2377 case ObjectLiteral::Property::CONSTANT:
2378 case ObjectLiteral::Property::MATERIALIZED_LITERAL:
2379 case ObjectLiteral::Property::PROTOTYPE:
2381 case ObjectLiteral::Property::COMPUTED:
2385 case ObjectLiteral::Property::GETTER:
2391 case ObjectLiteral::Property::SETTER:
2424 Property* prop = expr->AsProperty();
2425 LhsKind assign_type = Property::GetAssignType(prop);
2623 // Assignment to a property, using a named store IC.
2624 Property* prop = expr->target()->AsProperty();
2640 void FullCodeGenerator::EmitNamedSuperPropertyStore(Property* prop) {
2641 // Assignment to named property of super.
2655 void FullCodeGenerator::EmitKeyedSuperPropertyStore(Property* prop) {
2656 // Assignment to named property of super.
2669 // Assignment to a property, using a keyed store IC.
2689 void FullCodeGenerator::VisitProperty(Property* expr) {
2690 Comment cmnt(masm_, "[ Property");
2771 Property* prop = callee->AsProperty();
2832 Property* prop = callee->AsProperty();
4109 Property* property = expr->expression()->AsProperty();
4112 if (property != NULL) {
4113 VisitForStackValue(property->obj());
4114 VisitForStackValue(property->key());
4145 // Result of deleting non-property, non-variable reference is true.
4223 Property* prop = expr->expression()->AsProperty();
4224 LhsKind assign_type = Property::GetAssignType(prop);
4289 // in case evaluating the property load my have a side effect.
4309 // Save the result on the stack. If we have a named or keyed property
4351 // Save the result on the stack. If we have a named or keyed property