@@ -49,7 +49,6 @@ class QAST::MASTRegexCompiler {
49
49
my $ two := fresh_i();
50
50
my $ three := fresh_i();
51
51
my $ four := fresh_i();
52
- my $ five := fresh_i();
53
52
my $ P11 := fresh_o();
54
53
my $ method := fresh_o();
55
54
my $ tmp := fresh_o();
@@ -96,7 +95,8 @@ class QAST::MASTRegexCompiler {
96
95
97
96
my @ * RXJUMPS := nqp ::list($ donelabel );
98
97
99
- my $ cstart := fresh_o();
98
+ my $ shared := fresh_o();
99
+ my $ sharedclass := fresh_o();
100
100
my $ i19 := fresh_i(); # yes, I know, inheriting the name from ancestor method
101
101
my $ i0 := fresh_i();
102
102
@@ -107,21 +107,20 @@ class QAST::MASTRegexCompiler {
107
107
op(' const_i64' , $ two , ival(2 )),
108
108
op(' const_i64' , $ three , ival(3 )),
109
109
op(' const_i64' , $ four , ival(4 )),
110
- op(' const_i64' , $ five , ival(5 )),
111
110
op(' const_i64' , $ cclass_word , ival(nqp ::const::CCLASS_WORD)),
112
111
op(' const_i64' , $ cclass_newline , ival(nqp ::const::CCLASS_NEWLINE)),
113
- op(' findmeth' , $ method , $ self , sval(' !cursor_start_all' )),
114
- call($ method , [ $ Arg ::obj ], : result($ cstart ), $ self ),
115
- op(' atpos_o' , $ cur , $ cstart , $ zero ),
116
- op(' atpos_o' , $ tmp , $ cstart , $ one ),
117
- op(' unbox_s' , $ tgt , $ tmp ),
112
+ op(' findmeth' , $ method , $ self , sval(' !cursor_start' )),
113
+ call($ method , [ $ Arg ::obj ], : result($ cur ), $ self ),
114
+ op(' findmeth' , $ shared , $ self , sval(' !shared' )),
115
+ call($ shared , [ $ Arg ::obj ], : result($ shared ), $ self ),
116
+ op(' getwhat' , $ sharedclass , $ shared ),
117
+ op(' getattr_o' , $ curclass , $ shared , $ sharedclass , sval(' $!CUR_CLASS' ), ival(-1 )),
118
+ op(' getattr_s' , $ tgt , $ shared , $ sharedclass , sval(' $!target' ), ival(-1 )),
118
119
op(' flattenropes' , $ tgt ),
119
- op(' atpos_o' , $ tmp , $ cstart , $ two ),
120
- op(' unbox_i' , $ pos , $ tmp ),
121
- op(' atpos_o' , $ curclass , $ cstart , $ three ),
122
- op(' atpos_o' , $ bstack , $ cstart , $ four ),
123
- op(' atpos_o' , $ tmp , $ cstart , $ five ),
124
- op(' unbox_i' , $ i19 , $ tmp ),
120
+ op(' getattr_i' , $ pos , $ cur , $ curclass , sval(' $!from' ), ival(-1 )),
121
+ op(' getattr_o' , $ bstack , $ cur , $ curclass , sval(' $!bstack' ), ival(-1 )),
122
+ op(' getattr_o' , $ tmp , $ self , $ curclass , sval(' $!restart' ), ival(-1 )),
123
+ op(' isconcrete' , $ i19 , $ tmp ),
125
124
op(' bindlex' , $ * BLOCK . resolve_lexical(' $¢' ), $ cur ),
126
125
op(' graphs_s' , $ eos , $ tgt ),
127
126
op(' eq_i' , $ i0 , $ one , $ i19 ),
0 commit comments