| OLD | NEW | 
|---|
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #if V8_TARGET_ARCH_ARM64 | 5 #if V8_TARGET_ARCH_ARM64 | 
| 6 | 6 | 
| 7 #include "src/ast/scopes.h" | 7 #include "src/ast/scopes.h" | 
| 8 #include "src/code-factory.h" | 8 #include "src/code-factory.h" | 
| 9 #include "src/code-stubs.h" | 9 #include "src/code-stubs.h" | 
| 10 #include "src/codegen.h" | 10 #include "src/codegen.h" | 
| (...skipping 1541 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1552           __ Drop(3); | 1552           __ Drop(3); | 
| 1553         } | 1553         } | 
| 1554         break; | 1554         break; | 
| 1555       case ObjectLiteral::Property::PROTOTYPE: | 1555       case ObjectLiteral::Property::PROTOTYPE: | 
| 1556         DCHECK(property->emit_store()); | 1556         DCHECK(property->emit_store()); | 
| 1557         // Duplicate receiver on stack. | 1557         // Duplicate receiver on stack. | 
| 1558         __ Peek(x0, 0); | 1558         __ Peek(x0, 0); | 
| 1559         __ Push(x0); | 1559         __ Push(x0); | 
| 1560         VisitForStackValue(value); | 1560         VisitForStackValue(value); | 
| 1561         __ CallRuntime(Runtime::kInternalSetPrototype); | 1561         __ CallRuntime(Runtime::kInternalSetPrototype); | 
|  | 1562         PrepareForBailoutForId(expr->GetIdForPropertySet(property_index), | 
|  | 1563                                NO_REGISTERS); | 
| 1562         break; | 1564         break; | 
| 1563       case ObjectLiteral::Property::GETTER: | 1565       case ObjectLiteral::Property::GETTER: | 
| 1564         if (property->emit_store()) { | 1566         if (property->emit_store()) { | 
| 1565           accessor_table.lookup(key)->second->getter = property; | 1567           accessor_table.lookup(key)->second->getter = property; | 
| 1566         } | 1568         } | 
| 1567         break; | 1569         break; | 
| 1568       case ObjectLiteral::Property::SETTER: | 1570       case ObjectLiteral::Property::SETTER: | 
| 1569         if (property->emit_store()) { | 1571         if (property->emit_store()) { | 
| 1570           accessor_table.lookup(key)->second->setter = property; | 1572           accessor_table.lookup(key)->second->setter = property; | 
| 1571         } | 1573         } | 
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1607     } | 1609     } | 
| 1608 | 1610 | 
| 1609     __ Peek(x10, 0);  // Duplicate receiver. | 1611     __ Peek(x10, 0);  // Duplicate receiver. | 
| 1610     __ Push(x10); | 1612     __ Push(x10); | 
| 1611 | 1613 | 
| 1612     if (property->kind() == ObjectLiteral::Property::PROTOTYPE) { | 1614     if (property->kind() == ObjectLiteral::Property::PROTOTYPE) { | 
| 1613       DCHECK(!property->is_computed_name()); | 1615       DCHECK(!property->is_computed_name()); | 
| 1614       VisitForStackValue(value); | 1616       VisitForStackValue(value); | 
| 1615       DCHECK(property->emit_store()); | 1617       DCHECK(property->emit_store()); | 
| 1616       __ CallRuntime(Runtime::kInternalSetPrototype); | 1618       __ CallRuntime(Runtime::kInternalSetPrototype); | 
|  | 1619       PrepareForBailoutForId(expr->GetIdForPropertySet(property_index), | 
|  | 1620                              NO_REGISTERS); | 
| 1617     } else { | 1621     } else { | 
| 1618       EmitPropertyKey(property, expr->GetIdForProperty(property_index)); | 1622       EmitPropertyKey(property, expr->GetIdForPropertyName(property_index)); | 
| 1619       VisitForStackValue(value); | 1623       VisitForStackValue(value); | 
| 1620       if (NeedsHomeObject(value)) { | 1624       if (NeedsHomeObject(value)) { | 
| 1621         EmitSetHomeObject(value, 2, property->GetSlot()); | 1625         EmitSetHomeObject(value, 2, property->GetSlot()); | 
| 1622       } | 1626       } | 
| 1623 | 1627 | 
| 1624       switch (property->kind()) { | 1628       switch (property->kind()) { | 
| 1625         case ObjectLiteral::Property::CONSTANT: | 1629         case ObjectLiteral::Property::CONSTANT: | 
| 1626         case ObjectLiteral::Property::MATERIALIZED_LITERAL: | 1630         case ObjectLiteral::Property::MATERIALIZED_LITERAL: | 
| 1627         case ObjectLiteral::Property::COMPUTED: | 1631         case ObjectLiteral::Property::COMPUTED: | 
| 1628           if (property->emit_store()) { | 1632           if (property->emit_store()) { | 
| (...skipping 3263 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 4892   } | 4896   } | 
| 4893 | 4897 | 
| 4894   return INTERRUPT; | 4898   return INTERRUPT; | 
| 4895 } | 4899 } | 
| 4896 | 4900 | 
| 4897 | 4901 | 
| 4898 }  // namespace internal | 4902 }  // namespace internal | 
| 4899 }  // namespace v8 | 4903 }  // namespace v8 | 
| 4900 | 4904 | 
| 4901 #endif  // V8_TARGET_ARCH_ARM64 | 4905 #endif  // V8_TARGET_ARCH_ARM64 | 
| OLD | NEW | 
|---|