| Index: src/x64/macro-assembler-x64.cc
|
| diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc
|
| index f5aa8d6a4f363e000be615e11397a041eceac3d2..3a477fc7937382ceae2ba1951f918683cb779c0e 100644
|
| --- a/src/x64/macro-assembler-x64.cc
|
| +++ b/src/x64/macro-assembler-x64.cc
|
| @@ -3413,6 +3413,18 @@ void MacroAssembler::EnumLength(Register dst, Register map) {
|
| }
|
|
|
|
|
| +void MacroAssembler::LoadAccessor(Register dst, Register holder,
|
| + int accessor_index,
|
| + AccessorComponent accessor) {
|
| + movp(dst, FieldOperand(holder, HeapObject::kMapOffset));
|
| + LoadInstanceDescriptors(dst, dst);
|
| + movp(dst, FieldOperand(dst, DescriptorArray::GetValueOffset(accessor_index)));
|
| + int offset = accessor == ACCESSOR_GETTER ? AccessorPair::kGetterOffset
|
| + : AccessorPair::kSetterOffset;
|
| + movp(dst, FieldOperand(dst, offset));
|
| +}
|
| +
|
| +
|
| void MacroAssembler::DispatchWeakMap(Register obj, Register scratch1,
|
| Register scratch2, Handle<WeakCell> cell,
|
| Handle<Code> success,
|
|
|