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 1565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1576 break; | 1576 break; |
1577 | 1577 |
1578 case ObjectLiteral::Property::SETTER: | 1578 case ObjectLiteral::Property::SETTER: |
1579 PushOperand(Smi::FromInt(NONE)); | 1579 PushOperand(Smi::FromInt(NONE)); |
1580 CallRuntimeWithOperands(Runtime::kDefineSetterPropertyUnchecked); | 1580 CallRuntimeWithOperands(Runtime::kDefineSetterPropertyUnchecked); |
1581 break; | 1581 break; |
1582 } | 1582 } |
1583 } | 1583 } |
1584 } | 1584 } |
1585 | 1585 |
1586 if (expr->has_function()) { | |
1587 DCHECK(result_saved); | |
1588 __ Peek(x0, 0); | |
1589 __ Push(x0); | |
1590 __ CallRuntime(Runtime::kToFastProperties); | |
1591 } | |
1592 | |
1593 if (result_saved) { | 1586 if (result_saved) { |
1594 context()->PlugTOS(); | 1587 context()->PlugTOS(); |
1595 } else { | 1588 } else { |
1596 context()->Plug(x0); | 1589 context()->Plug(x0); |
1597 } | 1590 } |
1598 } | 1591 } |
1599 | 1592 |
1600 | 1593 |
1601 void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { | 1594 void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { |
1602 Comment cmnt(masm_, "[ ArrayLiteral"); | 1595 Comment cmnt(masm_, "[ ArrayLiteral"); |
(...skipping 2619 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4222 } | 4215 } |
4223 | 4216 |
4224 return INTERRUPT; | 4217 return INTERRUPT; |
4225 } | 4218 } |
4226 | 4219 |
4227 | 4220 |
4228 } // namespace internal | 4221 } // namespace internal |
4229 } // namespace v8 | 4222 } // namespace v8 |
4230 | 4223 |
4231 #endif // V8_TARGET_ARCH_ARM64 | 4224 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |