Index: src/mips64/macro-assembler-mips64.cc |
diff --git a/src/mips64/macro-assembler-mips64.cc b/src/mips64/macro-assembler-mips64.cc |
index 903247394301f5efff2b8b0489b14d70a2c03ca6..21cc3dc1eb29957742e4b23662bc18e1d1c08312 100644 |
--- a/src/mips64/macro-assembler-mips64.cc |
+++ b/src/mips64/macro-assembler-mips64.cc |
@@ -5929,6 +5929,19 @@ void MacroAssembler::EnumLength(Register dst, Register map) { |
} |
+void MacroAssembler::LoadAccessor(Register dst, Register holder, |
+ int accessor_index, |
+ AccessorComponent accessor) { |
+ ld(dst, FieldMemOperand(holder, HeapObject::kMapOffset)); |
+ LoadInstanceDescriptors(dst, dst); |
+ ld(dst, |
+ FieldMemOperand(dst, DescriptorArray::GetValueOffset(accessor_index))); |
+ int offset = accessor == ACCESSOR_GETTER ? AccessorPair::kGetterOffset |
+ : AccessorPair::kSetterOffset; |
+ ld(dst, FieldMemOperand(dst, offset)); |
+} |
+ |
+ |
void MacroAssembler::CheckEnumCache(Register null_value, Label* call_runtime) { |
Register empty_fixed_array_value = a6; |
LoadRoot(empty_fixed_array_value, Heap::kEmptyFixedArrayRootIndex); |