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 721 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
732 // Reconstruct a 64-bit integer from two 32-bit integers masquerading as | 732 // Reconstruct a 64-bit integer from two 32-bit integers masquerading as |
733 // smis on the top of stack. | 733 // smis on the top of stack. |
734 void PopInt64AsTwoSmis(Register dst, Register scratch = kScratchRegister); | 734 void PopInt64AsTwoSmis(Register dst, Register scratch = kScratchRegister); |
735 | 735 |
736 void Test(const Operand& dst, Smi* source); | 736 void Test(const Operand& dst, Smi* source); |
737 | 737 |
738 | 738 |
739 // --------------------------------------------------------------------------- | 739 // --------------------------------------------------------------------------- |
740 // String macros. | 740 // String macros. |
741 | 741 |
| 742 // Generate code to do a lookup in the number string cache. If the number in |
| 743 // the register object is found in the cache the generated code falls through |
| 744 // with the result in the result register. The object and the result register |
| 745 // can be the same. If the number is not found in the cache the code jumps to |
| 746 // the label not_found with only the content of register object unchanged. |
| 747 void LookupNumberStringCache(Register object, |
| 748 Register result, |
| 749 Register scratch1, |
| 750 Register scratch2, |
| 751 Label* not_found); |
| 752 |
742 // If object is a string, its map is loaded into object_map. | 753 // If object is a string, its map is loaded into object_map. |
743 void JumpIfNotString(Register object, | 754 void JumpIfNotString(Register object, |
744 Register object_map, | 755 Register object_map, |
745 Label* not_string, | 756 Label* not_string, |
746 Label::Distance near_jump = Label::kFar); | 757 Label::Distance near_jump = Label::kFar); |
747 | 758 |
748 | 759 |
749 void JumpIfNotBothSequentialAsciiStrings( | 760 void JumpIfNotBothSequentialAsciiStrings( |
750 Register first_object, | 761 Register first_object, |
751 Register second_object, | 762 Register second_object, |
(...skipping 819 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1571 masm->popfq(); \ | 1582 masm->popfq(); \ |
1572 } \ | 1583 } \ |
1573 masm-> | 1584 masm-> |
1574 #else | 1585 #else |
1575 #define ACCESS_MASM(masm) masm-> | 1586 #define ACCESS_MASM(masm) masm-> |
1576 #endif | 1587 #endif |
1577 | 1588 |
1578 } } // namespace v8::internal | 1589 } } // namespace v8::internal |
1579 | 1590 |
1580 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1591 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |