OLD | NEW |
1 // Copyright 2017 the V8 project authors. All rights reserved. | 1 // Copyright 2017 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_BUILTINS_BUILTINS_REGEXP_H_ | 5 #ifndef V8_BUILTINS_BUILTINS_REGEXP_H_ |
6 #define V8_BUILTINS_BUILTINS_REGEXP_H_ | 6 #define V8_BUILTINS_BUILTINS_REGEXP_H_ |
7 | 7 |
8 #include "src/code-stub-assembler.h" | 8 #include "src/code-stub-assembler.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 Label* if_isunmodified, Label* if_ismodified); | 65 Label* if_isunmodified, Label* if_ismodified); |
66 | 66 |
67 Node* FlagsGetter(Node* const context, Node* const regexp, bool is_fastpath); | 67 Node* FlagsGetter(Node* const context, Node* const regexp, bool is_fastpath); |
68 | 68 |
69 Node* FastFlagGetter(Node* const regexp, JSRegExp::Flag flag); | 69 Node* FastFlagGetter(Node* const regexp, JSRegExp::Flag flag); |
70 Node* SlowFlagGetter(Node* const context, Node* const regexp, | 70 Node* SlowFlagGetter(Node* const context, Node* const regexp, |
71 JSRegExp::Flag flag); | 71 JSRegExp::Flag flag); |
72 Node* FlagGetter(Node* const context, Node* const regexp, JSRegExp::Flag flag, | 72 Node* FlagGetter(Node* const context, Node* const regexp, JSRegExp::Flag flag, |
73 bool is_fastpath); | 73 bool is_fastpath); |
74 void FlagGetter(Node* context, Node* receiver, JSRegExp::Flag flag, | 74 void FlagGetter(Node* context, Node* receiver, JSRegExp::Flag flag, |
75 v8::Isolate::UseCounterFeature counter, | 75 int counter, const char* method_name); |
76 const char* method_name); | 76 |
| 77 // Utility method, remove once dotall is unstaged. |
| 78 Node* IsDotAllEnabled(Isolate* isolate); |
77 | 79 |
78 Node* IsRegExp(Node* const context, Node* const maybe_receiver); | 80 Node* IsRegExp(Node* const context, Node* const maybe_receiver); |
79 Node* RegExpInitialize(Node* const context, Node* const regexp, | 81 Node* RegExpInitialize(Node* const context, Node* const regexp, |
80 Node* const maybe_pattern, Node* const maybe_flags); | 82 Node* const maybe_pattern, Node* const maybe_flags); |
81 | 83 |
82 Node* RegExpExec(Node* context, Node* regexp, Node* string); | 84 Node* RegExpExec(Node* context, Node* regexp, Node* string); |
83 | 85 |
84 Node* AdvanceStringIndex(Node* const string, Node* const index, | 86 Node* AdvanceStringIndex(Node* const string, Node* const index, |
85 Node* const is_unicode); | 87 Node* const is_unicode); |
86 | 88 |
(...skipping 11 matching lines...) Expand all Loading... |
98 Node* ReplaceGlobalCallableFastPath(Node* context, Node* regexp, Node* string, | 100 Node* ReplaceGlobalCallableFastPath(Node* context, Node* regexp, Node* string, |
99 Node* replace_callable); | 101 Node* replace_callable); |
100 Node* ReplaceSimpleStringFastPath(Node* context, Node* regexp, Node* string, | 102 Node* ReplaceSimpleStringFastPath(Node* context, Node* regexp, Node* string, |
101 Node* replace_string); | 103 Node* replace_string); |
102 }; | 104 }; |
103 | 105 |
104 } // namespace internal | 106 } // namespace internal |
105 } // namespace v8 | 107 } // namespace v8 |
106 | 108 |
107 #endif // V8_BUILTINS_BUILTINS_REGEXP_H_ | 109 #endif // V8_BUILTINS_BUILTINS_REGEXP_H_ |
OLD | NEW |