-
Bug
-
Resolution: Unresolved
-
P4
-
26
With
```
interface I {}
class C implements I {
public int i = 0;
}
```
and
```
static C c = new C();
@Test
@IR(counts = {IRNode.LOAD_OF_CLASS, "GoodCountC", "1"})
public int good12() {
return c.i;
}
```
We get
45 LoadI === 34 7 44 [[ 46 ]] @ir_framework/tests/C (ir_framework/tests/I)+12 *, name=i, idx=5; #int !jvms: GoodCount::good12 @ bci:3 (line 850)
Which doesn't match the regex
(\d+(\s){2}(Load(B|UB|S|US|I|L|F|D|P|N).*)+(\s){2}===.*@\S*GoodCountC(:|\+)\S* \*)
In particular, interfaces are not skipped. We also have problems with narrowoops because of the space after the colon in
```
void TypeNarrowOop::dump2( Dict & d, uint depth, outputStream *st ) const {
st->print("narrowoop: ");
TypeNarrowPtr::dump2(d, depth, st);
}
```
```
interface I {}
class C implements I {
public int i = 0;
}
```
and
```
static C c = new C();
@Test
@IR(counts = {IRNode.LOAD_OF_CLASS, "GoodCountC", "1"})
public int good12() {
return c.i;
}
```
We get
45 LoadI === 34 7 44 [[ 46 ]] @ir_framework/tests/C (ir_framework/tests/I)+12 *, name=i, idx=5; #int !jvms: GoodCount::good12 @ bci:3 (line 850)
Which doesn't match the regex
(\d+(\s){2}(Load(B|UB|S|US|I|L|F|D|P|N).*)+(\s){2}===.*@\S*GoodCountC(:|\+)\S* \*)
In particular, interfaces are not skipped. We also have problems with narrowoops because of the space after the colon in
```
void TypeNarrowOop::dump2( Dict & d, uint depth, outputStream *st ) const {
st->print("narrowoop: ");
TypeNarrowPtr::dump2(d, depth, st);
}
```