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

Side by Side Diff: src/arm/regexp-macro-assembler-arm.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 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-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 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 bool check_bounds = true, 93 bool check_bounds = true,
94 int characters = 1); 94 int characters = 1);
95 virtual void PopCurrentPosition(); 95 virtual void PopCurrentPosition();
96 virtual void PopRegister(int register_index); 96 virtual void PopRegister(int register_index);
97 virtual void PushBacktrack(Label* label); 97 virtual void PushBacktrack(Label* label);
98 virtual void PushCurrentPosition(); 98 virtual void PushCurrentPosition();
99 virtual void PushRegister(int register_index, 99 virtual void PushRegister(int register_index,
100 StackCheckFlag check_stack_limit); 100 StackCheckFlag check_stack_limit);
101 virtual void ReadCurrentPositionFromRegister(int reg); 101 virtual void ReadCurrentPositionFromRegister(int reg);
102 virtual void ReadStackPointerFromRegister(int reg); 102 virtual void ReadStackPointerFromRegister(int reg);
103 virtual void SetCurrentPositionFromEnd(int by);
103 virtual void SetRegister(int register_index, int to); 104 virtual void SetRegister(int register_index, int to);
104 virtual void Succeed(); 105 virtual void Succeed();
105 virtual void WriteCurrentPositionToRegister(int reg, int cp_offset); 106 virtual void WriteCurrentPositionToRegister(int reg, int cp_offset);
106 virtual void ClearRegisters(int reg_from, int reg_to); 107 virtual void ClearRegisters(int reg_from, int reg_to);
107 virtual void WriteStackPointerToRegister(int reg); 108 virtual void WriteStackPointerToRegister(int reg);
108 109
109 // Called from RegExp if the stack-guard is triggered. 110 // Called from RegExp if the stack-guard is triggered.
110 // If the code object is relocated, the return address is fixed before 111 // If the code object is relocated, the return address is fixed before
111 // returning. 112 // returning.
112 static int CheckStackGuardState(Address* return_address, 113 static int CheckStackGuardState(Address* return_address,
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 Label check_preempt_label_; 242 Label check_preempt_label_;
242 Label stack_overflow_label_; 243 Label stack_overflow_label_;
243 }; 244 };
244 245
245 #endif // V8_INTERPRETED_REGEXP 246 #endif // V8_INTERPRETED_REGEXP
246 247
247 248
248 }} // namespace v8::internal 249 }} // namespace v8::internal
249 250
250 #endif // V8_ARM_REGEXP_MACRO_ASSEMBLER_ARM_H_ 251 #endif // V8_ARM_REGEXP_MACRO_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/arm/regexp-macro-assembler-arm.cc » ('j') | src/arm/regexp-macro-assembler-arm.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698