OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1151 sar(dst, Immediate(kSmiShift)); | 1151 sar(dst, Immediate(kSmiShift)); |
1152 } | 1152 } |
1153 | 1153 |
1154 | 1154 |
1155 void MacroAssembler::SmiToInteger64(Register dst, const Operand& src) { | 1155 void MacroAssembler::SmiToInteger64(Register dst, const Operand& src) { |
1156 movsxlq(dst, Operand(src, kSmiShift / kBitsPerByte)); | 1156 movsxlq(dst, Operand(src, kSmiShift / kBitsPerByte)); |
1157 } | 1157 } |
1158 | 1158 |
1159 | 1159 |
1160 void MacroAssembler::SmiTest(Register src) { | 1160 void MacroAssembler::SmiTest(Register src) { |
| 1161 AssertSmi(src); |
1161 testq(src, src); | 1162 testq(src, src); |
1162 } | 1163 } |
1163 | 1164 |
1164 | 1165 |
1165 void MacroAssembler::SmiCompare(Register smi1, Register smi2) { | 1166 void MacroAssembler::SmiCompare(Register smi1, Register smi2) { |
1166 AssertSmi(smi1); | 1167 AssertSmi(smi1); |
1167 AssertSmi(smi2); | 1168 AssertSmi(smi2); |
1168 cmpq(smi1, smi2); | 1169 cmpq(smi1, smi2); |
1169 } | 1170 } |
1170 | 1171 |
(...skipping 3519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4690 j(greater, &no_memento_available); | 4691 j(greater, &no_memento_available); |
4691 CompareRoot(MemOperand(scratch_reg, -AllocationMemento::kSize), | 4692 CompareRoot(MemOperand(scratch_reg, -AllocationMemento::kSize), |
4692 Heap::kAllocationMementoMapRootIndex); | 4693 Heap::kAllocationMementoMapRootIndex); |
4693 bind(&no_memento_available); | 4694 bind(&no_memento_available); |
4694 } | 4695 } |
4695 | 4696 |
4696 | 4697 |
4697 } } // namespace v8::internal | 4698 } } // namespace v8::internal |
4698 | 4699 |
4699 #endif // V8_TARGET_ARCH_X64 | 4700 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |