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 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
83 SaveFPRegsMode save_fp, | 83 SaveFPRegsMode save_fp, |
84 RememberedSetFinalAction and_then); | 84 RememberedSetFinalAction and_then); |
85 | 85 |
86 void CheckPageFlag(Register object, | 86 void CheckPageFlag(Register object, |
87 Register scratch, | 87 Register scratch, |
88 int mask, | 88 int mask, |
89 Condition cc, | 89 Condition cc, |
90 Label* condition_met, | 90 Label* condition_met, |
91 Label::Distance condition_met_distance = Label::kFar); | 91 Label::Distance condition_met_distance = Label::kFar); |
92 | 92 |
93 void CheckPageFlag(Handle<Map> map, | |
Michael Starzinger
2012/06/06 09:41:17
I am not sure if we should rename this to CheckPag
danno
2012/06/06 10:58:28
Done.
| |
94 int mask, | |
95 Condition cc, | |
96 Label* condition_met, | |
97 Label::Distance condition_met_distance = Label::kFar); | |
98 | |
93 // Check if object is in new space. Jumps if the object is not in new space. | 99 // Check if object is in new space. Jumps if the object is not in new space. |
94 // The register scratch can be object itself, but scratch will be clobbered. | 100 // The register scratch can be object itself, but scratch will be clobbered. |
95 void JumpIfNotInNewSpace(Register object, | 101 void JumpIfNotInNewSpace(Register object, |
96 Register scratch, | 102 Register scratch, |
97 Label* branch, | 103 Label* branch, |
98 Label::Distance distance = Label::kFar) { | 104 Label::Distance distance = Label::kFar) { |
99 InNewSpace(object, scratch, zero, branch, distance); | 105 InNewSpace(object, scratch, zero, branch, distance); |
100 } | 106 } |
101 | 107 |
102 // Check if object is in new space. Jumps if the object is in new space. | 108 // Check if object is in new space. Jumps if the object is in new space. |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
187 // operation. RecordWrite filters out smis so it does not update the | 193 // operation. RecordWrite filters out smis so it does not update the |
188 // write barrier if the value is a smi. | 194 // write barrier if the value is a smi. |
189 void RecordWrite( | 195 void RecordWrite( |
190 Register object, | 196 Register object, |
191 Register address, | 197 Register address, |
192 Register value, | 198 Register value, |
193 SaveFPRegsMode save_fp, | 199 SaveFPRegsMode save_fp, |
194 RememberedSetAction remembered_set_action = EMIT_REMEMBERED_SET, | 200 RememberedSetAction remembered_set_action = EMIT_REMEMBERED_SET, |
195 SmiCheck smi_check = INLINE_SMI_CHECK); | 201 SmiCheck smi_check = INLINE_SMI_CHECK); |
196 | 202 |
203 // For page containing |object| mark the region covering the object's map | |
204 // dirty. |object| is the object being stored into, |map| is the Map object | |
205 // that was stored. | |
206 void RecordWriteForMap( | |
207 Register object, | |
208 Handle<Map> map, | |
209 Register scratch1, | |
210 Register scratch2, | |
211 SaveFPRegsMode save_fp); | |
212 | |
197 #ifdef ENABLE_DEBUGGER_SUPPORT | 213 #ifdef ENABLE_DEBUGGER_SUPPORT |
198 // --------------------------------------------------------------------------- | 214 // --------------------------------------------------------------------------- |
199 // Debugger Support | 215 // Debugger Support |
200 | 216 |
201 void DebugBreak(); | 217 void DebugBreak(); |
202 #endif | 218 #endif |
203 | 219 |
204 // Enter specific kind of exit frame. Expects the number of | 220 // Enter specific kind of exit frame. Expects the number of |
205 // arguments in register eax and sets up the number of arguments in | 221 // arguments in register eax and sets up the number of arguments in |
206 // register edi and the pointer to the first argument in register | 222 // register edi and the pointer to the first argument in register |
(...skipping 763 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
970 } \ | 986 } \ |
971 masm-> | 987 masm-> |
972 #else | 988 #else |
973 #define ACCESS_MASM(masm) masm-> | 989 #define ACCESS_MASM(masm) masm-> |
974 #endif | 990 #endif |
975 | 991 |
976 | 992 |
977 } } // namespace v8::internal | 993 } } // namespace v8::internal |
978 | 994 |
979 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 995 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
OLD | NEW |