| Index: src/x64/macro-assembler-x64.h
|
| diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h
|
| index d9893d62109a7db7fe8e13958462a2cc26e79924..8f0d6724e0f9daa6e37713f27e4bd32b75f7c165 100644
|
| --- a/src/x64/macro-assembler-x64.h
|
| +++ b/src/x64/macro-assembler-x64.h
|
| @@ -1011,11 +1011,10 @@ class MacroAssembler: public Assembler {
|
|
|
| template<typename Field>
|
| void DecodeField(Register reg) {
|
| - static const int shift = Field::kShift + kSmiShift;
|
| + static const int shift = Field::kShift;
|
| static const int mask = Field::kMask >> Field::kShift;
|
| - shrp(reg, Immediate(shift));
|
| - andp(reg, Immediate(mask));
|
| - shlp(reg, Immediate(kSmiShift));
|
| + shrl(reg, Immediate(shift));
|
| + andl(reg, Immediate(mask));
|
| }
|
|
|
| // Abort execution if argument is not a number, enabled via --debug-code.
|
|
|