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

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

Issue 6347007: ARM: Implement Math.abs in lithium code generator for the integer and (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Don't save registers for positive numbers. Created 9 years, 11 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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 492
493 int MacroAssembler::SafepointRegisterStackIndex(int reg_code) { 493 int MacroAssembler::SafepointRegisterStackIndex(int reg_code) {
494 // The registers are pushed starting with the highest encoding, 494 // The registers are pushed starting with the highest encoding,
495 // which means that lowest encodings are closest to the stack pointer. 495 // which means that lowest encodings are closest to the stack pointer.
496 ASSERT(reg_code >= 0 && reg_code < kNumSafepointRegisters); 496 ASSERT(reg_code >= 0 && reg_code < kNumSafepointRegisters);
497 return reg_code; 497 return reg_code;
498 } 498 }
499 499
500 500
501 MemOperand MacroAssembler::SafepointRegisterSlot(Register reg) { 501 MemOperand MacroAssembler::SafepointRegisterSlot(Register reg) {
502 return MemOperand(sp, SafepointRegisterStackIndex(reg.code()) * kInstrSize); 502 return MemOperand(sp, SafepointRegisterStackIndex(reg.code()) * kPointerSize);
503 } 503 }
504 504
505 505
506 void MacroAssembler::Ldrd(Register dst1, Register dst2, 506 void MacroAssembler::Ldrd(Register dst1, Register dst2,
507 const MemOperand& src, Condition cond) { 507 const MemOperand& src, Condition cond) {
508 ASSERT(src.rm().is(no_reg)); 508 ASSERT(src.rm().is(no_reg));
509 ASSERT(!dst1.is(lr)); // r14. 509 ASSERT(!dst1.is(lr)); // r14.
510 ASSERT_EQ(0, dst1.code() % 2); 510 ASSERT_EQ(0, dst1.code() % 2);
511 ASSERT_EQ(dst1.code() + 1, dst2.code()); 511 ASSERT_EQ(dst1.code() + 1, dst2.code());
512 512
(...skipping 1732 matching lines...) Expand 10 before | Expand all | Expand 10 after
2245 2245
2246 void CodePatcher::Emit(Address addr) { 2246 void CodePatcher::Emit(Address addr) {
2247 masm()->emit(reinterpret_cast<Instr>(addr)); 2247 masm()->emit(reinterpret_cast<Instr>(addr));
2248 } 2248 }
2249 #endif // ENABLE_DEBUGGER_SUPPORT 2249 #endif // ENABLE_DEBUGGER_SUPPORT
2250 2250
2251 2251
2252 } } // namespace v8::internal 2252 } } // namespace v8::internal
2253 2253
2254 #endif // V8_TARGET_ARCH_ARM 2254 #endif // V8_TARGET_ARCH_ARM
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698