Lines Matching refs:JSRegExp
38 // Prepares a JSRegExp object with Irregexp-specific data.
39 static void IrregexpInitialize(Isolate* isolate, Handle<JSRegExp> re,
50 static int IrregexpPrepare(Isolate* isolate, Handle<JSRegExp> regexp,
53 static void AtomCompile(Isolate* isolate, Handle<JSRegExp> re,
57 static int AtomExecRaw(Isolate* isolate, Handle<JSRegExp> regexp,
61 static Handle<Object> AtomExec(Isolate* isolate, Handle<JSRegExp> regexp,
71 static int IrregexpExecRaw(Isolate* isolate, Handle<JSRegExp> regexp,
80 Isolate* isolate, Handle<JSRegExp> regexp, Handle<String> subject,
84 static bool CompileIrregexp(Isolate* isolate, Handle<JSRegExp> re,
87 Handle<JSRegExp> re,
97 // For acting on the JSRegExp data FixedArray.
132 Handle<JSRegExp> re,
147 void RegExp::ThrowRegExpException(Isolate* isolate, Handle<JSRegExp> re,
153 bool RegExp::IsUnmodifiedRegExp(Isolate* isolate, Handle<JSRegExp> regexp) {
186 MaybeHandle<Object> RegExp::Compile(Isolate* isolate, Handle<JSRegExp> re,
195 (backtrack_limit == JSRegExp::kNoBacktrackLimit);
202 pattern, JSRegExp::AsJSRegExpFlags(flags));
229 } else if (flags & JSRegExp::kLinear) {
270 compilation_cache->PutRegExp(pattern, JSRegExp::AsJSRegExpFlags(flags),
278 bool RegExp::EnsureFullyCompiled(Isolate* isolate, Handle<JSRegExp> re,
281 case JSRegExp::NOT_COMPILED:
283 case JSRegExp::ATOM:
285 case JSRegExp::IRREGEXP:
291 case JSRegExp::EXPERIMENTAL:
303 Isolate* isolate, Handle<JSRegExp> regexp, Handle<String> subject,
311 MaybeHandle<Object> RegExp::Exec(Isolate* isolate, Handle<JSRegExp> regexp,
316 case JSRegExp::NOT_COMPILED:
318 case JSRegExp::ATOM:
321 case JSRegExp::IRREGEXP:
324 case JSRegExp::EXPERIMENTAL:
332 void RegExpImpl::AtomCompile(Isolate* isolate, Handle<JSRegExp> re,
336 re, pattern, JSRegExp::AsJSRegExpFlags(flags), match_pattern);
354 int RegExpImpl::AtomExecRaw(Isolate* isolate, Handle<JSRegExp> regexp,
401 Handle<Object> RegExpImpl::AtomExec(Isolate* isolate, Handle<JSRegExp> re,
428 bool RegExpImpl::EnsureCompiledIrregexp(Isolate* isolate, Handle<JSRegExp> re,
434 compiled_code == Smi::FromInt(JSRegExp::kUninitializedValue);
442 PrintF("JSRegExp object %p needs tier-up compilation\n",
460 bool RegExpCodeIsValidForPreCompilation(Handle<JSRegExp> re, bool is_one_byte) {
477 DCHECK_EQ(JSRegExp::kUninitializedValue, entry_value);
478 DCHECK_EQ(JSRegExp::kUninitializedValue, bytecode_value);
530 bool RegExpImpl::CompileIrregexp(Isolate* isolate, Handle<JSRegExp> re,
539 RegExpFlags flags = JSRegExp::AsRegExpFlags(re->flags());
573 data->set(JSRegExp::code_index(is_one_byte), ToCodeT(code));
577 data->set(JSRegExp::bytecode_index(is_one_byte),
578 Smi::FromInt(JSRegExp::kUninitializedValue));
584 data->set(JSRegExp::bytecode_index(is_one_byte), *compile_data.code);
587 data->set(JSRegExp::code_index(is_one_byte), *trampoline);
596 data->set(JSRegExp::kIrregexpBacktrackLimit, Smi::FromInt(backtrack_limit));
599 PrintF("JSRegExp object %p %s size: %d\n",
611 return Smi::ToInt(re.get(JSRegExp::kIrregexpMaxRegisterCountIndex));
615 re.set(JSRegExp::kIrregexpMaxRegisterCountIndex, Smi::FromInt(value));
619 return Smi::ToInt(re.get(JSRegExp::kIrregexpCaptureCountIndex));
623 return ByteArray::cast(re.get(JSRegExp::bytecode_index(is_one_byte)));
627 return Code::cast(re.get(JSRegExp::code_index(is_one_byte)));
630 void RegExpImpl::IrregexpInitialize(Isolate* isolate, Handle<JSRegExp> re,
636 JSRegExp::AsJSRegExpFlags(flags),
641 int RegExpImpl::IrregexpPrepare(Isolate* isolate, Handle<JSRegExp> regexp,
654 return JSRegExp::RegistersForCaptureCount(regexp->capture_count());
657 int RegExpImpl::IrregexpExecRaw(Isolate* isolate, Handle<JSRegExp> regexp,
664 JSRegExp::RegistersForCaptureCount(regexp->capture_count()));
728 Isolate* isolate, Handle<JSRegExp> regexp, Handle<String> subject,
731 DCHECK_EQ(regexp->type_tag(), JSRegExp::IRREGEXP);
747 subject->length() >= JSRegExp::kTierUpForSubjectLengthValue) {
820 JSRegExp::RegistersForCaptureCount(capture_count);
865 uint32_t backtrack_limit = JSRegExp::kNoBacktrackLimit;
874 if (JSRegExp::RegistersForCaptureCount(data->capture_count) >
918 JSRegExp::RegistersForCaptureCount(data->capture_count);
962 if (backtrack_limit == JSRegExp::kNoBacktrackLimit) {
1044 RegExpGlobalCache::RegExpGlobalCache(Handle<JSRegExp> regexp,
1051 DCHECK(IsGlobal(JSRegExp::AsRegExpFlags(regexp->flags())));
1054 case JSRegExp::NOT_COMPILED:
1056 case JSRegExp::ATOM: {
1064 case JSRegExp::IRREGEXP: {
1082 case JSRegExp::EXPERIMENTAL: {
1090 JSRegExp::RegistersForCaptureCount(regexp->capture_count());
1126 if (IsUnicode(JSRegExp::AsRegExpFlags(regexp_->flags())) &&
1152 case JSRegExp::NOT_COMPILED:
1154 case JSRegExp::ATOM:
1159 case JSRegExp::EXPERIMENTAL: {
1167 case JSRegExp::IRREGEXP: {