| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64 | 5 #if V8_TARGET_ARCH_ARM64 |
| 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 4088 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4099 regs_.scratch1(), | 4099 regs_.scratch1(), |
| 4100 MemoryChunk::kSkipEvacuationSlotsRecordingMask, | 4100 MemoryChunk::kSkipEvacuationSlotsRecordingMask, |
| 4101 &need_incremental); | 4101 &need_incremental); |
| 4102 | 4102 |
| 4103 __ Bind(&ensure_not_white); | 4103 __ Bind(&ensure_not_white); |
| 4104 } | 4104 } |
| 4105 | 4105 |
| 4106 // We need extra registers for this, so we push the object and the address | 4106 // We need extra registers for this, so we push the object and the address |
| 4107 // register temporarily. | 4107 // register temporarily. |
| 4108 __ Push(regs_.address(), regs_.object()); | 4108 __ Push(regs_.address(), regs_.object()); |
| 4109 __ EnsureNotWhite(val, | 4109 __ CheckIfWhite(val, |
| 4110 regs_.scratch1(), // Scratch. | 4110 regs_.scratch1(), // Scratch. |
| 4111 regs_.object(), // Scratch. | 4111 regs_.object(), // Scratch. |
| 4112 regs_.address(), // Scratch. | 4112 regs_.address(), // Scratch. |
| 4113 regs_.scratch2(), // Scratch. | 4113 regs_.scratch2(), // Scratch. |
| 4114 &need_incremental_pop_scratch); | 4114 &need_incremental_pop_scratch); |
| 4115 __ Pop(regs_.object(), regs_.address()); | 4115 __ Pop(regs_.object(), regs_.address()); |
| 4116 | 4116 |
| 4117 regs_.Restore(masm); // Restore the extra scratch registers we used. | 4117 regs_.Restore(masm); // Restore the extra scratch registers we used. |
| 4118 if (on_no_need == kUpdateRememberedSetOnNoNeedToInformIncrementalMarker) { | 4118 if (on_no_need == kUpdateRememberedSetOnNoNeedToInformIncrementalMarker) { |
| 4119 __ RememberedSetHelper(object(), address(), | 4119 __ RememberedSetHelper(object(), address(), |
| 4120 value(), // scratch1 | 4120 value(), // scratch1 |
| 4121 save_fp_regs_mode(), MacroAssembler::kReturnAtEnd); | 4121 save_fp_regs_mode(), MacroAssembler::kReturnAtEnd); |
| 4122 } else { | 4122 } else { |
| 4123 __ Ret(); | 4123 __ Ret(); |
| 4124 } | 4124 } |
| (...skipping 1676 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5801 MemOperand(fp, 6 * kPointerSize), NULL); | 5801 MemOperand(fp, 6 * kPointerSize), NULL); |
| 5802 } | 5802 } |
| 5803 | 5803 |
| 5804 | 5804 |
| 5805 #undef __ | 5805 #undef __ |
| 5806 | 5806 |
| 5807 } // namespace internal | 5807 } // namespace internal |
| 5808 } // namespace v8 | 5808 } // namespace v8 |
| 5809 | 5809 |
| 5810 #endif // V8_TARGET_ARCH_ARM64 | 5810 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |