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_X64_MACRO_ASSEMBLER_X64_H_ | 5 #ifndef V8_X64_MACRO_ASSEMBLER_X64_H_ |
6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ | 6 #define V8_X64_MACRO_ASSEMBLER_X64_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/base/flags.h" | 10 #include "src/base/flags.h" |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
287 void RecordWriteArray( | 287 void RecordWriteArray( |
288 Register array, | 288 Register array, |
289 Register value, | 289 Register value, |
290 Register index, | 290 Register index, |
291 SaveFPRegsMode save_fp, | 291 SaveFPRegsMode save_fp, |
292 RememberedSetAction remembered_set_action = EMIT_REMEMBERED_SET, | 292 RememberedSetAction remembered_set_action = EMIT_REMEMBERED_SET, |
293 SmiCheck smi_check = INLINE_SMI_CHECK, | 293 SmiCheck smi_check = INLINE_SMI_CHECK, |
294 PointersToHereCheck pointers_to_here_check_for_value = | 294 PointersToHereCheck pointers_to_here_check_for_value = |
295 kPointersToHereMaybeInteresting); | 295 kPointersToHereMaybeInteresting); |
296 | 296 |
| 297 // Notify the garbage collector that we wrote a code entry into a |
| 298 // JSFunction. Only scratch is clobbered by the operation. |
| 299 void RecordWriteCodeEntryField(Register js_function, Register code_entry, |
| 300 Register scratch); |
| 301 |
297 void RecordWriteForMap( | 302 void RecordWriteForMap( |
298 Register object, | 303 Register object, |
299 Register map, | 304 Register map, |
300 Register dst, | 305 Register dst, |
301 SaveFPRegsMode save_fp); | 306 SaveFPRegsMode save_fp); |
302 | 307 |
303 // For page containing |object| mark region covering |address| | 308 // For page containing |object| mark region covering |address| |
304 // dirty. |object| is the object being stored into, |value| is the | 309 // dirty. |object| is the object being stored into, |value| is the |
305 // object being stored. The address and value registers are clobbered by the | 310 // object being stored. The address and value registers are clobbered by the |
306 // operation. RecordWrite filters out smis so it does not update | 311 // operation. RecordWrite filters out smis so it does not update |
(...skipping 1438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1745 } \ | 1750 } \ |
1746 masm-> | 1751 masm-> |
1747 #else | 1752 #else |
1748 #define ACCESS_MASM(masm) masm-> | 1753 #define ACCESS_MASM(masm) masm-> |
1749 #endif | 1754 #endif |
1750 | 1755 |
1751 } // namespace internal | 1756 } // namespace internal |
1752 } // namespace v8 | 1757 } // namespace v8 |
1753 | 1758 |
1754 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1759 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |