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

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

Issue 10992: Implement $ for non-multiline. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 12 years 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 2008 the V8 project authors. All rights reserved. 1 // Copyright 2008 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 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 __ add(ecx, Operand(ecx)); 229 __ add(ecx, Operand(ecx));
230 } 230 }
231 __ rep_cmpsb(); 231 __ rep_cmpsb();
232 __ pop(esi); 232 __ pop(esi);
233 __ mov(edi, Operand(ebx)); 233 __ mov(edi, Operand(ebx));
234 BranchOrBacktrack(not_equal, on_no_match); 234 BranchOrBacktrack(not_equal, on_no_match);
235 __ bind(&fallthrough); 235 __ bind(&fallthrough);
236 } 236 }
237 237
238 238
239 void RegExpMacroAssemblerIA32::CheckNotRegistersEqual(int reg1,
240 int reg2,
241 Label* on_not_equal) {
242 __ mov(eax, register_location(reg1));
243 __ mov(ecx, register_location(reg2));
244 __ cmp(ecx, Operand(eax));
245 BranchOrBacktrack(not_equal, on_not_equal);
246 }
247
248
239 void RegExpMacroAssemblerIA32::CheckNotCharacter(uc16 c, Label* on_not_equal) { 249 void RegExpMacroAssemblerIA32::CheckNotCharacter(uc16 c, Label* on_not_equal) {
240 __ cmp(edx, c); 250 __ cmp(edx, c);
241 BranchOrBacktrack(not_equal, on_not_equal); 251 BranchOrBacktrack(not_equal, on_not_equal);
242 } 252 }
243 253
244 254
245 void RegExpMacroAssemblerIA32::CheckNotCharacterAfterOr(uc16 c, 255 void RegExpMacroAssemblerIA32::CheckNotCharacterAfterOr(uc16 c,
246 uc16 mask, 256 uc16 mask,
247 Label* on_not_equal) { 257 Label* on_not_equal) {
248 __ mov(eax, Operand(edx)); 258 __ mov(eax, Operand(edx));
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 642
633 643
634 void RegExpMacroAssemblerIA32::LoadConstantBufferAddress(Register reg, 644 void RegExpMacroAssemblerIA32::LoadConstantBufferAddress(Register reg,
635 ArraySlice* buffer) { 645 ArraySlice* buffer) {
636 __ mov(reg, buffer->array()); 646 __ mov(reg, buffer->array());
637 __ add(Operand(reg), Immediate(buffer->base_offset())); 647 __ add(Operand(reg), Immediate(buffer->base_offset()));
638 } 648 }
639 649
640 #undef __ 650 #undef __
641 }} // namespace v8::internal 651 }} // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698