diff --git a/src/libraries/System.Text.RegularExpressions/gen/RegexGenerator.Emitter.cs b/src/libraries/System.Text.RegularExpressions/gen/RegexGenerator.Emitter.cs index 1fb6aaf78f3fb6..69b3c1a6c9d47f 100644 --- a/src/libraries/System.Text.RegularExpressions/gen/RegexGenerator.Emitter.cs +++ b/src/libraries/System.Text.RegularExpressions/gen/RegexGenerator.Emitter.cs @@ -1106,6 +1106,7 @@ bool EmitAnchors() noMatchFoundLabelNeeded = true; Goto(NoMatchFound); } + writer.WriteLine("base.runtextpos = pos;"); } writer.WriteLine(); break; diff --git a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCompiler.cs b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCompiler.cs index 529e9d37e43033..432c60689d8cf7 100644 --- a/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCompiler.cs +++ b/src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCompiler.cs @@ -736,6 +736,11 @@ bool EmitAnchors() } Ldloc(pos); BltFar(returnFalse); + + // base.runtextpos = pos; + Ldthis(); + Ldloc(pos); + Stfld(RuntextposField); } MarkLabel(label);