@@ -106,27 +106,33 @@ public static CodeRangeBuffer addCodeRangeToBuff(CodeRangeBuffer pbuf, ScanEnvir
106
106
to = n ;
107
107
}
108
108
109
- if ( pbuf == null ) pbuf = new CodeRangeBuffer (); // move to CClassNode
109
+ int n ;
110
110
111
- int []p = pbuf .p ;
112
- int n = p [0 ];
111
+ if (pbuf == null ) {
112
+ pbuf = new CodeRangeBuffer (); // move to CClassNode
113
+ n = 0 ;
114
+ } else {
115
+ n = pbuf .p [0 ];
116
+ }
117
+
118
+ int [] data = pbuf .p ; // data = bbuf.p
119
+ final int dataOff = 1 ; // data++
113
120
114
121
int bound = from == 0 ? 0 : n ;
115
- int low = 0 ;
116
- while (low < bound ) {
122
+ int low ;
123
+ for (low = 0 ; low < bound ; ) {
117
124
int x = (low + bound ) >>> 1 ;
118
- if (from - 1 > p [ x * 2 + 2 ]) {
125
+ if (from - 1 > data [ dataOff + x * 2 + 1 ]) {
119
126
low = x + 1 ;
120
127
} else {
121
128
bound = x ;
122
129
}
123
130
}
124
131
125
132
int high = to == LAST_CODE_POINT ? n : low ;
126
- bound = n ;
127
- while (high < bound ) {
133
+ for (bound = n ; high < bound ; ) {
128
134
int x = (high + bound ) >>> 1 ;
129
- if (to + 1 >= p [ x * 2 + 1 ]) {
135
+ if (to + 1 >= data [ dataOff + x * 2 ]) {
130
136
high = x + 1 ;
131
137
} else {
132
138
bound = x ;
@@ -139,11 +145,11 @@ public static CodeRangeBuffer addCodeRangeToBuff(CodeRangeBuffer pbuf, ScanEnvir
139
145
140
146
if (incN != 1 ) {
141
147
if (checkDup ) {
142
- if (from <= p [ low * 2 + 2 ] && (p [ low * 2 + 1 ] <= from || p [ low * 2 + 2 ] <= to )) env .ccDuplicateWarn ();
148
+ if (from <= data [ dataOff + low * 2 + 1 ] && (data [ dataOff + low * 2 ] <= from || data [ dataOff + low * 2 + 1 ] <= to )) env .ccDuplicateWarn ();
143
149
}
144
150
145
- if (from > p [ low * 2 + 1 ]) from = p [ low * 2 + 1 ];
146
- if (to < p [ (high - 1 ) * 2 + 2 ]) to = p [ (high - 1 ) * 2 + 2 ];
151
+ if (from > data [ dataOff + low * 2 ]) from = data [ dataOff + low * 2 ];
152
+ if (to < data [ dataOff + (high - 1 ) * 2 + 1 ]) to = data [ dataOff + (high - 1 ) * 2 + 1 ];
147
153
}
148
154
149
155
if (incN != 0 ) {
0 commit comments