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 1840 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1851 EmitKeyedSuperPropertyStore(property); | 1851 EmitKeyedSuperPropertyStore(property); |
1852 context()->Plug(x0); | 1852 context()->Plug(x0); |
1853 break; | 1853 break; |
1854 case KEYED_PROPERTY: | 1854 case KEYED_PROPERTY: |
1855 EmitKeyedPropertyAssignment(expr); | 1855 EmitKeyedPropertyAssignment(expr); |
1856 break; | 1856 break; |
1857 } | 1857 } |
1858 } | 1858 } |
1859 | 1859 |
1860 | 1860 |
1861 void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) { | |
1862 SetExpressionPosition(prop); | |
1863 Literal* key = prop->key()->AsLiteral(); | |
1864 DCHECK(!prop->IsSuperAccess()); | |
1865 | |
1866 __ Mov(LoadDescriptor::NameRegister(), Operand(key->value())); | |
1867 __ Mov(LoadDescriptor::SlotRegister(), | |
1868 SmiFromSlot(prop->PropertyFeedbackSlot())); | |
1869 CallLoadIC(NOT_INSIDE_TYPEOF); | |
1870 } | |
1871 | |
1872 | |
1873 void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr, | 1861 void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr, |
1874 Token::Value op, | 1862 Token::Value op, |
1875 Expression* left_expr, | 1863 Expression* left_expr, |
1876 Expression* right_expr) { | 1864 Expression* right_expr) { |
1877 Label done, both_smis, stub_call; | 1865 Label done, both_smis, stub_call; |
1878 | 1866 |
1879 // Get the arguments. | 1867 // Get the arguments. |
1880 Register left = x1; | 1868 Register left = x1; |
1881 Register right = x0; | 1869 Register right = x0; |
1882 Register result = x0; | 1870 Register result = x0; |
(...skipping 2421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4304 } | 4292 } |
4305 | 4293 |
4306 return INTERRUPT; | 4294 return INTERRUPT; |
4307 } | 4295 } |
4308 | 4296 |
4309 | 4297 |
4310 } // namespace internal | 4298 } // namespace internal |
4311 } // namespace v8 | 4299 } // namespace v8 |
4312 | 4300 |
4313 #endif // V8_TARGET_ARCH_ARM64 | 4301 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |