• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. HotSpot
  4. Inlining

Page History

Versions Compared

Old Version 2

changes.mady.by.user John Rose

Saved on Jun 03, 2008

compared with

New Version 3

changes.mady.by.user John Rose

Saved on Jun 03, 2008

  • Previous Change: Difference between versions 1 and 2
  • Next Change: Difference between versions 3 and 4
  • View Page History

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Excerpt

Methods are often inlined, widening the compiler's "horizon" of optimization.

''TO DO:'' Pull in content from the following sources:

  • http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2008-April/000134.html
  • http://forum.java.sun.com/thread.jspa?threadID=790229
  • http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6316156
  • http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6565458
  • http://blogs.sun.com/watt/resource/jvm-options-list.html

Heuristics

  • ''TO DO...''

Phasing

Currently, inlining decisions are performed eagerly (in both C1 and C2), as soon as the parser reaches a call site the first time.

...

Hot methods are more likely to be inlined... ''(Say on...)''

Manual advice to the inliner

...

  • Warm up your code properly.
  • Segregate fast paths from slow paths, keeping hot methods small (35 bytecodes or less) with error processing and slow paths in separate methods.
  • Request inlining from the compiler oracle. ''(Need a ref.)''
  • ''Future:'' Find better heuristics and code them into the JVM.
  • ''Future:'' Add an @Inline annotation to the JVM. (Needs hacky POC experimentation first.)
  • ''Future:'' Extend the oracle to include profiling information collected from earlier runs, or generated by an offline configuration tool.
Overview
Content Tools
ThemeBuilder

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.23
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 294, "requestCorrelationId": "cee5da4b98f2c4d7"}