| 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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 SaveFPRegsMode save_fp); | 81 SaveFPRegsMode save_fp); |
| 82 | 82 |
| 83 // Check if object is in new space. | 83 // Check if object is in new space. |
| 84 // scratch can be object itself, but it will be clobbered. | 84 // scratch can be object itself, but it will be clobbered. |
| 85 template <typename LabelType> | 85 template <typename LabelType> |
| 86 void InNewSpace(Register object, | 86 void InNewSpace(Register object, |
| 87 Register scratch, | 87 Register scratch, |
| 88 Condition cc, // equal for new space, not_equal otherwise. | 88 Condition cc, // equal for new space, not_equal otherwise. |
| 89 LabelType* branch); | 89 LabelType* branch); |
| 90 | 90 |
| 91 // Check if old-space object is on a scan-on-scavenge page. | 91 template<typename LabelType> |
| 92 template <typename LabelType> | 92 void CheckPageFlag(Register object, |
| 93 void HasScanOnScavenge(Register object, | 93 Register scratch, |
| 94 Register scratch, | 94 MemoryChunk::MemoryChunkFlags flag, |
| 95 LabelType* scan_on_scavenge); | 95 Condition cc, |
| 96 LabelType* not_set); |
| 96 | 97 |
| 97 // 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! |
| 98 // 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 |
| 99 // 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 |
| 100 // 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 |
| 101 // index of the bit. | 102 // index of the bit. |
| 102 template <typename LabelType> | 103 template <typename LabelType> |
| 103 void HasColour(Register object, | 104 void HasColour(Register object, |
| 104 Register scratch0, | 105 Register scratch0, |
| 105 Register scratch1, | 106 Register scratch1, |
| (...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 902 } \ | 903 } \ |
| 903 masm-> | 904 masm-> |
| 904 #else | 905 #else |
| 905 #define ACCESS_MASM(masm) masm-> | 906 #define ACCESS_MASM(masm) masm-> |
| 906 #endif | 907 #endif |
| 907 | 908 |
| 908 | 909 |
| 909 } } // namespace v8::internal | 910 } } // namespace v8::internal |
| 910 | 911 |
| 911 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 912 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
| OLD | NEW |