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 723 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
734 void AllocateHeapNumberWithValue(Register result, | 734 void AllocateHeapNumberWithValue(Register result, |
735 DwVfpRegister value, | 735 DwVfpRegister value, |
736 Register scratch1, | 736 Register scratch1, |
737 Register scratch2, | 737 Register scratch2, |
738 Register heap_number_map, | 738 Register heap_number_map, |
739 Label* gc_required); | 739 Label* gc_required); |
740 | 740 |
741 // Copies a fixed number of fields of heap objects from src to dst. | 741 // Copies a fixed number of fields of heap objects from src to dst. |
742 void CopyFields(Register dst, Register src, RegList temps, int field_count); | 742 void CopyFields(Register dst, Register src, RegList temps, int field_count); |
743 | 743 |
| 744 // Copy a fixed number of fields of from src to dst using NEON. |
| 745 // A contiguous range of VFP registers is specified to hold temporary values; |
| 746 // providing more registers will result in smaller code size and lower |
| 747 // execution time. Both dst and src must be word aligned (so no tagged |
| 748 // pointers allowed). On completion, dst and src will point to the end of the |
| 749 // copied regions. |
| 750 void VFPCopyFields(Register dst, Register src, int field_count, |
| 751 SwVfpRegister first, SwVfpRegister last); |
| 752 |
744 // Copies a number of bytes from src to dst. All registers are clobbered. On | 753 // Copies a number of bytes from src to dst. All registers are clobbered. On |
745 // exit src and dst will point to the place just after where the last byte was | 754 // exit src and dst will point to the place just after where the last byte was |
746 // read or written and length will be zero. | 755 // read or written and length will be zero. |
747 void CopyBytes(Register src, | 756 void CopyBytes(Register src, |
748 Register dst, | 757 Register dst, |
749 Register length, | 758 Register length, |
750 Register scratch); | 759 Register scratch); |
751 | 760 |
752 // Initialize fields with filler values. Fields starting at |start_offset| | 761 // Initialize fields with filler values. Fields starting at |start_offset| |
753 // not including end_offset are overwritten with the value in |filler|. At | 762 // not including end_offset are overwritten with the value in |filler|. At |
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1399 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1408 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1400 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1409 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1401 #else | 1410 #else |
1402 #define ACCESS_MASM(masm) masm-> | 1411 #define ACCESS_MASM(masm) masm-> |
1403 #endif | 1412 #endif |
1404 | 1413 |
1405 | 1414 |
1406 } } // namespace v8::internal | 1415 } } // namespace v8::internal |
1407 | 1416 |
1408 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1417 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |