| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
| 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
| 7 | 7 |
| 8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
| 9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
| 10 #include "src/frames.h" | 10 #include "src/frames.h" |
| (...skipping 745 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 756 // tag_allocated_object is true the result is tagged as as a heap object. | 756 // tag_allocated_object is true the result is tagged as as a heap object. |
| 757 // All registers are clobbered also when control continues at the gc_required | 757 // All registers are clobbered also when control continues at the gc_required |
| 758 // label. | 758 // label. |
| 759 void Allocate(int object_size, | 759 void Allocate(int object_size, |
| 760 Register result, | 760 Register result, |
| 761 Register scratch1, | 761 Register scratch1, |
| 762 Register scratch2, | 762 Register scratch2, |
| 763 Label* gc_required, | 763 Label* gc_required, |
| 764 AllocationFlags flags); | 764 AllocationFlags flags); |
| 765 | 765 |
| 766 void Allocate(Register object_size, | 766 void Allocate(Register object_size, Register result, Register result_end, |
| 767 Register result, | 767 Register scratch, Label* gc_required, AllocationFlags flags); |
| 768 Register scratch1, | |
| 769 Register scratch2, | |
| 770 Label* gc_required, | |
| 771 AllocationFlags flags); | |
| 772 | 768 |
| 773 void AllocateTwoByteString(Register result, | 769 void AllocateTwoByteString(Register result, |
| 774 Register length, | 770 Register length, |
| 775 Register scratch1, | 771 Register scratch1, |
| 776 Register scratch2, | 772 Register scratch2, |
| 777 Register scratch3, | 773 Register scratch3, |
| 778 Label* gc_required); | 774 Label* gc_required); |
| 779 void AllocateOneByteString(Register result, Register length, | 775 void AllocateOneByteString(Register result, Register length, |
| 780 Register scratch1, Register scratch2, | 776 Register scratch1, Register scratch2, |
| 781 Register scratch3, Label* gc_required); | 777 Register scratch3, Label* gc_required); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 820 int field_count); | 816 int field_count); |
| 821 | 817 |
| 822 // Copies a number of bytes from src to dst. All registers are clobbered. On | 818 // Copies a number of bytes from src to dst. All registers are clobbered. On |
| 823 // exit src and dst will point to the place just after where the last byte was | 819 // exit src and dst will point to the place just after where the last byte was |
| 824 // read or written and length will be zero. | 820 // read or written and length will be zero. |
| 825 void CopyBytes(Register src, | 821 void CopyBytes(Register src, |
| 826 Register dst, | 822 Register dst, |
| 827 Register length, | 823 Register length, |
| 828 Register scratch); | 824 Register scratch); |
| 829 | 825 |
| 830 // Initialize fields with filler values. Fields starting at |start_offset| | 826 // Initialize fields with filler values. Fields starting at |current_address| |
| 831 // not including end_offset are overwritten with the value in |filler|. At | 827 // not including |end_address| are overwritten with the value in |filler|. At |
| 832 // the end the loop, |start_offset| takes the value of |end_offset|. | 828 // the end the loop, |current_address| takes the value of |end_address|. |
| 833 void InitializeFieldsWithFiller(Register start_offset, | 829 void InitializeFieldsWithFiller(Register current_address, |
| 834 Register end_offset, | 830 Register end_address, Register filler); |
| 835 Register filler); | |
| 836 | 831 |
| 837 // --------------------------------------------------------------------------- | 832 // --------------------------------------------------------------------------- |
| 838 // Support functions. | 833 // Support functions. |
| 839 | 834 |
| 840 // Machine code version of Map::GetConstructor(). | 835 // Machine code version of Map::GetConstructor(). |
| 841 // |temp| holds |result|'s map when done, and |temp2| its instance type. | 836 // |temp| holds |result|'s map when done, and |temp2| its instance type. |
| 842 void GetMapConstructor(Register result, Register map, Register temp, | 837 void GetMapConstructor(Register result, Register map, Register temp, |
| 843 Register temp2); | 838 Register temp2); |
| 844 | 839 |
| 845 // Try to get function prototype of a function and puts the value in | 840 // Try to get function prototype of a function and puts the value in |
| (...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1562 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1557 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 1563 #else | 1558 #else |
| 1564 #define ACCESS_MASM(masm) masm-> | 1559 #define ACCESS_MASM(masm) masm-> |
| 1565 #endif | 1560 #endif |
| 1566 | 1561 |
| 1567 | 1562 |
| 1568 } // namespace internal | 1563 } // namespace internal |
| 1569 } // namespace v8 | 1564 } // namespace v8 |
| 1570 | 1565 |
| 1571 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1566 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
| OLD | NEW |