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 740 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
751 void AllocateHeapNumberWithValue(Register result, | 751 void AllocateHeapNumberWithValue(Register result, |
752 DwVfpRegister value, | 752 DwVfpRegister value, |
753 Register scratch1, | 753 Register scratch1, |
754 Register scratch2, | 754 Register scratch2, |
755 Register heap_number_map, | 755 Register heap_number_map, |
756 Label* gc_required); | 756 Label* gc_required); |
757 | 757 |
758 // Copies a fixed number of fields of heap objects from src to dst. | 758 // Copies a fixed number of fields of heap objects from src to dst. |
759 void CopyFields(Register dst, Register src, RegList temps, int field_count); | 759 void CopyFields(Register dst, Register src, RegList temps, int field_count); |
760 | 760 |
| 761 // Copy a fixed number of fields of from src to dst using NEON. |
| 762 // A contiguous range of VFP registers is specified to hold temporary values; |
| 763 // providing more registers will result in smaller code size and lower |
| 764 // execution time. Both dst and src must be word aligned (so no tagged |
| 765 // pointers allowed). On completion, dst and src will point to the end of the |
| 766 // copied regions. |
| 767 void VFPCopyFields(Register dst, Register src, int field_count, |
| 768 SwVfpRegister first, SwVfpRegister last); |
| 769 |
761 // Copies a number of bytes from src to dst. All registers are clobbered. On | 770 // Copies a number of bytes from src to dst. All registers are clobbered. On |
762 // exit src and dst will point to the place just after where the last byte was | 771 // exit src and dst will point to the place just after where the last byte was |
763 // read or written and length will be zero. | 772 // read or written and length will be zero. |
764 void CopyBytes(Register src, | 773 void CopyBytes(Register src, |
765 Register dst, | 774 Register dst, |
766 Register length, | 775 Register length, |
767 Register scratch); | 776 Register scratch); |
768 | 777 |
769 // Initialize fields with filler values. Fields starting at |start_offset| | 778 // Initialize fields with filler values. Fields starting at |start_offset| |
770 // not including end_offset are overwritten with the value in |filler|. At | 779 // not including end_offset are overwritten with the value in |filler|. At |
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1417 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1426 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1418 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1427 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1419 #else | 1428 #else |
1420 #define ACCESS_MASM(masm) masm-> | 1429 #define ACCESS_MASM(masm) masm-> |
1421 #endif | 1430 #endif |
1422 | 1431 |
1423 | 1432 |
1424 } } // namespace v8::internal | 1433 } } // namespace v8::internal |
1425 | 1434 |
1426 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1435 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |