aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/builtins/builtins-regexp-gen.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/builtins/builtins-regexp-gen.h')
-rw-r--r--deps/v8/src/builtins/builtins-regexp-gen.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/deps/v8/src/builtins/builtins-regexp-gen.h b/deps/v8/src/builtins/builtins-regexp-gen.h
index 8f96ba38a6..879138867b 100644
--- a/deps/v8/src/builtins/builtins-regexp-gen.h
+++ b/deps/v8/src/builtins/builtins-regexp-gen.h
@@ -32,7 +32,6 @@ class RegExpBuiltinsAssembler : public CodeStubAssembler {
TNode<BoolT> IsRegExp(TNode<Context> context, TNode<Object> maybe_receiver);
- protected:
TNode<Smi> SmiZero();
TNode<IntPtrT> IntPtrZero();
@@ -75,6 +74,10 @@ class RegExpBuiltinsAssembler : public CodeStubAssembler {
TNode<RegExpMatchInfo> RegExpPrototypeExecBodyWithoutResult(
TNode<Context> context, TNode<JSReceiver> maybe_regexp,
TNode<String> string, Label* if_didnotmatch, const bool is_fastpath);
+ TNode<RegExpMatchInfo> RegExpPrototypeExecBodyWithoutResultFast(
+ TNode<Context> context, TNode<JSReceiver> maybe_regexp,
+ TNode<String> string, Label* if_didnotmatch);
+
TNode<HeapObject> RegExpPrototypeExecBody(TNode<Context> context,
TNode<JSReceiver> maybe_regexp,
TNode<String> string,
@@ -106,6 +109,12 @@ class RegExpBuiltinsAssembler : public CodeStubAssembler {
Node* FlagsGetter(Node* const context, Node* const regexp, bool is_fastpath);
TNode<Int32T> FastFlagGetter(TNode<JSRegExp> regexp, JSRegExp::Flag flag);
+ TNode<BoolT> FastFlagGetterGlobal(TNode<JSRegExp> regexp) {
+ return ReinterpretCast<BoolT>(FastFlagGetter(regexp, JSRegExp::kGlobal));
+ }
+ TNode<BoolT> FastFlagGetterUnicode(TNode<JSRegExp> regexp) {
+ return ReinterpretCast<BoolT>(FastFlagGetter(regexp, JSRegExp::kUnicode));
+ }
TNode<Int32T> SlowFlagGetter(TNode<Context> context, TNode<Object> regexp,
JSRegExp::Flag flag);
TNode<Int32T> FlagGetter(TNode<Context> context, TNode<Object> regexp,
@@ -122,6 +131,11 @@ class RegExpBuiltinsAssembler : public CodeStubAssembler {
Node* AdvanceStringIndex(Node* const string, Node* const index,
Node* const is_unicode, bool is_fastpath);
+ Node* AdvanceStringIndexFast(Node* const string, Node* const index,
+ Node* const is_unicode) {
+ return AdvanceStringIndex(string, index, is_unicode, true);
+ }
+
void RegExpPrototypeMatchBody(Node* const context, Node* const regexp,
TNode<String> const string,
const bool is_fastpath);
@@ -137,9 +151,6 @@ class RegExpBuiltinsAssembler : public CodeStubAssembler {
Node* ReplaceGlobalCallableFastPath(Node* context, Node* regexp, Node* string,
Node* replace_callable);
- Node* ReplaceSimpleStringFastPath(Node* context, Node* regexp,
- TNode<String> string,
- TNode<String> replace_string);
};
class RegExpMatchAllAssembler : public RegExpBuiltinsAssembler {