OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #if V8_TARGET_ARCH_X64 | 5 #if V8_TARGET_ARCH_X64 |
6 | 6 |
7 #include "src/base/bits.h" | 7 #include "src/base/bits.h" |
8 #include "src/base/division-by-constant.h" | 8 #include "src/base/division-by-constant.h" |
9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 1552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1563 } | 1563 } |
1564 | 1564 |
1565 | 1565 |
1566 void MacroAssembler::JumpIfNotSmi(Register src, | 1566 void MacroAssembler::JumpIfNotSmi(Register src, |
1567 Label* on_not_smi, | 1567 Label* on_not_smi, |
1568 Label::Distance near_jump) { | 1568 Label::Distance near_jump) { |
1569 Condition smi = CheckSmi(src); | 1569 Condition smi = CheckSmi(src); |
1570 j(NegateCondition(smi), on_not_smi, near_jump); | 1570 j(NegateCondition(smi), on_not_smi, near_jump); |
1571 } | 1571 } |
1572 | 1572 |
| 1573 void MacroAssembler::JumpIfNotSmi(Operand src, Label* on_not_smi, |
| 1574 Label::Distance near_jump) { |
| 1575 Condition smi = CheckSmi(src); |
| 1576 j(NegateCondition(smi), on_not_smi, near_jump); |
| 1577 } |
1573 | 1578 |
1574 void MacroAssembler::JumpUnlessNonNegativeSmi( | 1579 void MacroAssembler::JumpUnlessNonNegativeSmi( |
1575 Register src, Label* on_not_smi_or_negative, | 1580 Register src, Label* on_not_smi_or_negative, |
1576 Label::Distance near_jump) { | 1581 Label::Distance near_jump) { |
1577 Condition non_negative_smi = CheckNonNegativeSmi(src); | 1582 Condition non_negative_smi = CheckNonNegativeSmi(src); |
1578 j(NegateCondition(non_negative_smi), on_not_smi_or_negative, near_jump); | 1583 j(NegateCondition(non_negative_smi), on_not_smi_or_negative, near_jump); |
1579 } | 1584 } |
1580 | 1585 |
1581 | 1586 |
1582 void MacroAssembler::JumpIfSmiEqualsConstant(Register src, | 1587 void MacroAssembler::JumpIfSmiEqualsConstant(Register src, |
(...skipping 3714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5297 movl(rax, dividend); | 5302 movl(rax, dividend); |
5298 shrl(rax, Immediate(31)); | 5303 shrl(rax, Immediate(31)); |
5299 addl(rdx, rax); | 5304 addl(rdx, rax); |
5300 } | 5305 } |
5301 | 5306 |
5302 | 5307 |
5303 } // namespace internal | 5308 } // namespace internal |
5304 } // namespace v8 | 5309 } // namespace v8 |
5305 | 5310 |
5306 #endif // V8_TARGET_ARCH_X64 | 5311 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |