Index: src/x64/macro-assembler-x64.h |
diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h |
index 5268fe2a2e961c1069c38380bb60e6f86f659585..89b7962231c7f99edfb38ce8b398476dd9ec0131 100644 |
--- a/src/x64/macro-assembler-x64.h |
+++ b/src/x64/macro-assembler-x64.h |
@@ -949,13 +949,15 @@ class MacroAssembler: public Assembler { |
void LoadInstanceDescriptors(Register map, Register descriptors); |
void EnumLength(Register dst, Register map); |
+ void NumberOfOwnDescriptors(Register dst, Register map); |
template<typename Field> |
void DecodeField(Register reg) { |
- static const int full_shift = Field::kShift + kSmiShift; |
- static const int low_mask = Field::kMask >> Field::kShift; |
- shr(reg, Immediate(full_shift)); |
- and_(reg, Immediate(low_mask)); |
+ static const int shift = Field::kShift + kSmiShift; |
+ static const int mask = Field::kMask >> Field::kShift; |
+ shr(reg, Immediate(shift)); |
+ and_(reg, Immediate(mask)); |
+ shl(reg, Immediate(kSmiShift)); |
} |
// Abort execution if argument is not a number. Used in debug code. |