OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 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 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 // the label. | 299 // the label. |
300 void SmiTryAddConstant(Register dst, | 300 void SmiTryAddConstant(Register dst, |
301 Register src, | 301 Register src, |
302 Smi* constant, | 302 Smi* constant, |
303 Label* on_not_smi_result); | 303 Label* on_not_smi_result); |
304 | 304 |
305 // Add an integer constant to a tagged smi, giving a tagged smi as result. | 305 // Add an integer constant to a tagged smi, giving a tagged smi as result. |
306 // No overflow testing on the result is done. | 306 // No overflow testing on the result is done. |
307 void SmiAddConstant(Register dst, Register src, Smi* constant); | 307 void SmiAddConstant(Register dst, Register src, Smi* constant); |
308 | 308 |
| 309 // Add an integer constant to a tagged smi, giving a tagged smi as result. |
| 310 // No overflow testing on the result is done. |
| 311 void SmiAddConstant(const Operand& dst, Smi* constant); |
| 312 |
309 // Add an integer constant to a tagged smi, giving a tagged smi as result, | 313 // Add an integer constant to a tagged smi, giving a tagged smi as result, |
310 // or jumping to a label if the result cannot be represented by a smi. | 314 // or jumping to a label if the result cannot be represented by a smi. |
311 void SmiAddConstant(Register dst, | 315 void SmiAddConstant(Register dst, |
312 Register src, | 316 Register src, |
313 Smi* constant, | 317 Smi* constant, |
314 Label* on_not_smi_result); | 318 Label* on_not_smi_result); |
315 | 319 |
316 // Subtract an integer constant from a tagged smi, giving a tagged smi as | 320 // Subtract an integer constant from a tagged smi, giving a tagged smi as |
317 // result. No testing on the result is done. Sets the N and Z flags | 321 // result. No testing on the result is done. Sets the N and Z flags |
318 // based on the value of the resulting integer. | 322 // based on the value of the resulting integer. |
(...skipping 23 matching lines...) Expand all Loading... |
342 // Subtracts smi values and return the result as a smi. | 346 // Subtracts smi values and return the result as a smi. |
343 // If dst is src1, then src1 will be destroyed, even if | 347 // If dst is src1, then src1 will be destroyed, even if |
344 // the operation is unsuccessful. | 348 // the operation is unsuccessful. |
345 void SmiSub(Register dst, | 349 void SmiSub(Register dst, |
346 Register src1, | 350 Register src1, |
347 Register src2, | 351 Register src2, |
348 Label* on_not_smi_result); | 352 Label* on_not_smi_result); |
349 | 353 |
350 void SmiSub(Register dst, | 354 void SmiSub(Register dst, |
351 Register src1, | 355 Register src1, |
352 Operand const& src2, | 356 const Operand& src2, |
353 Label* on_not_smi_result); | 357 Label* on_not_smi_result); |
354 | 358 |
355 // Multiplies smi values and return the result as a smi, | 359 // Multiplies smi values and return the result as a smi, |
356 // if possible. | 360 // if possible. |
357 // If dst is src1, then src1 will be destroyed, even if | 361 // If dst is src1, then src1 will be destroyed, even if |
358 // the operation is unsuccessful. | 362 // the operation is unsuccessful. |
359 void SmiMul(Register dst, | 363 void SmiMul(Register dst, |
360 Register src1, | 364 Register src1, |
361 Register src2, | 365 Register src2, |
362 Label* on_not_smi_result); | 366 Label* on_not_smi_result); |
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
872 } \ | 876 } \ |
873 masm-> | 877 masm-> |
874 #else | 878 #else |
875 #define ACCESS_MASM(masm) masm-> | 879 #define ACCESS_MASM(masm) masm-> |
876 #endif | 880 #endif |
877 | 881 |
878 | 882 |
879 } } // namespace v8::internal | 883 } } // namespace v8::internal |
880 | 884 |
881 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 885 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |