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

    Loading...
  1. Dashboard
  2. Undefined Space
  3. Port: PowerPC/AIX
  4. Architecture of the OpenJDK PPC Port

Architecture of the OpenJDK PPC Port

  • Created by Goetz Lindenmaier, last modified on May 07, 2013


This page describes architectural decisions in the HotSpot VM PPC port. It explains extensions we made to shared code needed for PPC, but which might be also useful for other platforms.  Further it gives details of implementations in the PPC part.

Supported operating systems and processor implementations

AIX: The port supports AIX 5.3 and later. 

Linux: We build and run the VM on SLES 10.3, but support it on other Linux distributions, too.

We do not support as400 pase. Contributions are welcome.

Processor: The port supports only 64-bit PPC machines. It recognizes Power chips 5 through 7 and generates code optimized for these processors. So far, it lacks an instruction scheduler targeted to Power 6, which is an in-order issueing processor.

Interpreter and Compiler

The port is derived from a VM targeted towards server applications. Therefore it focuses on maximizing peak performance. Thus, it utilizes the high end C2 optimizing compiler of HotSpot.  As interpreter performance is less relevant for server applications, we use the C++ interpreter.

The port does not support the template interpreter or the C1 compiler.  Contributions are welcome.

Supported HotSpot features

We support a wide range of basic functional flavours of the HotSpot VM. As of garbage collection, we support

  • The default GC.
  • Concurrent Mark and Sweep (-XX:+UseConcMarkSweepGC).

Support for G1 is also implemented, but we still test and fix issues.

We support biased locking to improve the locking performance. This is essential on PPC, as the lock instructions are expensive. Further we support compressed Oops to reduce memory usage.

The C2 compiler uses implicit null checks, which requires some adaptions to shared code as on AIX the zero page is not protected.

The port does not support tiered compilation, as the C1 compiler is not ported.

 

Here you find more detailed informations:

  • C++ interpreter features
  • C2 compiler extensions and new optimizations

 

 

 

 

Overview
Content Tools
ThemeBuilder
  • No labels

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.21
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 222, "requestCorrelationId": "8662be077a473071"}