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

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

Issue 3018015: Fixed a couple of issues with store inlining on arm.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 10 years, 5 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
« no previous file with comments | « no previous file | src/arm/codegen-arm.h » ('j') | src/arm/codegen-arm.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions 5 // modification, are permitted provided that the following conditions
6 // are met: 6 // are met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 809 matching lines...) Expand 10 before | Expand all | Expand 10 after
820 instr |= I | rotate_imm*B8 | immed_8; 820 instr |= I | rotate_imm*B8 | immed_8;
821 } else if (!x.rs_.is_valid()) { 821 } else if (!x.rs_.is_valid()) {
822 // Immediate shift. 822 // Immediate shift.
823 instr |= x.shift_imm_*B7 | x.shift_op_ | x.rm_.code(); 823 instr |= x.shift_imm_*B7 | x.shift_op_ | x.rm_.code();
824 } else { 824 } else {
825 // Register shift. 825 // Register shift.
826 ASSERT(!rn.is(pc) && !rd.is(pc) && !x.rm_.is(pc) && !x.rs_.is(pc)); 826 ASSERT(!rn.is(pc) && !rd.is(pc) && !x.rm_.is(pc) && !x.rs_.is(pc));
827 instr |= x.rs_.code()*B8 | x.shift_op_ | B4 | x.rm_.code(); 827 instr |= x.rs_.code()*B8 | x.shift_op_ | B4 | x.rm_.code();
828 } 828 }
829 emit(instr | rn.code()*B16 | rd.code()*B12); 829 emit(instr | rn.code()*B16 | rd.code()*B12);
830 if (rn.is(pc) || x.rm_.is(pc)) 830 if (rn.is(pc) || x.rm_.is(pc)) {
831 // Block constant pool emission for one instruction after reading pc. 831 // Block constant pool emission for one instruction after reading pc.
832 BlockConstPoolBefore(pc_offset() + kInstrSize); 832 BlockConstPoolBefore(pc_offset() + kInstrSize);
833 }
833 } 834 }
834 835
835 836
836 void Assembler::addrmod2(Instr instr, Register rd, const MemOperand& x) { 837 void Assembler::addrmod2(Instr instr, Register rd, const MemOperand& x) {
837 ASSERT((instr & ~(CondMask | B | L)) == B26); 838 ASSERT((instr & ~(CondMask | B | L)) == B26);
838 int am = x.am_; 839 int am = x.am_;
839 if (!x.rm_.is_valid()) { 840 if (!x.rm_.is_valid()) {
840 // Immediate offset. 841 // Immediate offset.
841 int offset_12 = x.offset_; 842 int offset_12 = x.offset_;
842 if (offset_12 < 0) { 843 if (offset_12 < 0) {
(...skipping 1727 matching lines...) Expand 10 before | Expand all | Expand 10 after
2570 2571
2571 // Since a constant pool was just emitted, move the check offset forward by 2572 // Since a constant pool was just emitted, move the check offset forward by
2572 // the standard interval. 2573 // the standard interval.
2573 next_buffer_check_ = pc_offset() + kCheckConstInterval; 2574 next_buffer_check_ = pc_offset() + kCheckConstInterval;
2574 } 2575 }
2575 2576
2576 2577
2577 } } // namespace v8::internal 2578 } } // namespace v8::internal
2578 2579
2579 #endif // V8_TARGET_ARCH_ARM 2580 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « no previous file | src/arm/codegen-arm.h » ('j') | src/arm/codegen-arm.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698