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

Side by Side Diff: src/arm64/macro-assembler-arm64.cc

Issue 1494123002: [turbofan, arm64] Fix native stack parameters on arm64. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Minor changes according to comments. 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 | « no previous file | src/compiler/arm64/code-generator-arm64.cc » ('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 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/base/bits.h" 7 #include "src/base/bits.h"
8 #include "src/base/division-by-constant.h" 8 #include "src/base/division-by-constant.h"
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 2616 matching lines...) Expand 10 before | Expand all | Expand 10 after
2627 true, // is_truncating 2627 true, // is_truncating
2628 true); // skip_fastpath 2628 true); // skip_fastpath
2629 CallStub(&stub); // DoubleToIStub preserves any registers it needs to clobber 2629 CallStub(&stub); // DoubleToIStub preserves any registers it needs to clobber
2630 Pop(lr); 2630 Pop(lr);
2631 2631
2632 Bind(&done); 2632 Bind(&done);
2633 } 2633 }
2634 2634
2635 2635
2636 void MacroAssembler::StubPrologue() { 2636 void MacroAssembler::StubPrologue() {
2637 DCHECK(StackPointer().Is(jssp));
2638 UseScratchRegisterScope temps(this); 2637 UseScratchRegisterScope temps(this);
2639 Register temp = temps.AcquireX(); 2638 Register temp = temps.AcquireX();
2640 __ Mov(temp, Smi::FromInt(StackFrame::STUB)); 2639 __ Mov(temp, Smi::FromInt(StackFrame::STUB));
2641 // Compiled stubs don't age, and so they don't need the predictable code 2640 // Compiled stubs don't age, and so they don't need the predictable code
2642 // ageing sequence. 2641 // ageing sequence.
2643 __ Push(lr, fp, cp, temp); 2642 __ Push(lr, fp, cp, temp);
2644 __ Add(fp, jssp, StandardFrameConstants::kFixedFrameSizeFromFp); 2643 __ Add(fp, StackPointer(), StandardFrameConstants::kFixedFrameSizeFromFp);
2645 } 2644 }
2646 2645
2647 2646
2648 void MacroAssembler::Prologue(bool code_pre_aging) { 2647 void MacroAssembler::Prologue(bool code_pre_aging) {
2649 if (code_pre_aging) { 2648 if (code_pre_aging) {
2650 Code* stub = Code::GetPreAgedCodeAgeStub(isolate()); 2649 Code* stub = Code::GetPreAgedCodeAgeStub(isolate());
2651 __ EmitCodeAgeSequence(stub); 2650 __ EmitCodeAgeSequence(stub);
2652 } else { 2651 } else {
2653 __ EmitFrameSetupForCodeAgePatching(); 2652 __ EmitFrameSetupForCodeAgePatching();
2654 } 2653 }
(...skipping 2276 matching lines...) Expand 10 before | Expand all | Expand 10 after
4931 } 4930 }
4932 4931
4933 4932
4934 #undef __ 4933 #undef __
4935 4934
4936 4935
4937 } // namespace internal 4936 } // namespace internal
4938 } // namespace v8 4937 } // namespace v8
4939 4938
4940 #endif // V8_TARGET_ARCH_ARM64 4939 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « no previous file | src/compiler/arm64/code-generator-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698