Index: src/arm64/macro-assembler-arm64.cc |
diff --git a/src/arm64/macro-assembler-arm64.cc b/src/arm64/macro-assembler-arm64.cc |
index e2599143ce74efdde315c1887bd882095150f3bf..0644c341cb42084e1454fa0645b614939f065189 100644 |
--- a/src/arm64/macro-assembler-arm64.cc |
+++ b/src/arm64/macro-assembler-arm64.cc |
@@ -1453,6 +1453,19 @@ void MacroAssembler::EnumLengthSmi(Register dst, Register map) { |
} |
+void MacroAssembler::LoadAccessor(Register dst, Register holder, |
+ int accessor_index, |
+ AccessorComponent accessor) { |
+ Ldr(dst, FieldMemOperand(holder, HeapObject::kMapOffset)); |
+ LoadInstanceDescriptors(dst, dst); |
+ Ldr(dst, |
+ FieldMemOperand(dst, DescriptorArray::GetValueOffset(accessor_index))); |
+ int offset = accessor == ACCESSOR_GETTER ? AccessorPair::kGetterOffset |
+ : AccessorPair::kSetterOffset; |
+ Ldr(dst, FieldMemOperand(dst, offset)); |
+} |
+ |
+ |
void MacroAssembler::CheckEnumCache(Register object, |
Register null_value, |
Register scratch0, |