| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 // Check if an object has a given incremental marking colour. Also uses ecx! | 98 // Check if an object has a given incremental marking colour. Also uses ecx! |
| 99 // The colour bits are found by splitting the address at the bit offset | 99 // The colour bits are found by splitting the address at the bit offset |
| 100 // indicated by the mask: bits that are zero in the mask are used for the | 100 // indicated by the mask: bits that are zero in the mask are used for the |
| 101 // address of the bitmap, and bits that are one in the mask are used for the | 101 // address of the bitmap, and bits that are one in the mask are used for the |
| 102 // index of the bit. | 102 // index of the bit. |
| 103 template <typename LabelType> | 103 template <typename LabelType> |
| 104 void HasColour(Register object, | 104 void HasColour(Register object, |
| 105 Register scratch0, | 105 Register scratch0, |
| 106 Register scratch1, | 106 Register scratch1, |
| 107 LabelType* has_colour, | 107 LabelType* has_colour, |
| 108 uint32_t mask, | |
| 109 int header_size, | |
| 110 int first_bit, | 108 int first_bit, |
| 111 int second_bit, | 109 int second_bit); |
| 112 bool in_new_space); | |
| 113 | 110 |
| 114 template <typename LabelType> | 111 template <typename LabelType> |
| 115 void InOldSpaceIsBlack(Register object, | 112 void InOldSpaceIsBlack(Register object, |
| 116 Register scratch0, | 113 Register scratch0, |
| 117 Register scratch1, | 114 Register scratch1, |
| 118 LabelType* is_black); | 115 LabelType* is_black); |
| 119 | 116 |
| 120 template <typename LabelType> | 117 template <typename LabelType> |
| 121 void InNewSpaceIsBlack(Register object, | 118 void InNewSpaceIsBlack(Register object, |
| 122 Register scratch0, | 119 Register scratch0, |
| (...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 781 MUST_USE_RESULT MaybeObject* PopHandleScopeHelper(Register saved, | 778 MUST_USE_RESULT MaybeObject* PopHandleScopeHelper(Register saved, |
| 782 Register scratch, | 779 Register scratch, |
| 783 bool gc_allowed); | 780 bool gc_allowed); |
| 784 | 781 |
| 785 // Helper for finding the mark bits for an address. Afterwards, the | 782 // Helper for finding the mark bits for an address. Afterwards, the |
| 786 // bitmap register points at the word with the mark bits and the mask | 783 // bitmap register points at the word with the mark bits and the mask |
| 787 // the position of the first bit. Uses ecx as scratch and leaves addr_reg | 784 // the position of the first bit. Uses ecx as scratch and leaves addr_reg |
| 788 // unchanged. | 785 // unchanged. |
| 789 inline void MarkBits(Register addr_reg, | 786 inline void MarkBits(Register addr_reg, |
| 790 Register bitmap_reg, | 787 Register bitmap_reg, |
| 791 Register mask_reg, | 788 Register mask_reg); |
| 792 int32_t high_mask, | |
| 793 bool in_new_space); | |
| 794 | 789 |
| 795 // Compute memory operands for safepoint stack slots. | 790 // Compute memory operands for safepoint stack slots. |
| 796 Operand SafepointRegisterSlot(Register reg); | 791 Operand SafepointRegisterSlot(Register reg); |
| 797 static int SafepointRegisterStackIndex(int reg_code); | 792 static int SafepointRegisterStackIndex(int reg_code); |
| 798 | 793 |
| 799 // Needs access to SafepointRegisterStackIndex for optimized frame | 794 // Needs access to SafepointRegisterStackIndex for optimized frame |
| 800 // traversal. | 795 // traversal. |
| 801 friend class OptimizedFrame; | 796 friend class OptimizedFrame; |
| 802 }; | 797 }; |
| 803 | 798 |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 903 } \ | 898 } \ |
| 904 masm-> | 899 masm-> |
| 905 #else | 900 #else |
| 906 #define ACCESS_MASM(masm) masm-> | 901 #define ACCESS_MASM(masm) masm-> |
| 907 #endif | 902 #endif |
| 908 | 903 |
| 909 | 904 |
| 910 } } // namespace v8::internal | 905 } } // namespace v8::internal |
| 911 | 906 |
| 912 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 907 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
| OLD | NEW |