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

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

Issue 1608583002: New page local store buffer. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 11 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 unified diff | Download patch
OLDNEW
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_X64 5 #if V8_TARGET_ARCH_X64
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 3902 matching lines...) Expand 10 before | Expand all | Expand 10 after
3913 regs_.Save(masm); 3913 regs_.Save(masm);
3914 3914
3915 if (remembered_set_action() == EMIT_REMEMBERED_SET) { 3915 if (remembered_set_action() == EMIT_REMEMBERED_SET) {
3916 Label dont_need_remembered_set; 3916 Label dont_need_remembered_set;
3917 3917
3918 __ movp(regs_.scratch0(), Operand(regs_.address(), 0)); 3918 __ movp(regs_.scratch0(), Operand(regs_.address(), 0));
3919 __ JumpIfNotInNewSpace(regs_.scratch0(), 3919 __ JumpIfNotInNewSpace(regs_.scratch0(),
3920 regs_.scratch0(), 3920 regs_.scratch0(),
3921 &dont_need_remembered_set); 3921 &dont_need_remembered_set);
3922 3922
3923 __ CheckPageFlag(regs_.object(), 3923 __ JumpIfInNewSpace(regs_.object(), regs_.scratch0(),
3924 regs_.scratch0(), 3924 &dont_need_remembered_set);
3925 1 << MemoryChunk::SCAN_ON_SCAVENGE,
3926 not_zero,
3927 &dont_need_remembered_set);
3928 3925
3929 // First notify the incremental marker if necessary, then update the 3926 // First notify the incremental marker if necessary, then update the
3930 // remembered set. 3927 // remembered set.
3931 CheckNeedsToInformIncrementalMarker( 3928 CheckNeedsToInformIncrementalMarker(
3932 masm, kUpdateRememberedSetOnNoNeedToInformIncrementalMarker, mode); 3929 masm, kUpdateRememberedSetOnNoNeedToInformIncrementalMarker, mode);
3933 InformIncrementalMarker(masm); 3930 InformIncrementalMarker(masm);
3934 regs_.Restore(masm); 3931 regs_.Restore(masm);
3935 __ RememberedSetHelper(object(), address(), value(), save_fp_regs_mode(), 3932 __ RememberedSetHelper(object(), address(), value(), save_fp_regs_mode(),
3936 MacroAssembler::kReturnAtEnd); 3933 MacroAssembler::kReturnAtEnd);
3937 3934
(...skipping 1485 matching lines...) Expand 10 before | Expand all | Expand 10 after
5423 kStackSpace, nullptr, return_value_operand, NULL); 5420 kStackSpace, nullptr, return_value_operand, NULL);
5424 } 5421 }
5425 5422
5426 5423
5427 #undef __ 5424 #undef __
5428 5425
5429 } // namespace internal 5426 } // namespace internal
5430 } // namespace v8 5427 } // namespace v8
5431 5428
5432 #endif // V8_TARGET_ARCH_X64 5429 #endif // V8_TARGET_ARCH_X64
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698