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

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

Issue 17409: Check for empty repetitions. (Closed)
Patch Set: Created 11 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
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 726 matching lines...) Expand 10 before | Expand all | Expand 10 after
737 737
738 738
739 void RegExpMacroAssemblerIA32::IfRegisterLT(int reg, 739 void RegExpMacroAssemblerIA32::IfRegisterLT(int reg,
740 int comparand, 740 int comparand,
741 Label* if_lt) { 741 Label* if_lt) {
742 __ cmp(register_location(reg), Immediate(comparand)); 742 __ cmp(register_location(reg), Immediate(comparand));
743 BranchOrBacktrack(less, if_lt); 743 BranchOrBacktrack(less, if_lt);
744 } 744 }
745 745
746 746
747 void RegExpMacroAssemblerIA32::IfRegisterEqPos(int reg,
748 Label* if_eq) {
749 __ cmp(edi, register_location(reg));
750 BranchOrBacktrack(equal, if_eq);
751 }
752
753
747 RegExpMacroAssembler::IrregexpImplementation 754 RegExpMacroAssembler::IrregexpImplementation
748 RegExpMacroAssemblerIA32::Implementation() { 755 RegExpMacroAssemblerIA32::Implementation() {
749 return kIA32Implementation; 756 return kIA32Implementation;
750 } 757 }
751 758
752 759
753 void RegExpMacroAssemblerIA32::LoadCurrentCharacter(int cp_offset, 760 void RegExpMacroAssemblerIA32::LoadCurrentCharacter(int cp_offset,
754 Label* on_end_of_input, 761 Label* on_end_of_input,
755 bool check_bounds, 762 bool check_bounds,
756 int characters) { 763 int characters) {
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
1022 1029
1023 1030
1024 void RegExpMacroAssemblerIA32::LoadConstantBufferAddress(Register reg, 1031 void RegExpMacroAssemblerIA32::LoadConstantBufferAddress(Register reg,
1025 ArraySlice* buffer) { 1032 ArraySlice* buffer) {
1026 __ mov(reg, buffer->array()); 1033 __ mov(reg, buffer->array());
1027 __ add(Operand(reg), Immediate(buffer->base_offset())); 1034 __ add(Operand(reg), Immediate(buffer->base_offset()));
1028 } 1035 }
1029 1036
1030 #undef __ 1037 #undef __
1031 }} // namespace v8::internal 1038 }} // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698