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

Side by Side Diff: src/mips/code-stubs-mips.cc

Issue 1542113002: Do not mark from native code. Check color and call incremental marker instead. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years 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
« no previous file with comments | « src/ia32/macro-assembler-ia32.cc ('k') | src/mips/macro-assembler-mips.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #if V8_TARGET_ARCH_MIPS 5 #if V8_TARGET_ARCH_MIPS
6 6
7 #include "src/base/bits.h" 7 #include "src/base/bits.h"
8 #include "src/bootstrapper.h" 8 #include "src/bootstrapper.h"
9 #include "src/code-stubs.h" 9 #include "src/code-stubs.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 4235 matching lines...) Expand 10 before | Expand all | Expand 10 after
4246 MemoryChunk::kSkipEvacuationSlotsRecordingMask, 4246 MemoryChunk::kSkipEvacuationSlotsRecordingMask,
4247 eq, 4247 eq,
4248 &need_incremental); 4248 &need_incremental);
4249 4249
4250 __ bind(&ensure_not_white); 4250 __ bind(&ensure_not_white);
4251 } 4251 }
4252 4252
4253 // We need extra registers for this, so we push the object and the address 4253 // We need extra registers for this, so we push the object and the address
4254 // register temporarily. 4254 // register temporarily.
4255 __ Push(regs_.object(), regs_.address()); 4255 __ Push(regs_.object(), regs_.address());
4256 __ EnsureNotWhite(regs_.scratch0(), // The value. 4256 __ JumpIfWhite(regs_.scratch0(), // The value.
4257 regs_.scratch1(), // Scratch. 4257 regs_.scratch1(), // Scratch.
4258 regs_.object(), // Scratch. 4258 regs_.object(), // Scratch.
4259 regs_.address(), // Scratch. 4259 regs_.address(), // Scratch.
4260 &need_incremental_pop_scratch); 4260 &need_incremental_pop_scratch);
4261 __ Pop(regs_.object(), regs_.address()); 4261 __ Pop(regs_.object(), regs_.address());
4262 4262
4263 regs_.Restore(masm); 4263 regs_.Restore(masm);
4264 if (on_no_need == kUpdateRememberedSetOnNoNeedToInformIncrementalMarker) { 4264 if (on_no_need == kUpdateRememberedSetOnNoNeedToInformIncrementalMarker) {
4265 __ RememberedSetHelper(object(), 4265 __ RememberedSetHelper(object(),
4266 address(), 4266 address(),
4267 value(), 4267 value(),
4268 save_fp_regs_mode(), 4268 save_fp_regs_mode(),
4269 MacroAssembler::kReturnAtEnd); 4269 MacroAssembler::kReturnAtEnd);
4270 } else { 4270 } else {
(...skipping 1307 matching lines...) Expand 10 before | Expand all | Expand 10 after
5578 MemOperand(fp, 6 * kPointerSize), NULL); 5578 MemOperand(fp, 6 * kPointerSize), NULL);
5579 } 5579 }
5580 5580
5581 5581
5582 #undef __ 5582 #undef __
5583 5583
5584 } // namespace internal 5584 } // namespace internal
5585 } // namespace v8 5585 } // namespace v8
5586 5586
5587 #endif // V8_TARGET_ARCH_MIPS 5587 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « src/ia32/macro-assembler-ia32.cc ('k') | src/mips/macro-assembler-mips.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698