[IR Framework] Has too restrictive regex for load and store

XMLWordPrintable

    • b07

        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);
        }
        ```

              Assignee:
              Marc Chevalier
              Reporter:
              Marc Chevalier
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: