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

    Loading...
  1. Dashboard
  2. HotSpot
  3. Main
  4. Compiler
  5. Loop optimizations in Hotspot Server VM Compiler (C2)

Page History

Versions Compared

Old Version 2

changes.mady.by.user Vladimir Kozlov

Saved on Aug 15, 2014

compared with

New Version Current

changes.mady.by.user Vladimir Kozlov

Saved on Aug 15, 2014

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

Key

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

...

Main loop unrolling (with maximum 16 unrolls)

Range Check Elimination

RangeCheckElimination

For array accesses range check is generated in compiled code:

...

  If (index * SCALE + Offset < Range) {

Loop Predication

LoopPredication

The general idea is to insert a predicate on the entry path to a loop, and raise a uncommon trap if the check of the condition fails. The condition checks are promoted from inside the loop body, and thus the checks inside the loop could be eliminated. Currently, loop predication optimization has been applied to remove array range check and loop invariant checks (such as null checks).

...

3. Loop predication can be applied to loops with calls

LoopPredication

RangeCheckElimination

 

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.

  • Adaptavist ThemeBuilder Powered by Atlassian Confluence 7.13.8
  • Adaptavist ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Adaptavist ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 157, "requestCorrelationId": "abbe87c86dfc727d"}