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

    Loading...
  1. Dashboard
  2. Undefined Space
  3. HotSpot
  4. HotSpot Command-Line Flags Overhaul - Design Proposal for JDK-8236988

Page History

Versions Compared

Old Version 6

changes.mady.by.user Ioi Lam

Saved on Apr 10, 2020

compared with

New Version 7

changes.mady.by.user Ioi Lam

Saved on Aug 18, 2020

  • Previous Change: Difference between versions 5 and 6
  • Next Change: Difference between versions 7 and 8
  • View Page History

Key

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

Overview

This is a design document for JDK-8236988 - Modular Design for JVM Flags

  • Lots of files have changed. Please read this document first before heading over to the webrev
  • Preliminary webrev: http://cr.openjdk.java.net/~iklam/jdk15/vm_flags_overhaul.008/

Goals

  • Improve the implementation of JVM command-line flags (such as -XX:+UseCompressedOops)

  • Break up monolithic globals.hpp

    • No need to include all flags for GC, C1, C2, JVMCI, .....

    • Before:
      • #include "runtime/globals.hpp" + globals_shared.hpp  = declare all possible flags
    • After:
      • If you just need flags for ZGC:
        #include "gc/z/z_globals.hpp"
    • Future: subdivide globals.hpp into individual components:
      • (Not in this patch, but possible)
      • #include "memory/metaspaceShared_globals.hpp" // just flags related to CDS
  • Remove complex macros for flags manipulation
    • Example: jvmFlags.cpp, globals_extension.hpp, jvmFlagRangeList.cpp
  • Hotspot command line switches should have multiple type attributes
    • See JDK-7123237
      • E.g., one can have a "manageable" switch and an "experimental" switch, but not a "manageable_experimental" switch.

  • Templatize duplicated flag processing code:
    • E.g., .jvmFlags.cpp
  • Speed up range/constraint checking for flags
    • Avoid linear search for every -XX:NumericFlag=value argument in the command-line (jvmFlagRangeList.cpp)

Proposal

(Design contribution by Erik Österlund, Stefan Karlsson, Coleen Phillimore)

...

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