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

Side by Side Diff: runtime/vm/stub_code_arm.cc

Issue 1250323002: Load immediates via the constant pool on armv5te and armv6. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: address comments Created 5 years, 4 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
« no previous file with comments | « runtime/vm/intermediate_language_arm.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/globals.h" 5 #include "vm/globals.h"
6 #if defined(TARGET_ARCH_ARM) 6 #if defined(TARGET_ARCH_ARM)
7 7
8 #include "vm/assembler.h" 8 #include "vm/assembler.h"
9 #include "vm/code_generator.h" 9 #include "vm/code_generator.h"
10 #include "vm/cpu.h" 10 #include "vm/cpu.h"
(...skipping 816 matching lines...) Expand 10 before | Expand all | Expand 10 after
827 827
828 // Restore C++ ABI callee-saved registers. 828 // Restore C++ ABI callee-saved registers.
829 if (TargetCPUFeatures::vfp_supported()) { 829 if (TargetCPUFeatures::vfp_supported()) {
830 // Restore FPU registers. 2 D registers per Q register. 830 // Restore FPU registers. 2 D registers per Q register.
831 __ vldmd(IA_W, SP, firstd, 2 * kAbiPreservedFpuRegCount); 831 __ vldmd(IA_W, SP, firstd, 2 * kAbiPreservedFpuRegCount);
832 } else { 832 } else {
833 __ AddImmediate(SP, kAbiPreservedFpuRegCount * kFpuRegisterSize); 833 __ AddImmediate(SP, kAbiPreservedFpuRegCount * kFpuRegisterSize);
834 } 834 }
835 // Restore CPU registers. 835 // Restore CPU registers.
836 __ PopList(kAbiPreservedCpuRegs); 836 __ PopList(kAbiPreservedCpuRegs);
837 __ set_constant_pool_allowed(false);
837 838
838 // Restore the frame pointer and return. 839 // Restore the frame pointer and return.
839 __ LeaveFrame((1 << FP) | (1 << LR)); 840 __ LeaveFrame((1 << FP) | (1 << LR));
840 __ Ret(); 841 __ Ret();
841 } 842 }
842 843
843 844
844 // Called for inline allocation of contexts. 845 // Called for inline allocation of contexts.
845 // Input: 846 // Input:
846 // R1: number of context variables. 847 // R1: number of context variables.
(...skipping 1248 matching lines...) Expand 10 before | Expand all | Expand 10 after
2095 // Result: 2096 // Result:
2096 // R1: entry point. 2097 // R1: entry point.
2097 void StubCode::GenerateMegamorphicLookupStub(Assembler* assembler) { 2098 void StubCode::GenerateMegamorphicLookupStub(Assembler* assembler) {
2098 EmitMegamorphicLookup(assembler, R0, R1, R1); 2099 EmitMegamorphicLookup(assembler, R0, R1, R1);
2099 __ Ret(); 2100 __ Ret();
2100 } 2101 }
2101 2102
2102 } // namespace dart 2103 } // namespace dart
2103 2104
2104 #endif // defined TARGET_ARCH_ARM 2105 #endif // defined TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language_arm.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698