Lines Matching defs:property
1026 // validity or get the property names in a fixed array.
1115 // Convert the entry to a string or null if it isn't a property
1116 // anymore. If the property has been removed while iterating, we
1126 // Update the 'each' property or variable from the possibly filtered
1421 void FullCodeGenerator::EmitAccessor(ObjectLiteralProperty* property) {
1422 Expression* expression = (property == NULL) ? NULL : property->value();
1428 DCHECK(property->kind() == ObjectLiteral::Property::GETTER ||
1429 property->kind() == ObjectLiteral::Property::SETTER);
1430 int offset = property->kind() == ObjectLiteral::Property::GETTER ? 2 : 3;
1431 EmitSetHomeObject(expression, offset, property->GetSlot());
1465 ObjectLiteral::Property* property = expr->properties()->at(property_index);
1466 if (property->is_computed_name()) break;
1467 if (property->IsCompileTimeValue()) continue;
1469 Literal* key = property->key()->AsLiteral();
1470 Expression* value = property->value();
1475 switch (property->kind()) {
1476 case ObjectLiteral::Property::CONSTANT:
1478 case ObjectLiteral::Property::MATERIALIZED_LITERAL:
1481 case ObjectLiteral::Property::COMPUTED:
1485 if (property->emit_store()) {
1490 EmitLoadStoreICSlot(property->GetSlot(0));
1495 EmitSetHomeObjectAccumulator(value, 0, property->GetSlot(1));
1505 if (property->emit_store()) {
1507 EmitSetHomeObject(value, 2, property->GetSlot());
1515 case ObjectLiteral::Property::PROTOTYPE:
1518 DCHECK(property->emit_store());
1523 case ObjectLiteral::Property::GETTER:
1524 if (property->emit_store()) {
1525 accessor_table.lookup(key)->second->getter = property;
1528 case ObjectLiteral::Property::SETTER:
1529 if (property->emit_store()) {
1530 accessor_table.lookup(key)->second->setter = property;
1550 // computed property names, and so we can compute its map ahead of time; see
1552 // starts with the first computed property name, and continues with all
1559 ObjectLiteral::Property* property = expr->properties()->at(property_index);
1561 Expression* value = property->value();
1569 if (property->kind() == ObjectLiteral::Property::PROTOTYPE) {
1570 DCHECK(!property->is_computed_name());
1572 DCHECK(property->emit_store());
1577 EmitPropertyKey(property, expr->GetIdForPropertyName(property_index));
1580 EmitSetHomeObject(value, 2, property->GetSlot());
1583 switch (property->kind()) {
1584 case ObjectLiteral::Property::CONSTANT:
1585 case ObjectLiteral::Property::MATERIALIZED_LITERAL:
1586 case ObjectLiteral::Property::COMPUTED:
1587 if (property->emit_store()) {
1595 case ObjectLiteral::Property::PROTOTYPE:
1599 case ObjectLiteral::Property::GETTER:
1604 case ObjectLiteral::Property::SETTER:
1725 Property* property = expr->target()->AsProperty();
1726 LhsKind assign_type = Property::GetAssignType(property);
1736 VisitForStackValue(property->obj());
1739 VisitForStackValue(property->obj());
1744 property->obj()->AsSuperPropertyReference()->this_var());
1746 property->obj()->AsSuperPropertyReference()->home_object());
1755 property->obj()->AsSuperPropertyReference()->this_var());
1757 property->obj()->AsSuperPropertyReference()->home_object());
1758 VisitForAccumulatorValue(property->key());
1768 VisitForStackValue(property->obj());
1769 VisitForStackValue(property->key());
1773 VisitForStackValue(property->obj());
1774 VisitForStackValue(property->key());
1781 // variable/property load.
1790 EmitNamedPropertyLoad(property);
1791 PrepareForBailoutForId(property->LoadId(), TOS_REG);
1794 EmitNamedSuperPropertyLoad(property);
1795 PrepareForBailoutForId(property->LoadId(), TOS_REG);
1798 EmitKeyedSuperPropertyLoad(property);
1799 PrepareForBailoutForId(property->LoadId(), TOS_REG);
1802 EmitKeyedPropertyLoad(property);
1803 PrepareForBailoutForId(property->LoadId(), TOS_REG);
1841 EmitNamedSuperPropertyStore(property);
1845 EmitKeyedSuperPropertyStore(property);
2134 void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) {
2146 void FullCodeGenerator::EmitNamedSuperPropertyLoad(Property* prop) {
2159 void FullCodeGenerator::EmitKeyedPropertyLoad(Property* prop) {
2168 void FullCodeGenerator::EmitKeyedSuperPropertyLoad(Property* prop) {
2249 ObjectLiteral::Property* property = lit->properties()->at(i);
2250 Expression* value = property->value();
2252 if (property->is_static()) {
2257 EmitPropertyKey(property, lit->GetIdForProperty(i));
2259 // The static prototype property is read only. We handle the non computed
2260 // property name case in the parser. Since this is the only case where we
2261 // need to check for an own read only property we special case this so we do
2262 // not need to do this for every property.
2263 if (property->is_static() && property->is_computed_name()) {
2270 EmitSetHomeObject(value, 2, property->GetSlot());
2273 switch (property->kind()) {
2274 case ObjectLiteral::Property::CONSTANT:
2275 case ObjectLiteral::Property::MATERIALIZED_LITERAL:
2276 case ObjectLiteral::Property::PROTOTYPE:
2278 case ObjectLiteral::Property::COMPUTED:
2282 case ObjectLiteral::Property::GETTER:
2287 case ObjectLiteral::Property::SETTER:
2318 Property* prop = expr->AsProperty();
2319 LhsKind assign_type = Property::GetAssignType(prop);
2508 // Assignment to a property, using a named store IC.
2509 Property* prop = expr->target()->AsProperty();
2523 void FullCodeGenerator::EmitNamedSuperPropertyStore(Property* prop) {
2524 // Assignment to named property of super.
2538 void FullCodeGenerator::EmitKeyedSuperPropertyStore(Property* prop) {
2539 // Assignment to named property of super.
2552 // Assignment to a property, using a keyed store IC.
2566 void FullCodeGenerator::VisitProperty(Property* expr) {
2567 Comment cmnt(masm_, "[ Property");
2646 Property* prop = callee->AsProperty();
2707 Property* prop = callee->AsProperty();
4020 Property* property = expr->expression()->AsProperty();
4023 if (property != NULL) {
4024 VisitForStackValue(property->obj());
4025 VisitForStackValue(property->key());
4056 // Result of deleting non-property, non-variable reference is true.
4140 Property* prop = expr->expression()->AsProperty();
4141 LhsKind assign_type = Property::GetAssignType(prop);
4202 // in case evaluating the property load my have a side effect.
4219 // Save the result on the stack. If we have a named or keyed property
4264 property