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

Unified Diff: src/ia32/full-codegen-ia32.cc

Issue 6794052: Combine the incremental-marking write barrier and the remembered-set... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/gc/
Patch Set: Created 9 years, 9 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/full-codegen-ia32.cc
===================================================================
--- src/ia32/full-codegen-ia32.cc (revision 7494)
+++ src/ia32/full-codegen-ia32.cc (working copy)
@@ -3093,8 +3093,11 @@
__ InNewSpace(elements, temp, equal, &new_space);
__ mov(object, elements);
- __ RecordWriteHelper(object, index_1, temp, kDontSaveFPRegs);
- __ RecordWriteHelper(elements, index_2, temp, kDontSaveFPRegs);
+ // Since we are swapping two objects, the incremental marker is not disturbed,
+ // so we don't call the stub that handles this. TODO(gc): Optimize by
+ // checking the scan_on_scavenge flag, probably by calling the stub.
+ __ RememberedSetHelper(object, index_1, temp, kDontSaveFPRegs);
+ __ RememberedSetHelper(elements, index_2, temp, kDontSaveFPRegs);
__ bind(&new_space);

Powered by Google App Engine
This is Rietveld 408576698