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

Side by Side Diff: src/mips/regexp-macro-assembler-mips.cc

Issue 7328013: MIPS: Cleaned up calling-related methods in the assembler. (Closed)
Patch Set: Created 9 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
« no previous file with comments | « src/mips/macro-assembler-mips.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 2006-2010 the V8 project authors. All rights reserved. 1 // Copyright 2006-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 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 __ sw(a0, register_location(reg)); 172 __ sw(a0, register_location(reg));
173 } 173 }
174 } 174 }
175 175
176 176
177 void RegExpMacroAssemblerMIPS::Backtrack() { 177 void RegExpMacroAssemblerMIPS::Backtrack() {
178 CheckPreemption(); 178 CheckPreemption();
179 // Pop Code* offset from backtrack stack, add Code* and jump to location. 179 // Pop Code* offset from backtrack stack, add Code* and jump to location.
180 Pop(a0); 180 Pop(a0);
181 __ Addu(a0, a0, code_pointer()); 181 __ Addu(a0, a0, code_pointer());
182 __ Jump(Operand(a0)); 182 __ Jump(a0);
183 } 183 }
184 184
185 185
186 void RegExpMacroAssemblerMIPS::Bind(Label* label) { 186 void RegExpMacroAssemblerMIPS::Bind(Label* label) {
187 __ bind(label); 187 __ bind(label);
188 } 188 }
189 189
190 190
191 void RegExpMacroAssemblerMIPS::CheckCharacter(uint32_t c, Label* on_equal) { 191 void RegExpMacroAssemblerMIPS::CheckCharacter(uint32_t c, Label* on_equal) {
192 BranchOrBacktrack(on_equal, eq, current_character(), Operand(c)); 192 BranchOrBacktrack(on_equal, eq, current_character(), Operand(c));
(...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after
1231 if (stack_alignment < kPointerSize) stack_alignment = kPointerSize; 1231 if (stack_alignment < kPointerSize) stack_alignment = kPointerSize;
1232 // Stack is already aligned for call, so decrement by alignment 1232 // Stack is already aligned for call, so decrement by alignment
1233 // to make room for storing the return address. 1233 // to make room for storing the return address.
1234 __ Subu(sp, sp, Operand(stack_alignment)); 1234 __ Subu(sp, sp, Operand(stack_alignment));
1235 __ sw(ra, MemOperand(sp, 0)); 1235 __ sw(ra, MemOperand(sp, 0));
1236 __ mov(a0, sp); 1236 __ mov(a0, sp);
1237 __ mov(t9, t1); 1237 __ mov(t9, t1);
1238 __ Call(t9); 1238 __ Call(t9);
1239 __ lw(ra, MemOperand(sp, 0)); 1239 __ lw(ra, MemOperand(sp, 0));
1240 __ Addu(sp, sp, Operand(stack_alignment)); 1240 __ Addu(sp, sp, Operand(stack_alignment));
1241 __ Jump(Operand(ra)); 1241 __ Jump(ra);
1242 } 1242 }
1243 1243
1244 1244
1245 #undef __ 1245 #undef __
1246 1246
1247 #endif // V8_INTERPRETED_REGEXP 1247 #endif // V8_INTERPRETED_REGEXP
1248 1248
1249 }} // namespace v8::internal 1249 }} // namespace v8::internal
1250 1250
1251 #endif // V8_TARGET_ARCH_MIPS 1251 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « src/mips/macro-assembler-mips.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698