| Index: src/x64/macro-assembler-x64.h
|
| diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h
|
| index a5a03f6aca2e0555a5b9b4b288a721cd788ab5fe..1d7d141f340499fcc6ac722bf3068ae99863863e 100644
|
| --- a/src/x64/macro-assembler-x64.h
|
| +++ b/src/x64/macro-assembler-x64.h
|
| @@ -470,10 +470,18 @@ class MacroAssembler: public Assembler {
|
| // Test-and-jump functions. Typically combines a check function
|
| // above with a conditional jump.
|
|
|
| + // Jump if the value can be represented by a smi.
|
| + void JumpIfValidSmiValue(Register src, Label* on_valid,
|
| + Label::Distance near_jump = Label::kFar);
|
| +
|
| // Jump if the value cannot be represented by a smi.
|
| void JumpIfNotValidSmiValue(Register src, Label* on_invalid,
|
| Label::Distance near_jump = Label::kFar);
|
|
|
| + // Jump if the unsigned integer value can be represented by a smi.
|
| + void JumpIfUIntValidSmiValue(Register src, Label* on_valid,
|
| + Label::Distance near_jump = Label::kFar);
|
| +
|
| // Jump if the unsigned integer value cannot be represented by a smi.
|
| void JumpIfUIntNotValidSmiValue(Register src, Label* on_invalid,
|
| Label::Distance near_jump = Label::kFar);
|
| @@ -631,7 +639,9 @@ class MacroAssembler: public Assembler {
|
|
|
| void SmiShiftLeftConstant(Register dst,
|
| Register src,
|
| - int shift_value);
|
| + int shift_value,
|
| + Label* on_not_smi_result = NULL,
|
| + Label::Distance near_jump = Label::kFar);
|
| void SmiShiftLogicalRightConstant(Register dst,
|
| Register src,
|
| int shift_value,
|
| @@ -645,7 +655,9 @@ class MacroAssembler: public Assembler {
|
| // Uses and clobbers rcx, so dst may not be rcx.
|
| void SmiShiftLeft(Register dst,
|
| Register src1,
|
| - Register src2);
|
| + Register src2,
|
| + Label* on_not_smi_result = NULL,
|
| + Label::Distance near_jump = Label::kFar);
|
| // Shifts a smi value to the right, shifting in zero bits at the top, and
|
| // returns the unsigned intepretation of the result if that is a smi.
|
| // Uses and clobbers rcx, so dst may not be rcx.
|
|
|