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

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

Issue 3844006: Limit end-anchored regexps to testing end of string where possible. (Closed)
Patch Set: Created 10 years, 2 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-2009 the V8 project authors. All rights reserved. 1 // Copyright 2008-2009 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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 bool check_bounds = true, 91 bool check_bounds = true,
92 int characters = 1); 92 int characters = 1);
93 virtual void PopCurrentPosition(); 93 virtual void PopCurrentPosition();
94 virtual void PopRegister(int register_index); 94 virtual void PopRegister(int register_index);
95 virtual void PushBacktrack(Label* label); 95 virtual void PushBacktrack(Label* label);
96 virtual void PushCurrentPosition(); 96 virtual void PushCurrentPosition();
97 virtual void PushRegister(int register_index, 97 virtual void PushRegister(int register_index,
98 StackCheckFlag check_stack_limit); 98 StackCheckFlag check_stack_limit);
99 virtual void ReadCurrentPositionFromRegister(int reg); 99 virtual void ReadCurrentPositionFromRegister(int reg);
100 virtual void ReadStackPointerFromRegister(int reg); 100 virtual void ReadStackPointerFromRegister(int reg);
101 virtual void SetCurrentPositionFromEnd(int by);
101 virtual void SetRegister(int register_index, int to); 102 virtual void SetRegister(int register_index, int to);
102 virtual void Succeed(); 103 virtual void Succeed();
103 virtual void WriteCurrentPositionToRegister(int reg, int cp_offset); 104 virtual void WriteCurrentPositionToRegister(int reg, int cp_offset);
104 virtual void ClearRegisters(int reg_from, int reg_to); 105 virtual void ClearRegisters(int reg_from, int reg_to);
105 virtual void WriteStackPointerToRegister(int reg); 106 virtual void WriteStackPointerToRegister(int reg);
106 107
107 // Called from RegExp if the stack-guard is triggered. 108 // Called from RegExp if the stack-guard is triggered.
108 // If the code object is relocated, the return address is fixed before 109 // If the code object is relocated, the return address is fixed before
109 // returning. 110 // returning.
110 static int CheckStackGuardState(Address* return_address, 111 static int CheckStackGuardState(Address* return_address,
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 Label backtrack_label_; 206 Label backtrack_label_;
206 Label exit_label_; 207 Label exit_label_;
207 Label check_preempt_label_; 208 Label check_preempt_label_;
208 Label stack_overflow_label_; 209 Label stack_overflow_label_;
209 }; 210 };
210 #endif // V8_INTERPRETED_REGEXP 211 #endif // V8_INTERPRETED_REGEXP
211 212
212 }} // namespace v8::internal 213 }} // namespace v8::internal
213 214
214 #endif // V8_IA32_REGEXP_MACRO_ASSEMBLER_IA32_H_ 215 #endif // V8_IA32_REGEXP_MACRO_ASSEMBLER_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698