TestOpaqueConstantBoolNodes fails on PPC64

XMLWordPrintable

    • b09
    • ppc

      Failed IR Rules (1) of Methods (1)
      ----------------------------------
      1) Method "compiler.intrinsics.string.TestOpaqueConstantBoolNodes::test" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={AFTER_PARSING}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"#OPAQUE_CONSTANT_BOOL#", "3"}, applyIfPlatform={}, applyIfPlatformOr={}, failOn={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
           > Phase "After Parsing":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(OpaqueConstantBool.)+(\s){2}===.)"
                 - Failed comparison: [found] 0 = 3 [given]
                 - No nodes matched!


      java.lang.String::utf8 is not inlined which can be figured out like this:

      java -XX:CompileCommand=inline,java.lang.StringCoding::* -XX:CompileCommand=exclude,jdk.internal.util.Preconditions::checkFromIndexSize -XX:CompileCommand=compileonly,test::test -XX:-TieredCompilation -XX:+PrintInlining test
      CompileCommand: inline java/lang/StringCoding.* bool inline = true
      CompileCommand: exclude jdk/internal/util/Preconditions.checkFromIndexSize bool exclude = true
      CompileCommand: compileonly test.test bool compileonly = true
        from base type: instptr:jdk/internal/lang/LazyConstantImpl (java/lang/LazyConstant,java/util/function/Supplier):Constant:exact+12,iid=bot [narrow]
        sharpened value: instptr:java/lang/Object:BotPTR+0,iid=bot
                                  @ 7 java.lang.String::<init> (17 bytes) inline (hot)
                                    @ 1 java.nio.charset.Charset::defaultCharset (12 bytes) inline (hot)
                                      @ 3 jdk.internal.lang.LazyConstantImpl::get (18 bytes) force inline by annotation
                                        @ 1 jdk.internal.lang.LazyConstantImpl::getAcquire (11 bytes) force inline by annotation
                                          @ 7 jdk.internal.misc.Unsafe::getReferenceAcquire (7 bytes) (intrinsic)
                                    @ 9 java.lang.String::checkBoundsOffCount (10 bytes) inline (hot)
                                      @ 6 jdk.internal.util.Preconditions::checkFromIndexSize (25 bytes) failed to inline: disallowed by CompileCommand
                                    @ 13 java.lang.String::<init> (86 bytes) inline (hot)
                                      @ 23 java.lang.String::utf8 (269 bytes) failed to inline: hot method too big
                                      @ 82 java.lang.String::<init> (37 bytes) inline (hot)
                                        @ 1 java.lang.Object::<init> (1 bytes) inline (hot)

            Assignee:
            Martin Doerr
            Reporter:
            Martin Doerr
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: