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/codegen.h" | 9 #include "src/codegen.h" |
10 #include "src/ic-inl.h" | 10 #include "src/ic-inl.h" |
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
524 } | 524 } |
525 } | 525 } |
526 | 526 |
527 __ Bind(&exit); | 527 __ Bind(&exit); |
528 // Return the value (register x0). | 528 // Return the value (register x0). |
529 DCHECK(value_reg.is(x0)); | 529 DCHECK(value_reg.is(x0)); |
530 __ Ret(); | 530 __ Ret(); |
531 } | 531 } |
532 | 532 |
533 | 533 |
534 void NamedStoreHandlerCompiler::GenerateStoreField(LookupResult* lookup, | 534 void NamedStoreHandlerCompiler::GenerateStoreField(LookupIterator* lookup, |
535 Register value_reg, | 535 Register value_reg, |
536 Label* miss_label) { | 536 Label* miss_label) { |
537 DCHECK(lookup->representation().IsHeapObject()); | 537 DCHECK(lookup->representation().IsHeapObject()); |
538 __ JumpIfSmi(value_reg, miss_label); | 538 __ JumpIfSmi(value_reg, miss_label); |
539 HeapType::Iterator<Map> it = lookup->GetFieldType()->Classes(); | 539 HeapType::Iterator<Map> it = lookup->GetFieldType()->Classes(); |
540 __ Ldr(scratch1(), FieldMemOperand(value_reg, HeapObject::kMapOffset)); | 540 __ Ldr(scratch1(), FieldMemOperand(value_reg, HeapObject::kMapOffset)); |
541 Label do_store; | 541 Label do_store; |
542 while (true) { | 542 while (true) { |
543 __ CompareMap(scratch1(), it.Current()); | 543 __ CompareMap(scratch1(), it.Current()); |
544 it.Advance(); | 544 it.Advance(); |
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1132 | 1132 |
1133 // Miss case, call the runtime. | 1133 // Miss case, call the runtime. |
1134 __ Bind(&miss); | 1134 __ Bind(&miss); |
1135 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); | 1135 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); |
1136 } | 1136 } |
1137 | 1137 |
1138 | 1138 |
1139 } } // namespace v8::internal | 1139 } } // namespace v8::internal |
1140 | 1140 |
1141 #endif // V8_TARGET_ARCH_ARM64 | 1141 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |