OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_PPC_MACRO_ASSEMBLER_PPC_H_ | 5 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 6 #define V8_PPC_MACRO_ASSEMBLER_PPC_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 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, | 243 LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, |
244 RememberedSetAction remembered_set_action = EMIT_REMEMBERED_SET, | 244 RememberedSetAction remembered_set_action = EMIT_REMEMBERED_SET, |
245 SmiCheck smi_check = INLINE_SMI_CHECK, | 245 SmiCheck smi_check = INLINE_SMI_CHECK, |
246 PointersToHereCheck pointers_to_here_check_for_value = | 246 PointersToHereCheck pointers_to_here_check_for_value = |
247 kPointersToHereMaybeInteresting) { | 247 kPointersToHereMaybeInteresting) { |
248 RecordWriteField(context, offset + kHeapObjectTag, value, scratch, | 248 RecordWriteField(context, offset + kHeapObjectTag, value, scratch, |
249 lr_status, save_fp, remembered_set_action, smi_check, | 249 lr_status, save_fp, remembered_set_action, smi_check, |
250 pointers_to_here_check_for_value); | 250 pointers_to_here_check_for_value); |
251 } | 251 } |
252 | 252 |
| 253 // Notify the garbage collector that we wrote a code entry into a |
| 254 // JSFunction. Only scratch is clobbered by the operation. |
| 255 void RecordWriteCodeEntryField(Register js_function, Register code_entry, |
| 256 Register scratch); |
| 257 |
253 void RecordWriteForMap(Register object, Register map, Register dst, | 258 void RecordWriteForMap(Register object, Register map, Register dst, |
254 LinkRegisterStatus lr_status, SaveFPRegsMode save_fp); | 259 LinkRegisterStatus lr_status, SaveFPRegsMode save_fp); |
255 | 260 |
256 // For a given |object| notify the garbage collector that the slot |address| | 261 // For a given |object| notify the garbage collector that the slot |address| |
257 // has been written. |value| is the object being stored. The value and | 262 // has been written. |value| is the object being stored. The value and |
258 // address registers are clobbered by the operation. | 263 // address registers are clobbered by the operation. |
259 void RecordWrite( | 264 void RecordWrite( |
260 Register object, Register address, Register value, | 265 Register object, Register address, Register value, |
261 LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, | 266 LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, |
262 RememberedSetAction remembered_set_action = EMIT_REMEMBERED_SET, | 267 RememberedSetAction remembered_set_action = EMIT_REMEMBERED_SET, |
(...skipping 1338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1601 #define ACCESS_MASM(masm) \ | 1606 #define ACCESS_MASM(masm) \ |
1602 masm->stop(__FILE_LINE__); \ | 1607 masm->stop(__FILE_LINE__); \ |
1603 masm-> | 1608 masm-> |
1604 #else | 1609 #else |
1605 #define ACCESS_MASM(masm) masm-> | 1610 #define ACCESS_MASM(masm) masm-> |
1606 #endif | 1611 #endif |
1607 } // namespace internal | 1612 } // namespace internal |
1608 } // namespace v8 | 1613 } // namespace v8 |
1609 | 1614 |
1610 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 1615 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
OLD | NEW |