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

Side by Side Diff: runtime/vm/regexp_assembler.h

Issue 2947143002: Revert "VM(RegExp): Allow OSR optimization of RegExp :matcher functions." (Closed)
Patch Set: Created 3 years, 6 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 | « runtime/vm/regexp.cc ('k') | runtime/vm/regexp_assembler_ir.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef RUNTIME_VM_REGEXP_ASSEMBLER_H_ 5 #ifndef RUNTIME_VM_REGEXP_ASSEMBLER_H_
6 #define RUNTIME_VM_REGEXP_ASSEMBLER_H_ 6 #define RUNTIME_VM_REGEXP_ASSEMBLER_H_
7 7
8 #include "vm/assembler.h" 8 #include "vm/assembler.h"
9 #include "vm/intermediate_language.h" 9 #include "vm/intermediate_language.h"
10 #include "vm/object.h" 10 #include "vm/object.h"
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 BlockLabel* on_in_range) = 0; 146 BlockLabel* on_in_range) = 0;
147 virtual void CheckCharacterNotInRange(uint16_t from, 147 virtual void CheckCharacterNotInRange(uint16_t from,
148 uint16_t to, // Both inclusive. 148 uint16_t to, // Both inclusive.
149 BlockLabel* on_not_in_range) = 0; 149 BlockLabel* on_not_in_range) = 0;
150 150
151 // The current character (modulus the kTableSize) is looked up in the byte 151 // The current character (modulus the kTableSize) is looked up in the byte
152 // array, and if the found byte is non-zero, we jump to the on_bit_set label. 152 // array, and if the found byte is non-zero, we jump to the on_bit_set label.
153 virtual void CheckBitInTable(const TypedData& table, 153 virtual void CheckBitInTable(const TypedData& table,
154 BlockLabel* on_bit_set) = 0; 154 BlockLabel* on_bit_set) = 0;
155 155
156 // Checks for pre-emption and serves as an OSR entry.
157 virtual void CheckPreemption(bool is_backtrack) {}
158
159 // Checks whether the given offset from the current position is before 156 // Checks whether the given offset from the current position is before
160 // the end of the string. May overwrite the current character. 157 // the end of the string. May overwrite the current character.
161 virtual void CheckPosition(intptr_t cp_offset, BlockLabel* on_outside_input) { 158 virtual void CheckPosition(intptr_t cp_offset, BlockLabel* on_outside_input) {
162 LoadCurrentCharacter(cp_offset, on_outside_input, true); 159 LoadCurrentCharacter(cp_offset, on_outside_input, true);
163 } 160 }
164 // Check whether a standard/default character class matches the current 161 // Check whether a standard/default character class matches the current
165 // character. Returns false if the type of special character class does 162 // character. Returns false if the type of special character class does
166 // not have custom support. 163 // not have custom support.
167 // May clobber the current loaded character. 164 // May clobber the current loaded character.
168 virtual bool CheckSpecialCharacterClass(uint16_t type, 165 virtual bool CheckSpecialCharacterClass(uint16_t type,
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 226
230 private: 227 private:
231 bool slow_safe_compiler_; 228 bool slow_safe_compiler_;
232 bool global_mode_; 229 bool global_mode_;
233 Zone* zone_; 230 Zone* zone_;
234 }; 231 };
235 232
236 } // namespace dart 233 } // namespace dart
237 234
238 #endif // RUNTIME_VM_REGEXP_ASSEMBLER_H_ 235 #endif // RUNTIME_VM_REGEXP_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « runtime/vm/regexp.cc ('k') | runtime/vm/regexp_assembler_ir.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698