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 "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
8 | 8 |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/base/division-by-constant.h" | 10 #include "src/base/division-by-constant.h" |
(...skipping 3046 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3057 void MacroAssembler::Prologue(bool code_pre_aging) { | 3057 void MacroAssembler::Prologue(bool code_pre_aging) { |
3058 if (code_pre_aging) { | 3058 if (code_pre_aging) { |
3059 Code* stub = Code::GetPreAgedCodeAgeStub(isolate()); | 3059 Code* stub = Code::GetPreAgedCodeAgeStub(isolate()); |
3060 __ EmitCodeAgeSequence(stub); | 3060 __ EmitCodeAgeSequence(stub); |
3061 } else { | 3061 } else { |
3062 __ EmitFrameSetupForCodeAgePatching(); | 3062 __ EmitFrameSetupForCodeAgePatching(); |
3063 } | 3063 } |
3064 } | 3064 } |
3065 | 3065 |
3066 | 3066 |
3067 void MacroAssembler::EnterFrame(StackFrame::Type type, | |
3068 bool load_constant_pool_pointer_reg) { | |
3069 // Constant pool not implemented on arm64. | |
rmcilroy
2014/10/09 09:22:48
Out-of-line constant pool not... (arm64 does have
baixo
2014/10/09 11:21:38
Done.
| |
3070 UNREACHABLE(); | |
3071 } | |
3072 | |
3073 | |
3067 void MacroAssembler::EnterFrame(StackFrame::Type type) { | 3074 void MacroAssembler::EnterFrame(StackFrame::Type type) { |
3068 DCHECK(jssp.Is(StackPointer())); | 3075 DCHECK(jssp.Is(StackPointer())); |
3069 UseScratchRegisterScope temps(this); | 3076 UseScratchRegisterScope temps(this); |
3070 Register type_reg = temps.AcquireX(); | 3077 Register type_reg = temps.AcquireX(); |
3071 Register code_reg = temps.AcquireX(); | 3078 Register code_reg = temps.AcquireX(); |
3072 | 3079 |
3073 Push(lr, fp, cp); | 3080 Push(lr, fp, cp); |
3074 Mov(type_reg, Smi::FromInt(type)); | 3081 Mov(type_reg, Smi::FromInt(type)); |
3075 Mov(code_reg, Operand(CodeObject())); | 3082 Mov(code_reg, Operand(CodeObject())); |
3076 Push(type_reg, code_reg); | 3083 Push(type_reg, code_reg); |
(...skipping 2304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5381 } | 5388 } |
5382 } | 5389 } |
5383 | 5390 |
5384 | 5391 |
5385 #undef __ | 5392 #undef __ |
5386 | 5393 |
5387 | 5394 |
5388 } } // namespace v8::internal | 5395 } } // namespace v8::internal |
5389 | 5396 |
5390 #endif // V8_TARGET_ARCH_ARM64 | 5397 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |