OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/ic/call-optimization.h" | 9 #include "src/ic/call-optimization.h" |
10 #include "src/ic/handler-compiler.h" | 10 #include "src/ic/handler-compiler.h" |
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 __ Mov(this->name(), Operand(name)); | 396 __ Mov(this->name(), Operand(name)); |
397 } | 397 } |
398 } | 398 } |
399 | 399 |
400 | 400 |
401 void NamedStoreHandlerCompiler::GenerateRestoreName(Handle<Name> name) { | 401 void NamedStoreHandlerCompiler::GenerateRestoreName(Handle<Name> name) { |
402 __ Mov(this->name(), Operand(name)); | 402 __ Mov(this->name(), Operand(name)); |
403 } | 403 } |
404 | 404 |
405 | 405 |
| 406 void NamedStoreHandlerCompiler::GeneratePushMap(Register map_reg, |
| 407 Register scratch) { |
| 408 DCHECK(false); // Not implemented. |
| 409 } |
| 410 |
| 411 |
406 void NamedStoreHandlerCompiler::GenerateRestoreMap(Handle<Map> transition, | 412 void NamedStoreHandlerCompiler::GenerateRestoreMap(Handle<Map> transition, |
| 413 Register map_reg, |
407 Register scratch, | 414 Register scratch, |
408 Label* miss) { | 415 Label* miss) { |
409 Handle<WeakCell> cell = Map::WeakCellForMap(transition); | 416 Handle<WeakCell> cell = Map::WeakCellForMap(transition); |
410 Register map_reg = StoreTransitionDescriptor::MapRegister(); | |
411 DCHECK(!map_reg.is(scratch)); | 417 DCHECK(!map_reg.is(scratch)); |
412 __ LoadWeakValue(map_reg, cell, miss); | 418 __ LoadWeakValue(map_reg, cell, miss); |
413 if (transition->CanBeDeprecated()) { | 419 if (transition->CanBeDeprecated()) { |
414 __ Ldrsw(scratch, FieldMemOperand(map_reg, Map::kBitField3Offset)); | 420 __ Ldrsw(scratch, FieldMemOperand(map_reg, Map::kBitField3Offset)); |
415 __ TestAndBranchIfAnySet(scratch, Map::Deprecated::kMask, miss); | 421 __ TestAndBranchIfAnySet(scratch, Map::Deprecated::kMask, miss); |
416 } | 422 } |
417 } | 423 } |
418 | 424 |
419 | 425 |
420 void NamedStoreHandlerCompiler::GenerateConstantCheck(Register map_reg, | 426 void NamedStoreHandlerCompiler::GenerateConstantCheck(Register map_reg, |
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
797 // Return the generated code. | 803 // Return the generated code. |
798 return GetCode(kind(), Code::FAST, name); | 804 return GetCode(kind(), Code::FAST, name); |
799 } | 805 } |
800 | 806 |
801 | 807 |
802 #undef __ | 808 #undef __ |
803 } // namespace internal | 809 } // namespace internal |
804 } // namespace v8 | 810 } // namespace v8 |
805 | 811 |
806 #endif // V8_TARGET_ARCH_IA32 | 812 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |