Lines Matching refs:regexp
11 #include "src/regexp/regexp.h"
32 TNode<String> input, TNode<JSRegExp> regexp, TNode<Number> last_index,
35 TNode<Object> FastLoadLastIndexBeforeSmiCheck(TNode<JSRegExp> regexp);
36 TNode<Smi> FastLoadLastIndex(TNode<JSRegExp> regexp) {
37 return CAST(FastLoadLastIndexBeforeSmiCheck(regexp));
39 TNode<Object> SlowLoadLastIndex(TNode<Context> context, TNode<Object> regexp);
41 void FastStoreLastIndex(TNode<JSRegExp> regexp, TNode<Smi> value);
42 void SlowStoreLastIndex(TNode<Context> context, TNode<Object> regexp,
56 TNode<Context> context, TNode<JSRegExp> regexp, TNode<String> string,
61 TNode<Context> context, TNode<JSRegExp> regexp,
70 // relevant properties on the regexp prototype (such as exec, @@split, global)
78 // We want to keep regexp execution on the fast path as much as possible.
79 // Ideally, we could simply check if the regexp prototype has been modified;
85 // There are multiple knobs to twiddle for regexp fast path checks. We support
131 TNode<String> FlagsGetter(TNode<Context> context, TNode<Object> regexp,
134 TNode<BoolT> FastFlagGetter(TNode<JSRegExp> regexp, JSRegExp::Flag flag);
135 TNode<BoolT> FastFlagGetterGlobal(TNode<JSRegExp> regexp) {
136 return FastFlagGetter(regexp, JSRegExp::kGlobal);
138 TNode<BoolT> FastFlagGetterUnicode(TNode<JSRegExp> regexp) {
139 return FastFlagGetter(regexp, JSRegExp::kUnicode);
141 TNode<BoolT> SlowFlagGetter(TNode<Context> context, TNode<Object> regexp,
143 TNode<BoolT> FlagGetter(TNode<Context> context, TNode<Object> regexp,
147 const TNode<JSRegExp> regexp,
165 TNode<JSRegExp> regexp,
176 TNode<Object> regexp,