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

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

Issue 252333002: Use GPRs for mints (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 7 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 | Annotate | Revision Log
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/cpu.h" 9 #include "vm/cpu.h"
10 #include "vm/longjump.h" 10 #include "vm/longjump.h"
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 EmitType01(cond, so.type(), SUB, 1, rn, rd, so); 266 EmitType01(cond, so.type(), SUB, 1, rn, rd, so);
267 } 267 }
268 268
269 269
270 void Assembler::adc(Register rd, Register rn, ShifterOperand so, 270 void Assembler::adc(Register rd, Register rn, ShifterOperand so,
271 Condition cond) { 271 Condition cond) {
272 EmitType01(cond, so.type(), ADC, 0, rn, rd, so); 272 EmitType01(cond, so.type(), ADC, 0, rn, rd, so);
273 } 273 }
274 274
275 275
276 void Assembler::adcs(Register rd, Register rn, ShifterOperand so,
277 Condition cond) {
278 EmitType01(cond, so.type(), ADC, 1, rn, rd, so);
279 }
280
281
282 void Assembler::SignFill(Register rd, Register rm) {
zra 2014/05/14 18:27:41 Move to be with other macros.
Cutch 2014/05/15 18:26:08 Done.
283 Asr(rd, rm, 31);
284 }
285
286
276 void Assembler::sbc(Register rd, Register rn, ShifterOperand so, 287 void Assembler::sbc(Register rd, Register rn, ShifterOperand so,
277 Condition cond) { 288 Condition cond) {
278 EmitType01(cond, so.type(), SBC, 0, rn, rd, so); 289 EmitType01(cond, so.type(), SBC, 0, rn, rd, so);
279 } 290 }
280 291
281 292
293 void Assembler::sbcs(Register rd, Register rn, ShifterOperand so,
294 Condition cond) {
295 EmitType01(cond, so.type(), SBC, 1, rn, rd, so);
296 }
297
298
282 void Assembler::rsc(Register rd, Register rn, ShifterOperand so, 299 void Assembler::rsc(Register rd, Register rn, ShifterOperand so,
283 Condition cond) { 300 Condition cond) {
284 EmitType01(cond, so.type(), RSC, 0, rn, rd, so); 301 EmitType01(cond, so.type(), RSC, 0, rn, rd, so);
285 } 302 }
286 303
287 304
288 void Assembler::tst(Register rn, ShifterOperand so, Condition cond) { 305 void Assembler::tst(Register rn, ShifterOperand so, Condition cond) {
289 EmitType01(cond, so.type(), TST, 1, rn, R0, so); 306 EmitType01(cond, so.type(), TST, 1, rn, R0, so);
290 } 307 }
291 308
(...skipping 2736 matching lines...) Expand 10 before | Expand all | Expand 10 after
3028 3045
3029 3046
3030 const char* Assembler::FpuRegisterName(FpuRegister reg) { 3047 const char* Assembler::FpuRegisterName(FpuRegister reg) {
3031 ASSERT((0 <= reg) && (reg < kNumberOfFpuRegisters)); 3048 ASSERT((0 <= reg) && (reg < kNumberOfFpuRegisters));
3032 return fpu_reg_names[reg]; 3049 return fpu_reg_names[reg];
3033 } 3050 }
3034 3051
3035 } // namespace dart 3052 } // namespace dart
3036 3053
3037 #endif // defined TARGET_ARCH_ARM 3054 #endif // defined TARGET_ARCH_ARM
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698