| 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 #include "v8.h" | 5 #include "v8.h" |
| 6 | 6 |
| 7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
| 8 | 8 |
| 9 #include "bootstrapper.h" | 9 #include "bootstrapper.h" |
| 10 #include "codegen.h" | 10 #include "codegen.h" |
| (...skipping 2964 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2975 HeapNumber::kValueOffset - kHeapObjectTag, | 2975 HeapNumber::kValueOffset - kHeapObjectTag, |
| 2976 true, // is_truncating | 2976 true, // is_truncating |
| 2977 true); // skip_fastpath | 2977 true); // skip_fastpath |
| 2978 CallStub(&stub); // DoubleToIStub preserves any registers it needs to clobber | 2978 CallStub(&stub); // DoubleToIStub preserves any registers it needs to clobber |
| 2979 Pop(lr); | 2979 Pop(lr); |
| 2980 | 2980 |
| 2981 Bind(&done); | 2981 Bind(&done); |
| 2982 } | 2982 } |
| 2983 | 2983 |
| 2984 | 2984 |
| 2985 void MacroAssembler::Prologue(PrologueFrameMode frame_mode) { | 2985 void MacroAssembler::Prologue(CompilationInfo* info) { |
| 2986 if (frame_mode == BUILD_STUB_FRAME) { | 2986 if (info->IsStub()) { |
| 2987 ASSERT(StackPointer().Is(jssp)); | 2987 ASSERT(StackPointer().Is(jssp)); |
| 2988 UseScratchRegisterScope temps(this); | 2988 UseScratchRegisterScope temps(this); |
| 2989 Register temp = temps.AcquireX(); | 2989 Register temp = temps.AcquireX(); |
| 2990 __ Mov(temp, Smi::FromInt(StackFrame::STUB)); | 2990 __ Mov(temp, Smi::FromInt(StackFrame::STUB)); |
| 2991 // Compiled stubs don't age, and so they don't need the predictable code | 2991 // Compiled stubs don't age, and so they don't need the predictable code |
| 2992 // ageing sequence. | 2992 // ageing sequence. |
| 2993 __ Push(lr, fp, cp, temp); | 2993 __ Push(lr, fp, cp, temp); |
| 2994 __ Add(fp, jssp, StandardFrameConstants::kFixedFrameSizeFromFp); | 2994 __ Add(fp, jssp, StandardFrameConstants::kFixedFrameSizeFromFp); |
| 2995 } else { | 2995 } else { |
| 2996 if (isolate()->IsCodePreAgingActive()) { | 2996 if (info->IsCodePreAgingActive()) { |
| 2997 Code* stub = Code::GetPreAgedCodeAgeStub(isolate()); | 2997 Code* stub = Code::GetPreAgedCodeAgeStub(isolate()); |
| 2998 __ EmitCodeAgeSequence(stub); | 2998 __ EmitCodeAgeSequence(stub); |
| 2999 } else { | 2999 } else { |
| 3000 __ EmitFrameSetupForCodeAgePatching(); | 3000 __ EmitFrameSetupForCodeAgePatching(); |
| 3001 } | 3001 } |
| 3002 } | 3002 } |
| 3003 } | 3003 } |
| 3004 | 3004 |
| 3005 | 3005 |
| 3006 void MacroAssembler::EnterFrame(StackFrame::Type type) { | 3006 void MacroAssembler::EnterFrame(StackFrame::Type type) { |
| (...skipping 2223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5230 } | 5230 } |
| 5231 } | 5231 } |
| 5232 | 5232 |
| 5233 | 5233 |
| 5234 #undef __ | 5234 #undef __ |
| 5235 | 5235 |
| 5236 | 5236 |
| 5237 } } // namespace v8::internal | 5237 } } // namespace v8::internal |
| 5238 | 5238 |
| 5239 #endif // V8_TARGET_ARCH_ARM64 | 5239 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |