OLD | NEW |
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 VM_REGEXP_ASSEMBLER_IR_H_ | 5 #ifndef VM_REGEXP_ASSEMBLER_IR_H_ |
6 #define VM_REGEXP_ASSEMBLER_IR_H_ | 6 #define VM_REGEXP_ASSEMBLER_IR_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 27 matching lines...) Expand all Loading... |
38 virtual bool CanReadUnaligned(); | 38 virtual bool CanReadUnaligned(); |
39 | 39 |
40 // Compares two-byte strings case insensitively. | 40 // Compares two-byte strings case insensitively. |
41 // Called from generated RegExp code. | 41 // Called from generated RegExp code. |
42 static RawBool* CaseInsensitiveCompareUC16( | 42 static RawBool* CaseInsensitiveCompareUC16( |
43 RawString* str_raw, | 43 RawString* str_raw, |
44 RawSmi* lhs_index_raw, | 44 RawSmi* lhs_index_raw, |
45 RawSmi* rhs_index_raw, | 45 RawSmi* rhs_index_raw, |
46 RawSmi* length_raw); | 46 RawSmi* length_raw); |
47 | 47 |
48 static RawArray* Execute(const Function& function, | 48 static RawArray* Execute(const JSRegExp& regexp, |
49 const String& input, | 49 const String& input, |
50 const Smi& start_offset, | 50 const Smi& start_offset, |
51 Zone* zone); | 51 Zone* zone); |
52 | 52 |
53 virtual bool IsClosed() const { return (current_instruction_ == NULL); } | 53 virtual bool IsClosed() const { return (current_instruction_ == NULL); } |
54 | 54 |
55 virtual intptr_t stack_limit_slack(); | 55 virtual intptr_t stack_limit_slack(); |
56 virtual void AdvanceCurrentPosition(intptr_t by); | 56 virtual void AdvanceCurrentPosition(intptr_t by); |
57 virtual void AdvanceRegister(intptr_t reg, intptr_t by); | 57 virtual void AdvanceRegister(intptr_t reg, intptr_t by); |
58 virtual void Backtrack(); | 58 virtual void Backtrack(); |
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
434 IdAllocator temp_id_; | 434 IdAllocator temp_id_; |
435 IdAllocator arg_id_; | 435 IdAllocator arg_id_; |
436 IdAllocator local_id_; | 436 IdAllocator local_id_; |
437 IdAllocator indirect_id_; | 437 IdAllocator indirect_id_; |
438 }; | 438 }; |
439 | 439 |
440 | 440 |
441 } // namespace dart | 441 } // namespace dart |
442 | 442 |
443 #endif // VM_REGEXP_ASSEMBLER_IR_H_ | 443 #endif // VM_REGEXP_ASSEMBLER_IR_H_ |
OLD | NEW |