Lines Matching refs:regexp
5 #include "src/builtins/builtins-regexp-gen.h"
18 #include "src/objects/js-regexp-string-iterator.h"
19 #include "src/objects/js-regexp.h"
20 #include "src/objects/regexp-match-info.h"
21 #include "src/regexp/regexp-flags.h"
96 TNode<String> input, TNode<JSRegExp> regexp, TNode<Number> last_index,
192 TNode<JSRegExp> regexp) {
196 return LoadObjectField(regexp, field_offset);
200 TNode<Object> regexp) {
201 return GetProperty(context, regexp, isolate()->factory()->lastIndex_string());
204 // The fast-path of StoreLastIndex when regexp is guaranteed to be an unmodified
206 void RegExpBuiltinsAssembler::FastStoreLastIndex(TNode<JSRegExp> regexp,
211 StoreObjectField(regexp, field_offset, value);
215 TNode<Object> regexp,
218 SetPropertyStrict(context, regexp, name, value);
222 TNode<Context> context, TNode<JSRegExp> regexp,
243 CAST(LoadObjectField(regexp, JSRegExp::kFlagsOffset));
247 AllocateRegExpResult(context, num_results, start, string, regexp,
301 CAST(LoadObjectField(regexp, JSRegExp::kDataOffset));
304 // regexp engine must be able to handle captures.
400 CallRuntime(Runtime::kRegExpBuildIndices, context, regexp,
434 TNode<Context> context, TNode<JSRegExp> regexp, TNode<String> string,
466 TNode<FixedArray> data = CAST(LoadObjectField(regexp, JSRegExp::kDataOffset));
624 TNode<JSRegExp> arg8 = regexp;
641 // We expect exactly one result since we force the called regexp to behave
747 var_result = CAST(CallRuntime(target_fn, context, regexp, string,
758 var_result = CAST(CallRuntime(target_fn, context, regexp, string,
767 var_result = CAST(CallBuiltin(Builtin::kRegExpExecAtom, context, regexp,
933 auto regexp = Parameter<JSRegExp>(Descriptor::kRegExp);
941 TNode<FixedArray> data = CAST(LoadObjectField(regexp, JSRegExp::kDataOffset));
1002 auto regexp = Parameter<JSRegExp>(Descriptor::kRegExp);
1011 Return(RegExpExecInternal(context, regexp, string, last_index, match_info));
1015 TNode<Object> regexp,
1034 CSA_DCHECK(this, IsJSRegExp(CAST(regexp)));
1036 CAST(LoadObjectField(CAST(regexp), JSRegExp::kFlagsOffset));
1060 context, regexp, isolate->factory()->InternalizeUtf8String(NAME)); \
1088 context, regexp, isolate->factory()->InternalizeUtf8String(NAME)); \
1137 CAST(CallRuntime(Runtime::kRegExpStringFromFlags, context, regexp));
1155 const TNode<Context> context, const TNode<JSRegExp> regexp,
1169 return CallRuntime(Runtime::kRegExpInitializeAndCompile, context, regexp,
1173 // ES#sec-regexp-pattern-flags
1294 // ES#sec-regexp.prototype.compile
1344 TNode<BoolT> RegExpBuiltinsAssembler::FastFlagGetter(TNode<JSRegExp> regexp,
1346 TNode<Smi> flags = CAST(LoadObjectField(regexp, JSRegExp::kFlagsOffset));
1355 TNode<Object> regexp,
1383 TNode<Object> value = GetProperty(context, regexp, name);
1399 TNode<Object> regexp,
1402 return is_fastpath ? FastFlagGetter(CAST(regexp), flag)
1403 : SlowFlagGetter(context, regexp, flag);
1475 TNode<NativeContext> native_context, TNode<Object> regexp,
1494 iterator, JSRegExpStringIterator::kIteratingRegExpOffset, regexp);
1516 // Generates the fast path for @@split. {regexp} is an unmodified, non-sticky
1519 TNode<Context> context, TNode<JSRegExp> regexp, TNode<String> string,
1521 CSA_DCHECK(this, IsFastRegExpPermissive(context, regexp));
1522 CSA_DCHECK(this, Word32BinaryNot(FastFlagGetter(regexp, JSRegExp::kSticky)));
1545 // array depending on whether the {regexp} matches.
1556 CallBuiltin(Builtin::kRegExpExecInternal, context, regexp, string,
1606 // Search for the given {regexp}.
1612 context, regexp, string, next_search_from, CAST(last_match_info),
1637 FastFlagGetter(regexp, JSRegExp::kUnicode);