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

Unified Diff: src/ia32/macro-assembler-ia32.h

Issue 6597104: Move IncrementalRecordWrite to a stub. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/gc
Patch Set: Created 9 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 side-by-side diff with in-line comments
Download patch
Index: src/ia32/macro-assembler-ia32.h
diff --git a/src/ia32/macro-assembler-ia32.h b/src/ia32/macro-assembler-ia32.h
index 08541a56b78e15734c58844df4863ceca09b3225..efb9de88d2a7b63c2e66ad9ad927cc4c8474e471 100644
--- a/src/ia32/macro-assembler-ia32.h
+++ b/src/ia32/macro-assembler-ia32.h
@@ -53,6 +53,11 @@ typedef Operand MemOperand;
class JumpTarget;
class PostCallGenerator;
+enum SmiCheck { INLINE_SMI_CHECK, OMIT_SMI_CHECK };
+enum ObjectMode { PRESERVE_OBJECT, DESTROY_OBJECT };
+enum ValueMode { PRESERVE_VALUE, DESTROY_VALUE };
+enum ScratchMode { PRESERVE_SCRATCH, DESTROY_SCRATCH };
+
// MacroAssembler implements a collection of frequently used macros.
class MacroAssembler: public Assembler {
public:
@@ -61,9 +66,22 @@ class MacroAssembler: public Assembler {
// ---------------------------------------------------------------------------
// GC Support
+ void IncrementalMarkingRecordWriteHelper(Register object,
+ Register value,
+ Register scratch,
+ ObjectMode object_mode,
+ ValueMode value_mode,
+ ScratchMode scratch_mode);
+
+
void IncrementalMarkingRecordWrite(Register object,
Register value,
- Register scratch);
+ Register scratch,
+ SmiCheck smi_check,
+ ObjectMode object_mode,
+ ValueMode value_mode,
+ ScratchMode scratch_mode);
+
// For page containing |object| mark region covering |addr| dirty.
// RecordWriteHelper only works if the object is not in new

Powered by Google App Engine
This is Rietveld 408576698