Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8361492

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

XMLWordPrintable

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

            mchevalier Marc Chevalier
            mchevalier Marc Chevalier
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: