Index: src/mips/macro-assembler-mips.h |
diff --git a/src/mips/macro-assembler-mips.h b/src/mips/macro-assembler-mips.h |
index 2a77d6ce2305edf67ded888aa2c9aafddaa0a2cf..dcbeb9fd0e81c1500bf83bb507e764df55ad5a0a 100644 |
--- a/src/mips/macro-assembler-mips.h |
+++ b/src/mips/macro-assembler-mips.h |
@@ -1400,7 +1400,15 @@ class MacroAssembler: public Assembler { |
Register descriptors, |
Register scratch); |
void EnumLength(Register dst, Register map); |
- |
+ void NumberOfOwnDescriptors(Register dst, Register map); |
+ |
+ template<typename Field> |
+ void DecodeField(Register reg) { |
+ static const int shift = Field::kShift; |
+ static const int mask = (Field::kMask >> shift) << kSmiTagSize; |
+ srl(reg, reg, shift); |
+ And(reg, reg, Operand(mask)); |
+ } |
// Activation support. |
void EnterFrame(StackFrame::Type type); |