Skip to content

Inliner heuristics: improve looksLikeForwarderOrFactoryOrTrivial #565

Open
@lrytz

Description

@lrytz

looksLikeForwarderOrFactoryOrTrivial identifies forwarders, factories and trivial methods. Currently that method doesn't know a field read or a method call targets a public or private field or method. It approximates this by trating getfield as private, getstatic as public, invokespecial as private, invokestatic as public.

So we should fix the following miscategorizations:

  • should exclude forwarders that use invokestatic to call a private method (such forwarders should not be inlined, as this creates more private callsites, which should be avoided)
  • should include methods that read a public (non-static) field (such a method can be inlined. currently field accessors are excluded)
  • should exclude methods that read a private static field (should not be inlined).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions