Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Side by Side Diff: src/ia32/macro-assembler-ia32.h

Issue 1647123002: Write barrier for storing a code entry, and usage in CompileLazy builtin. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_IA32_MACRO_ASSEMBLER_IA32_H_ 5 #ifndef V8_IA32_MACRO_ASSEMBLER_IA32_H_
6 #define V8_IA32_MACRO_ASSEMBLER_IA32_H_ 6 #define V8_IA32_MACRO_ASSEMBLER_IA32_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 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 // The offset is the offset from the start of the object, not the offset from 161 // The offset is the offset from the start of the object, not the offset from
162 // the tagged HeapObject pointer. For use with FieldOperand(reg, off). 162 // the tagged HeapObject pointer. For use with FieldOperand(reg, off).
163 void RecordWriteField( 163 void RecordWriteField(
164 Register object, int offset, Register value, Register scratch, 164 Register object, int offset, Register value, Register scratch,
165 SaveFPRegsMode save_fp, 165 SaveFPRegsMode save_fp,
166 RememberedSetAction remembered_set_action = EMIT_REMEMBERED_SET, 166 RememberedSetAction remembered_set_action = EMIT_REMEMBERED_SET,
167 SmiCheck smi_check = INLINE_SMI_CHECK, 167 SmiCheck smi_check = INLINE_SMI_CHECK,
168 PointersToHereCheck pointers_to_here_check_for_value = 168 PointersToHereCheck pointers_to_here_check_for_value =
169 kPointersToHereMaybeInteresting); 169 kPointersToHereMaybeInteresting);
170 170
171 void RecordWriteCodeEntryField(Register js_function, Register code_entry,
172 Register scratch);
173
171 // As above, but the offset has the tag presubtracted. For use with 174 // As above, but the offset has the tag presubtracted. For use with
172 // Operand(reg, off). 175 // Operand(reg, off).
173 void RecordWriteContextSlot( 176 void RecordWriteContextSlot(
174 Register context, int offset, Register value, Register scratch, 177 Register context, int offset, Register value, Register scratch,
175 SaveFPRegsMode save_fp, 178 SaveFPRegsMode save_fp,
176 RememberedSetAction remembered_set_action = EMIT_REMEMBERED_SET, 179 RememberedSetAction remembered_set_action = EMIT_REMEMBERED_SET,
177 SmiCheck smi_check = INLINE_SMI_CHECK, 180 SmiCheck smi_check = INLINE_SMI_CHECK,
178 PointersToHereCheck pointers_to_here_check_for_value = 181 PointersToHereCheck pointers_to_here_check_for_value =
179 kPointersToHereMaybeInteresting) { 182 kPointersToHereMaybeInteresting) {
180 RecordWriteField(context, offset + kHeapObjectTag, value, scratch, save_fp, 183 RecordWriteField(context, offset + kHeapObjectTag, value, scratch, save_fp,
(...skipping 826 matching lines...) Expand 10 before | Expand all | Expand 10 after
1007 } \ 1010 } \
1008 masm-> 1011 masm->
1009 #else 1012 #else
1010 #define ACCESS_MASM(masm) masm-> 1013 #define ACCESS_MASM(masm) masm->
1011 #endif 1014 #endif
1012 1015
1013 } // namespace internal 1016 } // namespace internal
1014 } // namespace v8 1017 } // namespace v8
1015 1018
1016 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ 1019 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698