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

Unified Diff: src/arm/macro-assembler-arm.cc

Issue 7104107: Incremental mode now works for x64. The only difference (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/gc/
Patch Set: Created 9 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: src/arm/macro-assembler-arm.cc
===================================================================
--- src/arm/macro-assembler-arm.cc (revision 8221)
+++ src/arm/macro-assembler-arm.cc (working copy)
@@ -3166,6 +3166,25 @@
}
+void MacroAssembler::IsDataObject(Register value,
Lasse Reichstein 2011/06/10 13:55:44 JumpIfNotDataObject
Erik Corry 2011/06/10 21:57:29 Done.
+ Register scratch,
+ Label* not_data_object) {
Lasse Reichstein 2011/06/10 13:55:44 Should it have a distance too?
Erik Corry 2011/06/10 21:57:29 No, ARM has fixed width instructions.
+ Label is_data_object;
+ ldr(scratch, FieldMemOperand(value, HeapObject::kMapOffset));
+ CompareRoot(scratch, Heap::kHeapNumberMapRootIndex);
+ b(eq, &is_data_object);
+ ASSERT(kConsStringTag == 1 && kIsConsStringMask == 1);
+ ASSERT(kNotStringTag == 0x80 && kIsNotStringMask == 0x80);
+ // If it's a string and it's not a cons string then it's an object that
+ // doesn't need scanning.
+ ldrb(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset));
+ tst(scratch, Operand(kIsConsStringMask | kIsNotStringMask));
+ // Jump if we need to mark it grey and push it.
Lasse Reichstein 2011/06/10 13:55:44 Comment not related to function name or descriptio
Erik Corry 2011/06/10 21:57:29 Deleted.
+ b(ne, not_data_object);
+ bind(&is_data_object);
Lasse Reichstein 2011/06/10 13:55:44 This detects only HeapNumber and non-cons String.
Erik Corry 2011/06/10 21:57:29 Done.
+}
+
+
void MacroAssembler::GetMarkBits(Register addr_reg,
Register bitmap_reg,
Register mask_reg) {

Powered by Google App Engine
This is Rietveld 408576698