OLD | NEW |
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_MIPS64 | 5 #if V8_TARGET_ARCH_MIPS64 |
6 | 6 |
7 #include "src/bootstrapper.h" | 7 #include "src/bootstrapper.h" |
8 #include "src/code-stubs.h" | 8 #include "src/code-stubs.h" |
9 #include "src/codegen.h" | 9 #include "src/codegen.h" |
10 #include "src/ic/handler-compiler.h" | 10 #include "src/ic/handler-compiler.h" |
(...skipping 4267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4278 MemoryChunk::kSkipEvacuationSlotsRecordingMask, | 4278 MemoryChunk::kSkipEvacuationSlotsRecordingMask, |
4279 eq, | 4279 eq, |
4280 &need_incremental); | 4280 &need_incremental); |
4281 | 4281 |
4282 __ bind(&ensure_not_white); | 4282 __ bind(&ensure_not_white); |
4283 } | 4283 } |
4284 | 4284 |
4285 // We need extra registers for this, so we push the object and the address | 4285 // We need extra registers for this, so we push the object and the address |
4286 // register temporarily. | 4286 // register temporarily. |
4287 __ Push(regs_.object(), regs_.address()); | 4287 __ Push(regs_.object(), regs_.address()); |
4288 __ EnsureNotWhite(regs_.scratch0(), // The value. | 4288 __ JumpIfWhite(regs_.scratch0(), // The value. |
4289 regs_.scratch1(), // Scratch. | 4289 regs_.scratch1(), // Scratch. |
4290 regs_.object(), // Scratch. | 4290 regs_.object(), // Scratch. |
4291 regs_.address(), // Scratch. | 4291 regs_.address(), // Scratch. |
4292 &need_incremental_pop_scratch); | 4292 &need_incremental_pop_scratch); |
4293 __ Pop(regs_.object(), regs_.address()); | 4293 __ Pop(regs_.object(), regs_.address()); |
4294 | 4294 |
4295 regs_.Restore(masm); | 4295 regs_.Restore(masm); |
4296 if (on_no_need == kUpdateRememberedSetOnNoNeedToInformIncrementalMarker) { | 4296 if (on_no_need == kUpdateRememberedSetOnNoNeedToInformIncrementalMarker) { |
4297 __ RememberedSetHelper(object(), | 4297 __ RememberedSetHelper(object(), |
4298 address(), | 4298 address(), |
4299 value(), | 4299 value(), |
4300 save_fp_regs_mode(), | 4300 save_fp_regs_mode(), |
4301 MacroAssembler::kReturnAtEnd); | 4301 MacroAssembler::kReturnAtEnd); |
4302 } else { | 4302 } else { |
(...skipping 1305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5608 MemOperand(fp, 6 * kPointerSize), NULL); | 5608 MemOperand(fp, 6 * kPointerSize), NULL); |
5609 } | 5609 } |
5610 | 5610 |
5611 | 5611 |
5612 #undef __ | 5612 #undef __ |
5613 | 5613 |
5614 } // namespace internal | 5614 } // namespace internal |
5615 } // namespace v8 | 5615 } // namespace v8 |
5616 | 5616 |
5617 #endif // V8_TARGET_ARCH_MIPS64 | 5617 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |