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 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
8 | 8 |
9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 1794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1805 } else { | 1805 } else { |
1806 __ Drop(3); | 1806 __ Drop(3); |
1807 } | 1807 } |
1808 break; | 1808 break; |
1809 | 1809 |
1810 case ObjectLiteral::Property::PROTOTYPE: | 1810 case ObjectLiteral::Property::PROTOTYPE: |
1811 UNREACHABLE(); | 1811 UNREACHABLE(); |
1812 break; | 1812 break; |
1813 | 1813 |
1814 case ObjectLiteral::Property::GETTER: | 1814 case ObjectLiteral::Property::GETTER: |
1815 __ CallRuntime(Runtime::kDefineGetterPropertyUnchecked, 3); | 1815 __ Mov(x0, Smi::FromInt(NONE)); |
| 1816 __ Push(x0); |
| 1817 __ CallRuntime(Runtime::kDefineGetterPropertyUnchecked, 4); |
1816 break; | 1818 break; |
1817 | 1819 |
1818 case ObjectLiteral::Property::SETTER: | 1820 case ObjectLiteral::Property::SETTER: |
1819 __ CallRuntime(Runtime::kDefineSetterPropertyUnchecked, 3); | 1821 __ Mov(x0, Smi::FromInt(NONE)); |
| 1822 __ Push(x0); |
| 1823 __ CallRuntime(Runtime::kDefineSetterPropertyUnchecked, 4); |
1820 break; | 1824 break; |
1821 } | 1825 } |
1822 } | 1826 } |
1823 } | 1827 } |
1824 | 1828 |
1825 if (expr->has_function()) { | 1829 if (expr->has_function()) { |
1826 DCHECK(result_saved); | 1830 DCHECK(result_saved); |
1827 __ Peek(x0, 0); | 1831 __ Peek(x0, 0); |
1828 __ Push(x0); | 1832 __ Push(x0); |
1829 __ CallRuntime(Runtime::kToFastProperties, 1); | 1833 __ CallRuntime(Runtime::kToFastProperties, 1); |
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2254 switch (property->kind()) { | 2258 switch (property->kind()) { |
2255 case ObjectLiteral::Property::CONSTANT: | 2259 case ObjectLiteral::Property::CONSTANT: |
2256 case ObjectLiteral::Property::MATERIALIZED_LITERAL: | 2260 case ObjectLiteral::Property::MATERIALIZED_LITERAL: |
2257 case ObjectLiteral::Property::PROTOTYPE: | 2261 case ObjectLiteral::Property::PROTOTYPE: |
2258 UNREACHABLE(); | 2262 UNREACHABLE(); |
2259 case ObjectLiteral::Property::COMPUTED: | 2263 case ObjectLiteral::Property::COMPUTED: |
2260 __ CallRuntime(Runtime::kDefineClassMethod, 3); | 2264 __ CallRuntime(Runtime::kDefineClassMethod, 3); |
2261 break; | 2265 break; |
2262 | 2266 |
2263 case ObjectLiteral::Property::GETTER: | 2267 case ObjectLiteral::Property::GETTER: |
2264 __ CallRuntime(Runtime::kDefineGetterPropertyUnchecked, 3); | 2268 __ Mov(x0, Smi::FromInt(DONT_ENUM)); |
| 2269 __ Push(x0); |
| 2270 __ CallRuntime(Runtime::kDefineGetterPropertyUnchecked, 4); |
2265 break; | 2271 break; |
2266 | 2272 |
2267 case ObjectLiteral::Property::SETTER: | 2273 case ObjectLiteral::Property::SETTER: |
2268 __ CallRuntime(Runtime::kDefineSetterPropertyUnchecked, 3); | 2274 __ Mov(x0, Smi::FromInt(DONT_ENUM)); |
| 2275 __ Push(x0); |
| 2276 __ CallRuntime(Runtime::kDefineSetterPropertyUnchecked, 4); |
2269 break; | 2277 break; |
2270 | 2278 |
2271 default: | 2279 default: |
2272 UNREACHABLE(); | 2280 UNREACHABLE(); |
2273 } | 2281 } |
2274 } | 2282 } |
2275 | 2283 |
2276 // prototype | 2284 // prototype |
2277 __ CallRuntime(Runtime::kToFastProperties, 1); | 2285 __ CallRuntime(Runtime::kToFastProperties, 1); |
2278 | 2286 |
(...skipping 3122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5401 return previous_; | 5409 return previous_; |
5402 } | 5410 } |
5403 | 5411 |
5404 | 5412 |
5405 #undef __ | 5413 #undef __ |
5406 | 5414 |
5407 | 5415 |
5408 } } // namespace v8::internal | 5416 } } // namespace v8::internal |
5409 | 5417 |
5410 #endif // V8_TARGET_ARCH_ARM64 | 5418 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |