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/x64/macro-assembler-x64.h

Issue 1517993003: [heap] Black is encoded with 11, grey with 10. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 11 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_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 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 InNewSpace(object, scratch, equal, branch, distance); 229 InNewSpace(object, scratch, equal, branch, distance);
230 } 230 }
231 231
232 // Check if an object has the black incremental marking color. Also uses rcx! 232 // Check if an object has the black incremental marking color. Also uses rcx!
233 void JumpIfBlack(Register object, 233 void JumpIfBlack(Register object,
234 Register scratch0, 234 Register scratch0,
235 Register scratch1, 235 Register scratch1,
236 Label* on_black, 236 Label* on_black,
237 Label::Distance on_black_distance = Label::kFar); 237 Label::Distance on_black_distance = Label::kFar);
238 238
239 void HasColor(Register object, Register bitmap_scratch, Register mask_scratch,
240 Label* has_color, Label::Distance has_color_distance,
241 int first_bit, int second_bit);
242
239 // Checks the color of an object. If the object is white we jump to the 243 // Checks the color of an object. If the object is white we jump to the
240 // incremental marker. 244 // incremental marker.
241 void JumpIfWhite(Register value, Register scratch1, Register scratch2, 245 void JumpIfWhite(Register value, Register scratch1, Register scratch2,
242 Label* value_is_white, Label::Distance distance); 246 Label* value_is_white, Label::Distance distance);
243 247
244 // Notify the garbage collector that we wrote a pointer into an object. 248 // Notify the garbage collector that we wrote a pointer into an object.
245 // |object| is the object being stored into, |value| is the object being 249 // |object| is the object being stored into, |value| is the object being
246 // stored. value and scratch registers are clobbered by the operation. 250 // stored. value and scratch registers are clobbered by the operation.
247 // The offset is the offset from the start of the object, not the offset from 251 // The offset is the offset from the start of the object, not the offset from
248 // the tagged HeapObject pointer. For use with FieldOperand(reg, off). 252 // the tagged HeapObject pointer. For use with FieldOperand(reg, off).
(...skipping 1487 matching lines...) Expand 10 before | Expand all | Expand 10 after
1736 } \ 1740 } \
1737 masm-> 1741 masm->
1738 #else 1742 #else
1739 #define ACCESS_MASM(masm) masm-> 1743 #define ACCESS_MASM(masm) masm->
1740 #endif 1744 #endif
1741 1745
1742 } // namespace internal 1746 } // namespace internal
1743 } // namespace v8 1747 } // namespace v8
1744 1748
1745 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ 1749 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698