Compile-time expression evaluator wasn't seeing into ArrayBufferViews

XMLWordPrintable

    • Type: Sub-task
    • Resolution: Fixed
    • Priority: P3
    • 9
    • Affects Version/s: 8u40
    • Component/s: core-libs
    • b36
    • generic
    • generic

        Our compile-time type evaluator can currently determine that an expression "a[i]" will need to be deoptimized at least to double if it has a NumberArrayData underlying it. However, this only worked for ordinary JavaScript arrays.

        We also support the array buffer view API, and lot of octane tests (pdfjs, gbemu, and mandreel) depend on it. However, type evaluator didn't have insight into its underlying types, thus code that uses them heavily didn't get bulk-deoptimized.

        This was particularly pronounced once large portions of mandreel became subject to optimistic typing after JDK-8059844 was implemented.

        Fixing this issue brought down the number of deoptimizing recompilations in mandreel from +600 to ~100.

              Assignee:
              Attila Szegedi
              Reporter:
              Attila Szegedi
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: