<!--
* Copyright (c) 2017, 2020 IBM Corp. and others
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
* License, Version 2.0 which accompanies this distribution and
* is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the
* following Secondary Licenses when the conditions for such
* availability set forth in the Eclipse Public License, v. 2.0
* are satisfied: GNU General Public License, version 2 with
* the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH
* Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->




<!DOCTYPE html>
<html lang="en" class="no-js">
  <head>
    
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width,initial-scale=1">
      <meta http-equiv="x-ua-compatible" content="ie=edge">
      
        <meta name="description" content="Eclipse OpenJ9 documentation">
      
      
        <link rel="canonical" href="https://www.eclipse.org/openj9/docs/interface_jvmti/">
      
      
      
        <meta name="lang:clipboard.copy" content="">
      
        <meta name="lang:clipboard.copied" content="">
      
        <meta name="lang:search.language" content="">
      
        <meta name="lang:search.pipeline.stopwords" content="">
      
        <meta name="lang:search.pipeline.trimmer" content="">
      
        <meta name="lang:search.result.none" content="">
      
        <meta name="lang:search.result.one" content="">
      
        <meta name="lang:search.result.other" content="">
      
        <meta name="lang:search.tokenizer" content="">
      
      <link rel="shortcut icon" href="../cr/oj9logo_img9.ico">
      <meta name="generator" content="mkdocs-1.0.4, mkdocs-material-3.0.4">
    
    
      
        <title>JVMTI -  </title>
      
    
    
      <link rel="stylesheet" href="../assets/stylesheets/application.1b62728e.css">
      
        <link rel="stylesheet" href="../assets/stylesheets/application-palette.a8b3c06d.css">
      
      
        
        
        <meta name="theme-color" content="#00bcd4">
      
    
    
      <script src="../assets/javascripts/modernizr.268332fc.js"></script>
    
    
      
        <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
        <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
      
    
    <link rel="stylesheet" href="../assets/fonts/material-icons.css">
    
      <link rel="stylesheet" href="../stylesheets/oj9.css">
    
    
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f (https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore%28j,f) );
})(window,document,'script','dataLayer','GTM-5WLCZXC');</script>
<!-- End Google Tag Manager -->  
  </head>
  
    
    
    <body dir="" data-md-color-primary="cyan" data-md-color-accent="cyan">
  
    <svg class="md-svg">
      <defs>
        
        
          <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="__github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
        
      </defs>
    </svg>
    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
    <label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
    
      <a href="../#java-virtual-machine-tool-interface" tabindex="1" class="md-skip">
        
      </a>
    
    
      <!--
* Copyright (c) 2017, 2020 IBM Corp. and others
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
* License, Version 2.0 which accompanies this distribution and
* is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the
* following Secondary Licenses when the conditions for such
* availability set forth in the Eclipse Public License, v. 2.0
* are satisfied: GNU General Public License, version 2 with
* the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH
* Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->
<header class="md-header" data-md-component="header">
    <nav class="md-header-nav md-grid">
      <div class="md-flex">
        <div class="md-flex__cell md-flex__cell--shrink">
          <a href="https://www.eclipse.org/openj9/docs" title=" " class="md-header-nav__button md-logo">
            
              <img src="../cr/openj9_6b.png">
            
          </a>
        </div>
        <div class="md-flex__cell md-flex__cell--shrink">
          <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
        </div>
        <div class="md-flex__cell md-flex__cell--stretch">
          <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
          </div>
        </div>
        <div class="md-flex__cell md-flex__cell--shrink">
          
            
              <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
              
<div class="md-search" data-md-component="search" role="dialog">
  <label class="md-search__overlay" for="__search"></label>
  <div class="md-search__inner" role="search">
    <form class="md-search__form" name="search">
      <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
      <label class="md-icon md-search__icon" for="__search"></label>
      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
        &#xE5CD;
      </button>
    </form>
    <div class="md-search__output">
      <div class="md-search__scrollwrap" data-md-scrollfix>
        <div class="md-search-result" data-md-component="result">
          <div class="md-search-result__meta">
            
          </div>
          <ol class="md-search-result__list"></ol>
        </div>
      </div>
    </div>
  </div>
</div>
            
          
        </div>
        
          <div class="md-flex__cell md-flex__cell--shrink">
            <div class="md-header-nav__source">
              


  

<a href="https://github.com/eclipse/openj9-docs/" title="Go to repository" class="md-source" data-md-source="github">
  
    <div class="md-source__icon">
      <svg viewBox="0 0 24 24" width="24" height="24">
        <use xlink:href="#__github" width="24" height="24"></use>
      </svg>
    </div>
  
  <div class="md-source__repository">
    GitHub
  </div>
</a>
            </div>
          </div>
        
  
        <!-- Eclipse Incubator link -->
        <div class="md-flex__cell md-flex__cell--shrink">
          <a href="http://wiki.eclipse.org/Development_Resources/Process_Guidelines/What_is_Incubation" target="_blank"><img class="egg" src="../cr/egg-incubation.png" alt="Eclipse Incubation"></a>
        </div>  
  
      </div>
    </nav>
  </header>
  
    
    <div class="md-container">
      
        
      
      
      <main class="md-main">
        <div class="md-main__inner md-grid" data-md-component="container">
          
            
              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    <nav class="md-nav md-nav--primary" data-md-level="0">
  <label class="md-nav__title md-nav__title--site" for="__drawer">
    <a href="https://www.eclipse.org/openj9/docs" title=" " class="md-nav__button md-logo">
      
        <img src="../cr/openj9_6b.png" width="48" height="48">
      
    </a>
     
  </label>
  
    <div class="md-nav__source">
      


  

<a href="https://github.com/eclipse/openj9-docs/" title="Go to repository" class="md-source" data-md-source="github">
  
    <div class="md-source__icon">
      <svg viewBox="0 0 24 24" width="24" height="24">
        <use xlink:href="#__github" width="24" height="24"></use>
      </svg>
    </div>
  
  <div class="md-source__repository">
    GitHub
  </div>
</a>
    </div>
  
  <ul class="md-nav__list" data-md-scrollfix>
    
      
      
      


  <li class="md-nav__item">
    <a href=".." title="About" class="md-nav__link">
      About
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../adoptopenjdk/" title="AdoptOpenJDK builds" class="md-nav__link">
      AdoptOpenJDK builds
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../introduction/" title="Getting started" class="md-nav__link">
      Getting started
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../openj9_newuser/" title="New to OpenJ9?" class="md-nav__link">
      New to OpenJ9?
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
    
    <label class="md-nav__link" for="nav-5">
      Release notes
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-5">
        Release notes
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.18/" title="Version 0.18.0" class="md-nav__link">
      Version 0.18.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.17/" title="Version 0.17.0" class="md-nav__link">
      Version 0.17.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.16/" title="Version 0.16.0" class="md-nav__link">
      Version 0.16.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.15/" title="Version 0.15.1" class="md-nav__link">
      Version 0.15.1
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5-5" type="checkbox" id="nav-5-5">
    
    <label class="md-nav__link" for="nav-5-5">
      Earlier releases
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-5-5">
        Earlier releases
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.14/" title="Version 0.14.0" class="md-nav__link">
      Version 0.14.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.13/" title="Version 0.13.0" class="md-nav__link">
      Version 0.13.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.12/" title="Version 0.12.0" class="md-nav__link">
      Version 0.12.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.11/" title="Version 0.11.0" class="md-nav__link">
      Version 0.11.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.10/" title="Version 0.10.0" class="md-nav__link">
      Version 0.10.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.9/" title="Version 0.9.0" class="md-nav__link">
      Version 0.9.0
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../version0.8/" title="Version 0.8.0" class="md-nav__link">
      Version 0.8.0
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../gc/" title="Garbage Collection" class="md-nav__link">
      Garbage Collection
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../jit/" title="JIT Compiler" class="md-nav__link">
      JIT Compiler
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../jitserver/" title="JITServer (tech. preview)" class="md-nav__link">
      JITServer (tech. preview)
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../aot/" title="AOT Compiler" class="md-nav__link">
      AOT Compiler
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10">
    
    <label class="md-nav__link" for="nav-10">
      Class data sharing
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-10">
        Class data sharing
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../shrc/" title="Overview" class="md-nav__link">
      Overview
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../shrc_diag_util/" title="Diagnostic cache utilities" class="md-nav__link">
      Diagnostic cache utilities
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      

  


  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-11" type="checkbox" id="nav-11" checked>
    
    <label class="md-nav__link" for="nav-11">
      Diagnostics
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-11">
        Diagnostics
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../diag_overview/" title="Overview" class="md-nav__link">
      Overview
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-11-2" type="checkbox" id="nav-11-2">
    
    <label class="md-nav__link" for="nav-11-2">
      Dumps
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-11-2">
        Dumps
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../dump_javadump/" title="Java dump" class="md-nav__link">
      Java dump
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dump_heapdump/" title="Heap dump" class="md-nav__link">
      Heap dump
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dump_systemdump/" title="System dump" class="md-nav__link">
      System dump
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-11-3" type="checkbox" id="nav-11-3">
    
    <label class="md-nav__link" for="nav-11-3">
      Tools
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-11-3">
        Tools
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_jextract/" title="Dump extractor" class="md-nav__link">
      Dump extractor
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_jdmpview/" title="Dump viewer" class="md-nav__link">
      Dump viewer
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_traceformat/" title="Trace formatter" class="md-nav__link">
      Trace formatter
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_builder/" title="Option builder" class="md-nav__link">
      Option builder
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_jcmd/" title="Java command (jcmd) tool" class="md-nav__link">
      Java command (jcmd) tool
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_jmap/" title="Java memory map (jmap) tool" class="md-nav__link">
      Java memory map (jmap) tool
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_jps/" title="Java process status (jps)" class="md-nav__link">
      Java process status (jps)
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_jstack/" title="Java stack (jstack) tool" class="md-nav__link">
      Java stack (jstack) tool
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_jstat/" title="Java statistics monitoring (jstat) tool" class="md-nav__link">
      Java statistics monitoring (jstat) tool
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../tool_migration/" title="Switching to OpenJ9" class="md-nav__link">
      Switching to OpenJ9
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          

  


  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-11-4" type="checkbox" id="nav-11-4" checked>
    
    <label class="md-nav__link" for="nav-11-4">
      Interfaces
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-11-4">
        Interfaces
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          

  


  <li class="md-nav__item md-nav__item--active">
    
    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
    
      
    
    
      <label class="md-nav__link md-nav__link--active" for="__toc">
        JVMTI
      </label>
    
    <a href="./" title="JVMTI" class="md-nav__link md-nav__link--active">
      JVMTI
    </a>
    
      
<nav class="md-nav md-nav--secondary">
  
  
    
  
  
    <label class="md-nav__title" for="__toc">On this page ...</label>
    <ul class="md-nav__list" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#overview" class="md-nav__link">
    Overview
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#openj9-extensions" class="md-nav__link">
    OpenJ9 extensions
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#sample-jvmti-agent" class="md-nav__link">
    Sample JVMTI agent
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#agent_onload" class="md-nav__link">
    Agent_OnLoad()
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#dumpstartcallback" class="md-nav__link">
    DumpStartCallback()
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#using-the-sample-jvmti-agent" class="md-nav__link">
    Using the sample JVMTI agent
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
        <li class="md-nav__item">
  <a href="#api-reference" class="md-nav__link">
    API reference
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#getosthreadid" class="md-nav__link">
    GetOSThreadID
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#queryvmdump" class="md-nav__link">
    QueryVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#setvmdump" class="md-nav__link">
    SetVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#triggervmdump" class="md-nav__link">
    TriggerVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#resetvmdump" class="md-nav__link">
    ResetVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#vmdumpstart" class="md-nav__link">
    VMDumpStart
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#vmdumpend" class="md-nav__link">
    VMDumpEnd
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#setvmtrace" class="md-nav__link">
    SetVmTrace
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#registertracepointsubscriber" class="md-nav__link">
    RegisterTracePointSubscriber
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#jvmtitracesubscriber-function" class="md-nav__link">
    jvmtiTraceSubscriber function
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#jvmtitracealarm-function" class="md-nav__link">
    jvmtiTraceAlarm function
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#deregistertracepointsubscriber" class="md-nav__link">
    DeregisterTracePointSubscriber
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#getmemorycategories" class="md-nav__link">
    GetMemoryCategories
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#queryvmlogoptions" class="md-nav__link">
    QueryVmLogOptions
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#setvmlogoptions" class="md-nav__link">
    SetVmLogOptions
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#iteratesharedcaches" class="md-nav__link">
    IterateSharedCaches
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#jvmtiiteratesharedcachescallback-function" class="md-nav__link">
    jvmtiIterateSharedCachesCallback function
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#jvmtisharedcacheinfo-structure" class="md-nav__link">
    jvmtiSharedCacheInfo structure
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#destroysharedcache" class="md-nav__link">
    DestroySharedCache
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#registerverbosegcsubscriber" class="md-nav__link">
    RegisterVerboseGCSubscriber
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#jvmtiverbosegcsubscriber-function" class="md-nav__link">
    jvmtiVerboseGCSubscriber function
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#jvmtiverbosegcalarm-function" class="md-nav__link">
    jvmtiVerboseGCAlarm function
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#deregisterverbosegcsubscriber" class="md-nav__link">
    DeregisterVerboseGCSubscriber
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
      
      
      
      
    </ul>
  
</nav>
    
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../interface_dtfj/" title="DTFJ" class="md-nav__link">
      DTFJ
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../interface_lang_management/" title="Language Management" class="md-nav__link">
      Language Management
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-12" type="checkbox" id="nav-12">
    
    <label class="md-nav__link" for="nav-12">
      Command-line options
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-12">
        Command-line options
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../cmdline_specifying/" title="Specifying options" class="md-nav__link">
      Specifying options
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../cmdline_general/" title="Standard options" class="md-nav__link">
      Standard options
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../cmdline_migration/" title="Switching to OpenJ9" class="md-nav__link">
      Switching to OpenJ9
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-12-4" type="checkbox" id="nav-12-4">
    
    <label class="md-nav__link" for="nav-12-4">
      System property options
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-12-4">
        System property options
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../d_jvm_commands/" title="Using System properties" class="md-nav__link">
      Using System properties
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmenableclasscaching/" title="-Dcom.ibm.enableClassCaching" class="md-nav__link">
      -Dcom.ibm.enableClassCaching
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmenablelegacydumpsecurity/" title="-Dcom.ibm.enableLegacyDumpSecurity" class="md-nav__link">
      -Dcom.ibm.enableLegacyDumpSecurity
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmenablelegacylogsecurity/" title="-Dcom.ibm.enableLegacyLogSecurity" class="md-nav__link">
      -Dcom.ibm.enableLegacyLogSecurity
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmenablelegacytracesecurity/" title="-Dcom.ibm.enableLegacyTraceSecurity" class="md-nav__link">
      -Dcom.ibm.enableLegacyTraceSecurity
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmgpudisable/" title="-Dcom.ibm.gpu.disable" class="md-nav__link">
      -Dcom.ibm.gpu.disable
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmgpuenable/" title="-Dcom.ibm.gpu.enable" class="md-nav__link">
      -Dcom.ibm.gpu.enable
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmgpuverbose/" title="-Dcom.ibm.gpu.verbose" class="md-nav__link">
      -Dcom.ibm.gpu.verbose
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmlangmanagementosmxbeaniscputime100ns/" title="-Dcom.ibm.lang.management.OperatingSystemMXBean.isCpuTime100ns" class="md-nav__link">
      -Dcom.ibm.lang.management.OperatingSystemMXBean.isCpuTime100ns
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmlangmanagementverbose/" title="-Dcom.ibm.lang.management.verbose" class="md-nav__link">
      -Dcom.ibm.lang.management.verbose
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmtoolsattachdirectory/" title="-Dcom.ibm.tools.attach.directory" class="md-nav__link">
      -Dcom.ibm.tools.attach.directory
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmtoolsattachdisplayname/" title="-Dcom.ibm.tools.attach.displayName" class="md-nav__link">
      -Dcom.ibm.tools.attach.displayName
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmtoolsattachenable/" title="-Dcom.ibm.tools.attach.enable" class="md-nav__link">
      -Dcom.ibm.tools.attach.enable
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmtoolsattachid/" title="-Dcom.ibm.tools.attach.id" class="md-nav__link">
      -Dcom.ibm.tools.attach.id
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dcomibmtoolsattachtimeout/" title="-Dcom.ibm.tools.attach.timeout" class="md-nav__link">
      -Dcom.ibm.tools.attach.timeout
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../dfileencoding/" title="-Dfile.encoding" class="md-nav__link">
      -Dfile.encoding
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djavacompiler/" title="-Djava.compiler" class="md-nav__link">
      -Djava.compiler
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djavalangstringsubstringnocopy/" title="-Djava.lang.string.substring.nocopy" class="md-nav__link">
      -Djava.lang.string.substring.nocopy
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djdknativecbc/" title="-Djdk.nativeCBC" class="md-nav__link">
      -Djdk.nativeCBC
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djdknativechacha20/" title="-Djdk.nativeChaCha20" class="md-nav__link">
      -Djdk.nativeChaCha20
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djdknativecrypto/" title="-Djdk.nativeCrypto" class="md-nav__link">
      -Djdk.nativeCrypto
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djdknativedigest/" title="-Djdk.nativeDigest" class="md-nav__link">
      -Djdk.nativeDigest
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djdknativegcm/" title="-Djdk.nativeGCM" class="md-nav__link">
      -Djdk.nativeGCM
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../djdknativersa/" title="-Djdk.nativeRSA" class="md-nav__link">
      -Djdk.nativeRSA
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-12-5" type="checkbox" id="nav-12-5">
    
    <label class="md-nav__link" for="nav-12-5">
      JVM -X options
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-12-5">
        JVM -X options
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../x_jvm_commands/" title="Using -X options" class="md-nav__link">
      Using -X options
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../x/" title="-X" class="md-nav__link">
      -X
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xaggressive/" title="-Xaggressive" class="md-nav__link">
      -Xaggressive
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xalwaysclassgc/" title="-Xalwaysclassgc" class="md-nav__link">
      -Xalwaysclassgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xaot/" title="-Xaot" class="md-nav__link">
      -Xaot
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xargencoding/" title="-Xargencoding" class="md-nav__link">
      -Xargencoding
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xbootclasspath/" title="-Xbootclasspath" class="md-nav__link">
      -Xbootclasspath
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xceehdlr/" title="-XCEEHDLR" class="md-nav__link">
      -XCEEHDLR
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcheck/" title="-Xcheck" class="md-nav__link">
      -Xcheck
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xclassgc/" title="-Xclassgc" class="md-nav__link">
      -Xclassgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcodecache/" title="-Xcodecache" class="md-nav__link">
      -Xcodecache
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcodecachetotal/" title="-Xcodecachetotal" class="md-nav__link">
      -Xcodecachetotal
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcomp/" title="-Xcomp" class="md-nav__link">
      -Xcomp
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompactexplicitgc/" title="-Xcompactexplicitgc" class="md-nav__link">
      -Xcompactexplicitgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompactgc/" title="-Xcompactgc" class="md-nav__link">
      -Xcompactgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompilationthreads/" title="-XcompilationThreads" class="md-nav__link">
      -XcompilationThreads
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompressedrefs/" title="-Xcompressedrefs" class="md-nav__link">
      -Xcompressedrefs
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xconcurrentbackground/" title="-Xconcurrentbackground" class="md-nav__link">
      -Xconcurrentbackground
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xconcurrentlevel/" title="-Xconcurrentlevel" class="md-nav__link">
      -Xconcurrentlevel
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xconcurrentslack/" title="-Xconcurrentslack" class="md-nav__link">
      -Xconcurrentslack
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xconmeter/" title="-Xconmeter" class="md-nav__link">
      -Xconmeter
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xenableexcessivegc/" title="-Xdisableexcessivegc" class="md-nav__link">
      -Xdisableexcessivegc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xenableexplicitgc/" title="-Xdisableexplicitgc" class="md-nav__link">
      -Xdisableexplicitgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xdisablejavadump/" title="-Xdisablejavadump" class="md-nav__link">
      -Xdisablejavadump
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xenablestringconstantgc/" title="-Xdisablestringconstantgc" class="md-nav__link">
      -Xdisablestringconstantgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xdump/" title="-Xdump" class="md-nav__link">
      -Xdump
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xenableexcessivegc/" title="-Xenableexcessivegc" class="md-nav__link">
      -Xenableexcessivegc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xenableexplicitgc/" title="-Xenableexplicitgc" class="md-nav__link">
      -Xenableexplicitgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xenablestringconstantgc/" title="-Xenablestringconstantgc" class="md-nav__link">
      -Xenablestringconstantgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xfastresolve/" title="-Xfastresolve" class="md-nav__link">
      -Xfastresolve
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xfuture/" title="-Xfuture" class="md-nav__link">
      -Xfuture
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xgc/" title="-Xgc" class="md-nav__link">
      -Xgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xgcsplitheap/" title="-Xgc:splitheap" class="md-nav__link">
      -Xgc:splitheap
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xgcpolicy/" title="-Xgcpolicy" class="md-nav__link">
      -Xgcpolicy
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xgcthreads/" title="-Xgcthreads" class="md-nav__link">
      -Xgcthreads
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xgcworkpackets/" title="-Xgcworkpackets" class="md-nav__link">
      -Xgcworkpackets
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xifa/" title="-Xifa" class="md-nav__link">
      -Xifa
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xint/" title="-Xint" class="md-nav__link">
      -Xint
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xss/" title="-Xiss" class="md-nav__link">
      -Xiss
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xjit/" title="-Xjit" class="md-nav__link">
      -Xjit
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xjni/" title="-Xjni" class="md-nav__link">
      -Xjni
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlinenumbers/" title="-Xlinenumbers" class="md-nav__link">
      -Xlinenumbers
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xloa/" title="-Xloa" class="md-nav__link">
      -Xloa
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xloaminimum/" title="-Xloainitial" class="md-nav__link">
      -Xloainitial
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xloaminimum/" title="-Xloamaximum" class="md-nav__link">
      -Xloamaximum
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xloaminimum/" title="-Xloaminimum" class="md-nav__link">
      -Xloaminimum
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlockreservation/" title="-XlockReservation" class="md-nav__link">
      -XlockReservation
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlockword/" title="-Xlockword" class="md-nav__link">
      -Xlockword
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlog/" title="-Xlog" class="md-nav__link">
      -Xlog
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlp/" title="-Xlp" class="md-nav__link">
      -Xlp
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlpcodecache/" title="-Xlp:codecache" class="md-nav__link">
      -Xlp:codecache
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlpobjectheap/" title="-Xlp:objectheap" class="md-nav__link">
      -Xlp:objectheap
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmine/" title="-Xmaxe" class="md-nav__link">
      -Xmaxe
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xminf/" title="-Xmaxf" class="md-nav__link">
      -Xmaxf
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmint/" title="-Xmaxt" class="md-nav__link">
      -Xmaxt
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmca/" title="-Xmca" class="md-nav__link">
      -Xmca
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmca/" title="-Xmco" class="md-nav__link">
      -Xmco
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmcrs/" title="-Xmcrs" class="md-nav__link">
      -Xmcrs
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmine/" title="-Xmine" class="md-nav__link">
      -Xmine
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xminf/" title="-Xminf" class="md-nav__link">
      -Xminf
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmint/" title="-Xmint" class="md-nav__link">
      -Xmint
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmn/" title="-Xmn" class="md-nav__link">
      -Xmn
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmn/" title="-Xmns" class="md-nav__link">
      -Xmns
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmn/" title="-Xmnx" class="md-nav__link">
      -Xmnx
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmo/" title="-Xmo" class="md-nav__link">
      -Xmo
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmo/" title="-Xmoi" class="md-nav__link">
      -Xmoi
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmo/" title="-Xmos" class="md-nav__link">
      -Xmos
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmo/" title="-Xmox" class="md-nav__link">
      -Xmox
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmr/" title="-Xmr" class="md-nav__link">
      -Xmr
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmr/" title="-Xmrx" class="md-nav__link">
      -Xmrx
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xms/" title="-Xms" class="md-nav__link">
      -Xms
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xmso/" title="-Xmso" class="md-nav__link">
      -Xmso
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xms/" title="-Xmx" class="md-nav__link">
      -Xmx
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xaot/" title="-Xnoaot" class="md-nav__link">
      -Xnoaot
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xclassgc/" title="-Xnoclassgc" class="md-nav__link">
      -Xnoclassgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompactexplicitgc/" title="-Xnocompactexplicitgc" class="md-nav__link">
      -Xnocompactexplicitgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompactgc/" title="-Xnocompactgc" class="md-nav__link">
      -Xnocompactgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xcompressedrefs/" title="-Xnocompressedrefs" class="md-nav__link">
      -Xnocompressedrefs
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xjit/" title="-Xnojit" class="md-nav__link">
      -Xnojit
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xlinenumbers/" title="-Xnolinenumbers" class="md-nav__link">
      -Xnolinenumbers
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xloa/" title="-Xnoloa" class="md-nav__link">
      -Xnoloa
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsigcatch/" title="-Xnosigcatch" class="md-nav__link">
      -Xnosigcatch
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsigchain/" title="-Xnosigchain" class="md-nav__link">
      -Xnosigchain
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xnumanone/" title="-Xnuma:none" class="md-nav__link">
      -Xnuma:none
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xoptionsfile/" title="-Xoptionsfile" class="md-nav__link">
      -Xoptionsfile
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xquickstart/" title="-Xquickstart" class="md-nav__link">
      -Xquickstart
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xrs/" title="-Xrs" class="md-nav__link">
      -Xrs
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsamplingexpirationtime/" title="-XsamplingExpirationTime" class="md-nav__link">
      -XsamplingExpirationTime
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xscdmx/" title="-Xscdmx" class="md-nav__link">
      -Xscdmx
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xscminaot/" title="-Xscmaxaot" class="md-nav__link">
      -Xscmaxaot
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xscminjitdata/" title="-Xscmaxjitdata" class="md-nav__link">
      -Xscmaxjitdata
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xscminaot/" title="-Xscminaot" class="md-nav__link">
      -Xscminaot
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xscminjitdata/" title="-Xscminjitdata" class="md-nav__link">
      -Xscminjitdata
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xscmx/" title="-Xscmx" class="md-nav__link">
      -Xscmx
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xshareclasses/" title="-Xshareclasses" class="md-nav__link">
      -Xshareclasses
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsigcatch/" title="-Xsigcatch" class="md-nav__link">
      -Xsigcatch
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsigchain/" title="-Xsigchain" class="md-nav__link">
      -Xsigchain
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsignal/" title="-Xsignal" class="md-nav__link">
      -Xsignal
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsoftmx/" title="-Xsoftmx" class="md-nav__link">
      -Xsoftmx
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xsoftrefthreshold/" title="-Xsoftrefthreshold" class="md-nav__link">
      -Xsoftrefthreshold
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xss/" title="-Xss" class="md-nav__link">
      -Xss
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xss/" title="-Xssi" class="md-nav__link">
      -Xssi
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xtgc/" title="-Xtgc" class="md-nav__link">
      -Xtgc
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xthr/" title="-Xthr" class="md-nav__link">
      -Xthr
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xtlhprefetch/" title="-XtlhPrefetch" class="md-nav__link">
      -XtlhPrefetch
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xtrace/" title="-Xtrace" class="md-nav__link">
      -Xtrace
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xtunevirtualized/" title="-Xtune:virtualized" class="md-nav__link">
      -Xtune:virtualized
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xverbosegclog/" title="-Xverbosegclog" class="md-nav__link">
      -Xverbosegclog
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xverify/" title="-Xverify" class="md-nav__link">
      -Xverify
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xzero/" title="-Xzero" class="md-nav__link">
      -Xzero
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
          
          
          


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-12-6" type="checkbox" id="nav-12-6">
    
    <label class="md-nav__link" for="nav-12-6">
      JVM -XX options
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-12-6">
        JVM -XX options
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../xx_jvm_commands/" title="Using -XX options" class="md-nav__link">
      Using -XX options
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxactiveprocessorcount/" title="-XXActiveProcessorCount" class="md-nav__link">
      -XXActiveProcessorCount
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxallowvmshutdown/" title="-XXallowvmshutdown" class="md-nav__link">
      -XXallowvmshutdown
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxclassrelationshipverifier/" title="-XX:[+|-]ClassRelationshipVerifier" class="md-nav__link">
      -XX:[+|-]ClassRelationshipVerifier
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxconcgcthreads/" title="-XX:ConcGCThreads" class="md-nav__link">
      -XX:ConcGCThreads
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxcodecachetotal/" title="-XX:codecachetotal" class="md-nav__link">
      -XX:codecachetotal
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxcompactstrings/" title="-XX:[+|-]CompactStrings" class="md-nav__link">
      -XX:[+|-]CompactStrings
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxdisableexplicitgc/" title="-XX:[+|-]DisableExplicitGC" class="md-nav__link">
      -XX:[+|-]DisableExplicitGC
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxdisclaimjitscratch/" title="-XX:[+|-]DisclaimJitScratch" class="md-nav__link">
      -XX:[+|-]DisclaimJitScratch
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxenablecpumonitor/" title="-XX:[+|-]EnableCPUMonitor" class="md-nav__link">
      -XX:[+|-]EnableCPUMonitor
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxexitonoutofmemory/" title="-XX:[+|-]ExitOnOutOfMemory" class="md-nav__link">
      -XX:[+|-]ExitOnOutOfMemory
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxhandlesigxfsz/" title="-XX:[+|-]handleSIGXFSZ" class="md-nav__link">
      -XX:[+|-]handleSIGXFSZ
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxheapdumponoutofmemory/" title="-XX:[+|-]HeapDumpOnOutOfMemory" class="md-nav__link">
      -XX:[+|-]HeapDumpOnOutOfMemory
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxheapdumppath/" title="-XX:HeapDumpPath" class="md-nav__link">
      -XX:HeapDumpPath
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxheapmanagementmxbeancompatibility/" title="-XX:[+|-]HeapManagementMXBeanCompatibility" class="md-nav__link">
      -XX:[+|-]HeapManagementMXBeanCompatibility
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxidletuningcompactonidle/" title="-XX:[+|-]IdleTuningCompactOnIdle" class="md-nav__link">
      -XX:[+|-]IdleTuningCompactOnIdle
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxidletuninggconidle/" title="-XX:[+|-]IdleTuningGcOnIdle" class="md-nav__link">
      -XX:[+|-]IdleTuningGcOnIdle
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxidletuningminfreeheaponidle/" title="-XX:IdleTuningMinFreeHeapOnIdle" class="md-nav__link">
      -XX:IdleTuningMinFreeHeapOnIdle
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxidletuningminidlewaittime/" title="-XX:IdleTuningMinIdleWaitTime" class="md-nav__link">
      -XX:IdleTuningMinIdleWaitTime
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxignoreunrecognizedvmoptions/" title="-XX:[+|-]IgnoreUnrecognizedVMOptions" class="md-nav__link">
      -XX:[+|-]IgnoreUnrecognizedVMOptions
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxignoreunrecognizedxxcolonoptions/" title="-XX:[+|-]IgnoreUnrecognizedXXColonOptions" class="md-nav__link">
      -XX:[+|-]IgnoreUnrecognizedXXColonOptions
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxinitialrampercentage/" title="-XX:InitialRAMPercentage" class="md-nav__link">
      -XX:InitialRAMPercentage
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxinitialheapsize/" title="-XX:InitialHeapSize" class="md-nav__link">
      -XX:InitialHeapSize
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxinterleavememory/" title="-XX:[+|-]InterleaveMemory" class="md-nav__link">
      -XX:[+|-]InterleaveMemory
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxjitinlinewatches/" title="-XX:[+|-]JITInlineWatches" class="md-nav__link">
      -XX:[+|-]JITInlineWatches
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxlazysymbolresolution/" title="-XX:[+|-]LazySymbolResolution" class="md-nav__link">
      -XX:[+|-]LazySymbolResolution
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxmaxdirectmemorysize/" title="-XX:MaxDirectMemorySize" class="md-nav__link">
      -XX:MaxDirectMemorySize
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxinitialheapsize/" title="-XX:MaxHeapSize" class="md-nav__link">
      -XX:MaxHeapSize
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxinitialrampercentage/" title="-XX:MaxRAMPercentage" class="md-nav__link">
      -XX:MaxRAMPercentage
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxonoutofmemoryerror/" title="-XX:OnOutOfMemoryError" class="md-nav__link">
      -XX:OnOutOfMemoryError
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxnosuballoc32bitmem/" title="-XXnosuballoc32bitmem" class="md-nav__link">
      -XXnosuballoc32bitmem
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxpagealigndirectmemory/" title="-XX:[+|-]PageAlignDirectMemory" class="md-nav__link">
      -XX:[+|-]PageAlignDirectMemory
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxparallelcmsthreads/" title="-XX:ParallelCMSThreads" class="md-nav__link">
      -XX:ParallelCMSThreads
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxparallelgcthreads/" title="-XX:ParallelGCThreads" class="md-nav__link">
      -XX:ParallelGCThreads
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxpositiveidentityhash/" title="-XX:[+|-]PositiveIdentityHash" class="md-nav__link">
      -XX:[+|-]PositiveIdentityHash
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxreadipinfoforras/" title="-XX:[+|-]ReadIPInfoForRAS" class="md-nav__link">
      -XX:[+|-]ReadIPInfoForRAS
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxreducecpumonitoroverhead/" title="-XX:[+|-]ReduceCPUMonitorOverhead" class="md-nav__link">
      -XX:[+|-]ReduceCPUMonitorOverhead
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxruntimeinstrumentation/" title="-XX:[+|-]RuntimeInstrumentation" class="md-nav__link">
      -XX:[+|-]RuntimeInstrumentation
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxsethwprefetch/" title="-XXsetHWPrefetch" class="md-nav__link">
      -XXsetHWPrefetch
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxshareanonymousclasses/" title="-XX:[+|-]ShareAnonymousClasses" class="md-nav__link">
      -XX:[+|-]ShareAnonymousClasses
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxshareclassesenablebci/" title="-XX:ShareClassesDisableBCI" class="md-nav__link">
      -XX:ShareClassesDisableBCI
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxshareclassesenablebci/" title="-XX:ShareClassesEnableBCI" class="md-nav__link">
      -XX:ShareClassesEnableBCI
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxsharedcachehardlimit/" title="-XX:SharedCacheHardLimit" class="md-nav__link">
      -XX:SharedCacheHardLimit
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxshareunsafeclasses/" title="-XX:[+|-]ShareUnsafeClasses" class="md-nav__link">
      -XX:[+|-]ShareUnsafeClasses
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxstacktraceinthrowable/" title="-XX:-StackTraceInThrowable" class="md-nav__link">
      -XX:-StackTraceInThrowable
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxtransparenthugepage/" title="-XX:[+|-]TransparentHugePage" class="md-nav__link">
      -XX:[+|-]TransparentHugePage
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxusecompressedoops/" title="-XX:[+|-]UseCompressedOops" class="md-nav__link">
      -XX:[+|-]UseCompressedOops
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxusecontainersupport/" title="-XX:[+|-]UseContainerSupport" class="md-nav__link">
      -XX:[+|-]UseContainerSupport
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxusegcstartuphints/" title="-XX:[+|-]UseGCStartupHints" class="md-nav__link">
      -XX:[+|-]UseGCStartupHints
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxusenogc/" title="-XX:[+|-]UseNoGC" class="md-nav__link">
      -XX:[+|-]UseNoGC
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxverboseverification/" title="-XX:[+|-]VerboseVerification" class="md-nav__link">
      -XX:[+|-]VerboseVerification
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../xxvmlockclassloader/" title="-XX:[+|-]VMLockClassLoader" class="md-nav__link">
      -XX:[+|-]VMLockClassLoader
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item md-nav__item--nested">
    
      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-13" type="checkbox" id="nav-13">
    
    <label class="md-nav__link" for="nav-13">
       Reference
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-13">
         Reference
      </label>
      <ul class="md-nav__list" data-md-scrollfix>
        
        
          
          
          


  <li class="md-nav__item">
    <a href="../openj9_support/" title="Supported environments" class="md-nav__link">
      Supported environments
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../openj9_defaults/" title="Default settings" class="md-nav__link">
      Default settings
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../openj9_directories/" title="Directory conventions" class="md-nav__link">
      Directory conventions
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../messages_intro/" title="OpenJ9 messages" class="md-nav__link">
      OpenJ9 messages
    </a>
  </li>

        
          
          
          


  <li class="md-nav__item">
    <a href="../env_var/" title="Environment variables" class="md-nav__link">
      Environment variables
    </a>
  </li>

        
      </ul>
    </nav>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../legal/" title="Legal" class="md-nav__link">
      Legal
    </a>
  </li>

    
  </ul>
</nav>
                  </div>
                </div>
              </div>
            
            
              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    
<nav class="md-nav md-nav--secondary">
  
  
    
  
  
    <label class="md-nav__title" for="__toc">On this page ...</label>
    <ul class="md-nav__list" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#overview" class="md-nav__link">
    Overview
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#openj9-extensions" class="md-nav__link">
    OpenJ9 extensions
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#sample-jvmti-agent" class="md-nav__link">
    Sample JVMTI agent
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#agent_onload" class="md-nav__link">
    Agent_OnLoad()
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#dumpstartcallback" class="md-nav__link">
    DumpStartCallback()
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#using-the-sample-jvmti-agent" class="md-nav__link">
    Using the sample JVMTI agent
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
        <li class="md-nav__item">
  <a href="#api-reference" class="md-nav__link">
    API reference
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#getosthreadid" class="md-nav__link">
    GetOSThreadID
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#queryvmdump" class="md-nav__link">
    QueryVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#setvmdump" class="md-nav__link">
    SetVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#triggervmdump" class="md-nav__link">
    TriggerVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#resetvmdump" class="md-nav__link">
    ResetVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#vmdumpstart" class="md-nav__link">
    VMDumpStart
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#vmdumpend" class="md-nav__link">
    VMDumpEnd
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#setvmtrace" class="md-nav__link">
    SetVmTrace
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#registertracepointsubscriber" class="md-nav__link">
    RegisterTracePointSubscriber
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#jvmtitracesubscriber-function" class="md-nav__link">
    jvmtiTraceSubscriber function
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#jvmtitracealarm-function" class="md-nav__link">
    jvmtiTraceAlarm function
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#deregistertracepointsubscriber" class="md-nav__link">
    DeregisterTracePointSubscriber
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#getmemorycategories" class="md-nav__link">
    GetMemoryCategories
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#queryvmlogoptions" class="md-nav__link">
    QueryVmLogOptions
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#setvmlogoptions" class="md-nav__link">
    SetVmLogOptions
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#iteratesharedcaches" class="md-nav__link">
    IterateSharedCaches
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#jvmtiiteratesharedcachescallback-function" class="md-nav__link">
    jvmtiIterateSharedCachesCallback function
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#jvmtisharedcacheinfo-structure" class="md-nav__link">
    jvmtiSharedCacheInfo structure
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#destroysharedcache" class="md-nav__link">
    DestroySharedCache
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#registerverbosegcsubscriber" class="md-nav__link">
    RegisterVerboseGCSubscriber
  </a>
  
    <nav class="md-nav">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#jvmtiverbosegcsubscriber-function" class="md-nav__link">
    jvmtiVerboseGCSubscriber function
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#jvmtiverbosegcalarm-function" class="md-nav__link">
    jvmtiVerboseGCAlarm function
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#deregisterverbosegcsubscriber" class="md-nav__link">
    DeregisterVerboseGCSubscriber
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
      
      
      
      
    </ul>
  
</nav>
                  </div>
                </div>
              </div>
            
          
          <div class="md-content">
            <article class="md-content__inner md-typeset">
              
<!-- this adds 'pencil' icon to H1 so that you can edit the page directly in GitHub
                
                  <a href="https://github.com/eclipse/openj9-docs/edit/master/docs/interface_jvmti.md" title="Edit this page" class="md-icon md-content__icon">&#xE3C9;</a>
                
-->
                
                <!--
* Copyright (c) 2017, 2020 IBM Corp. and others
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
* License, Version 2.0 which accompanies this distribution and
* is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the
* following Secondary Licenses when the conditions for such
* availability set forth in the Eclipse Public License, v. 2.0
* are satisfied: GNU General Public License, version 2 with
* the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH
* Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->

<h1 id="java-virtual-machine-tool-interface">Java Virtual Machine Tool Interface</h1>
<p>The Java&trade; Virtual Machine Tool Interface (JVMTI) is a two-way interface that allows communication between the VM and a native agent. It replaces both the Java Virtual Machine Debug Interface (JVMDI) and Java Virtual Machine Profiler Interface (JVMPI).</p>
<h2 id="overview">Overview</h2>
<p>The JVMTI allows third parties to develop debugging, profiling, and monitoring tools for the VM. The interface contains mechanisms for the agent to notify the VM about the kinds of information it requires, and also provides a means of receiving relevant notifications.</p>
<p>Several agents can be attached to a VM at any one time.</p>
<p>JVMTI agents can be loaded at startup using short or long forms of the command-line option:</p>
<pre><code>-agentlib:&lt;agent-lib-name&gt;=&lt;options&gt;
</code></pre>
<p>or</p>
<pre><code>-agentpath:&lt;path-to-agent&gt;=&lt;options&gt;
</code></pre>
<p>In the example that follows (see <a href="#sample-jvmti-agent">Sample JVMTI agent</a>), the directory containing the <code>jdwp</code> library is assumed to  be on the library path. If you require a specific library, such as <code>jdwp</code>, with your JVMTI agent, you can specify the path at startup, for example:</p>
<pre><code>-agentlib:jdwp=&lt;options&gt;
</code></pre>
<p>For more information about JVMTI, see <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/management/index.html">https://docs.oracle.com/javase/8/docs/technotes/guides/management/index.html</a>.</p>
<p>For a guide about writing a JVMTI agent, see <a href="http://www.oracle.com/technetwork/articles/javase/jvmti-136367.html">http://www.oracle.com/technetwork/articles/javase/jvmti-136367.html</a>.</p>
<h2 id="openj9-extensions">OpenJ9 extensions</h2>
<p>OpenJ9 extensions to the JVMTI allow a JVMTI agent to query or automatically trigger operations in the VM, including the following tasks:</p>
<table>
<thead>
<tr>
<th>Task</th>
<th>OpenJ9 extensions</th>
</tr>
</thead>
<tbody>
<tr>
<td>Get the OS thread ID</td>
<td><a href="#getosthreadid"><code>GetOSThreadID</code></a></td>
</tr>
<tr>
<td>Query, set, and reset the VM dump options</td>
<td><a href="#queryvmdump"><code>QueryVmDump</code></a>, <a href="#setvmdump"><code>SetVmDump</code></a>, <a href="#resetvmdump"><code>ResetVmDump</code></a></td>
</tr>
<tr>
<td>Trigger a VM dump, and monitor JVMTI event functions when VM dumps start and end</td>
<td><a href="#triggervmdump"><code>TriggerVmDump</code></a>, <a href="#vmdumpstart"><code>VMDumpStart</code></a>, <a href="#vmdumpend"><code>VMDumpEnd</code></a></td>
</tr>
<tr>
<td>Set VM trace options</td>
<td><a href="#setvmtrace"><code>SetVmTrace</code></a></td>
</tr>
<tr>
<td>Subscribe to and unsubscribe from VM tracepoints</td>
<td><a href="#registertracepointsubscriber"><code>RegisterTracePointSubscriber</code></a>, <a href="#deregistertracepointsubscriber"><code>DeregisterTracePointSubscriber</code></a></td>
</tr>
<tr>
<td>Query runtime environment native memory categories</td>
<td><a href="#getmemorycategories"><code>GetMemoryCategories</code></a></td>
</tr>
<tr>
<td>Query and set VM log options</td>
<td><a href="#queryvmlogoptions"><code>QueryVmLogOptions</code></a>, <a href="#setvmlogoptions"><code>SetVmLogOptions</code></a></td>
</tr>
<tr>
<td>Search for and remove a shared class cache</td>
<td><a href="#iteratesharedcaches"><code>IterateSharedCaches</code></a>, <a href="#destroysharedcache"><code>DestroySharedCache</code></a></td>
</tr>
<tr>
<td>Subscribe to and unsubscribe from verbose garbage collection (GC) data logging</td>
<td><a href="#registerverbosegcsubscriber"><code>RegisterVerboseGCSubscriber</code></a>, <a href="#deregisterverbosegcsubscriber"><code>DeregisterVerboseGCSubscriber</code></a></td>
</tr>
</tbody>
</table>
<p>The definitions that you need when you write a JVMTI agent are provided in the header files <code>jvmti.h</code> and <code>ibmjvmti.h</code>, in the  <code>include</code> directory.</p>
<h2 id="sample-jvmti-agent">Sample JVMTI agent</h2>
<p>The following sample shows you how to write a simple JVMTI agent that uses OpenJ9 extensions to the JVMTI.</p>
<details>
  <summary>Sample JVMTI agent written in C/C++, which uses the OpenJ9 extensions</summary>

<pre><code>/*
 * tiSample.c
 *
 * Sample JVMTI agent to demonstrate the OpenJ9 JVMTI dump extensions
 */

#include &quot;jvmti.h&quot;
#include &quot;ibmjvmti.h&quot;

/* Forward declarations for JVMTI callback functions */
void JNICALL VMInitCallback(jvmtiEnv *jvmti_env, JNIEnv* jni_env, jthread thread);
void JNICALL DumpStartCallback(jvmtiEnv *jvmti_env, char* label, char* event, char* detail, ...);


/*
 * Agent_Onload()
 *
 * JVMTI agent initialisation function, invoked as agent is loaded by the VM
 */
JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *jvm, char *options, void *reserved) {

  jvmtiEnv *jvmti = NULL;
  jvmtiError rc;
  jint extensionEventCount = 0;
  jvmtiExtensionEventInfo *extensionEvents = NULL;
  jint extensionFunctionCount = 0;
  jvmtiExtensionFunctionInfo *extensionFunctions = NULL;
  int i = 0, j = 0;

  printf(&quot;tiSample: Loading JVMTI sample agent\n&quot;);

    /* Get access to JVMTI */
    (*jvm)-&gt;GetEnv(jvm, (void **)&amp;jvmti, JVMTI_VERSION_1_0);

     /* Look up all the JVMTI extension events and functions */
   (*jvmti)-&gt;GetExtensionEvents(jvmti, &amp;extensionEventCount, &amp;extensionEvents);
   (*jvmti)-&gt;GetExtensionFunctions(jvmti, &amp;extensionFunctionCount, &amp;extensionFunctions);

    printf(&quot;tiSample: Found %i JVMTI extension events, %i extension functions\n&quot;, extensionEventCount, extensionFunctionCount);

   /* Find the JVMTI extension event we want */
   while (i++ &lt; extensionEventCount) {

        if (strcmp(extensionEvents-&gt;id, COM_IBM_VM_DUMP_START) == 0) {
            /* Found the dump start extension event, now set up a callback for it */
            rc = (*jvmti)-&gt;SetExtensionEventCallback(jvmti, extensionEvents-&gt;extension_event_index, &amp;DumpStartCallback);
            printf(&quot;tiSample: Setting JVMTI event callback %s, rc=%i\n&quot;, COM_IBM_VM_DUMP_START, rc);
            break;
        }
        extensionEvents++; /* move on to the next extension event */
    }

    /* Find the JVMTI extension function we want */
    while (j++ &lt; extensionFunctionCount) {
        jvmtiExtensionFunction function = extensionFunctions-&gt;func;

        if (strcmp(extensionFunctions-&gt;id, COM_IBM_SET_VM_DUMP) == 0) {
            /* Found the set dump extension function, now set a dump option to generate javadumps on
          thread starts */
            rc = function(jvmti, &quot;java:events=thrstart&quot;);
            printf(&quot;tiSample: Calling JVMTI extension %s, rc=%i\n&quot;, COM_IBM_SET_VM_DUMP, rc);
            break;
        }
        extensionFunctions++; /* move on to the next extension function */
     }

     return JNI_OK;
}


/*
 * DumpStartCallback()
 * JVMTI callback for dump start event (IBM JVMTI extension)  */
void JNICALL
DumpStartCallback(jvmtiEnv *jvmti_env, char* label, char* event, char* detail, ...) {
      printf(&quot;tiSample: Received JVMTI event callback, for event %s\n&quot;, event);
}
</code></pre>


</details>

<p>The sample JVMTI agent consists of two functions, <code>Agent_OnLoad()</code> and <code>DumpStartCallback()</code>:</p>
<h3 id="agent_onload"><code>Agent_OnLoad()</code></h3>
<p>This function is called by the VM when the agent is loaded at VM startup, which allows the JVMTI agent to modify VM behavior before initialization is complete. The sample agent obtains access to the JVMTI interface by using the JNI Invocation API function <code>GetEnv()</code>. The agent calls the APIs <code>GetExtensionEvents()</code> and <code>GetExtensionFunctions()</code> to find the JVMTI extensions that are supported by the VM. These APIs provide access to the list of extensions available in the <code>jvmtiExtensionEventInfo</code> and <code>jvmtiExtensionFunctionInfo</code> structures. The sample uses an extension event and an extension function in the following way:</p>
<p><strong>Extension event:</strong> The sample JVMTI agent searches for the extension event <code>VmDumpStart</code> in the list of <code>jvmtiExtensionEventInfo</code> structures, by using the identifier <code>COM_IBM_VM_DUMP_START</code> provided in <code>ibmjvmti.h</code>. When the event is found, the JVMTI agent calls the JVMTI interface <code>SetExtensionEventCallback()</code> to enable the event, providing a function <code>DumpStartCallback()</code> that is called when the event is triggered.</p>
<p><strong>Extension function:</strong> Next, the sample JVMTI agent searches for the extension function <code>SetVMDump</code> in the list of <code>jvmtiExtensionFunctionInfo</code> structures, by using the identifier <code>COM_IBM_SET_VM_DUMP</code> provided in <code>ibmjvmti.h</code>. The JVMTI agent calls the function by using the <code>jvmtiExtensionFunction</code> pointer to set a VM dump option <code>java:events=thrstart</code>. This option requests the VM to trigger a Java dump every time a VM thread is started.</p>
<h3 id="dumpstartcallback"><code>DumpStartCallback()</code></h3>
<p>This callback function issues a message when the associated extension event is called. In the sample code, <code>DumpStartCallback()</code> is used when the <code>VmDumpStart</code> event is triggered.</p>
<h3 id="using-the-sample-jvmti-agent">Using the sample JVMTI agent</h3>
<ul>
<li>
<p>Build the sample JVMTI agent:</p>
<p>Windows:</p>
<pre><code>cl /I&lt;jre_path&gt;\include /MD /FetiSample.dll tiSample.c /link /DLL
</code></pre>
<p>Linux, AIX®, and z/OS®:</p>
<pre><code>gcc -I&lt;jre_path&gt;/include -o libtiSample.so -shared tiSample.c
</code></pre>
<p>where <code>&lt;jre_path&gt;</code> is the path to your Java runtime environment installation.</p>
</li>
<li>
<p>To run the sample JVMTI agent, use the command:</p>
<pre><code>java -agentlib:tiSample -version
</code></pre>
<p>When the sample JVMTI agent loads, messages are generated. When the JVMTI agent initiates a Java dump, the message <code>JVMDUMP010</code> is issued.</p>
</li>
</ul>
<h2 id="api-reference">API reference</h2>
<p>The following sections provide reference information for the OpenJ9 extensions to the JVMTI.</p>
<!-- ==================================================================================================== -->

<h3 id="getosthreadid"><code>GetOSThreadID</code></h3>
<p>You can get the OS thread ID by using the <code>GetOSThreadID()</code> API:</p>
<pre><code>jvmtiError GetOSThreadID(jvmtiEnv* jvmti_env, jthread thread, jlong * threadid_ptr);
</code></pre>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.</li>
<li><code>thread</code>: The thread for which the ID is required.</li>
<li><code>threadid_ptr</code>: A pointer to a variable, used to return the thread ID that corresponds to the thread specified by the <code>thread</code> parameter.</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success<br />
<code>JVMTI_ERROR_NULL_POINTER</code>: The <code>threadid_ptr</code> parameter is null.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>jvmti_env</code> parameter is invalid.<br />
<code>JVMTI_ERROR_INVALID_THREAD</code>: The thread is not valid.<br />
<code>JVMTI_ERROR_THREAD_NOT_ALIVE</code>: The VM state of the thread is not started or has died.<br />
<code>JVMTI_ERROR_UNATTACHED_THREAD</code>: The current thread is not attached to the VM.
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI start or live phase.</p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.GetOSThreadID</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_GET_OS_THREAD_ID</code></p>
<hr />
<!-- ==================================================================================================== -->

<h3 id="queryvmdump"><code>QueryVmDump</code></h3>
<p>You can query the VM dump options that are set for a VM by using the <code>QueryVmDump()</code> API:</p>
<pre><code>jvmtiError QueryVmDump(jvmtiEnv* jvmti_env, jint buffer_size, void* options_buffer, jint* data_size_ptr)
</code></pre>
<p>This extension returns a set of dump option specifications as ASCII strings. The syntax of the option string is the same as the <code>-Xdump</code> command-line option, with the initial <code>-Xdump:</code> omitted. See <a href="../xdump/">-Xdump</a>. The option strings are separated by newline characters. If the memory buffer is too small to contain the current VM dump option strings, you can expect the following results:</p>
<ul>
<li>The error message <code>JVMTI_ERROR_ILLEGAL_ARGUMENT</code> is returned.</li>
<li>The variable for <code>data_size_ptr</code> is set to the required buffer size.</li>
</ul>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.</li>
<li><code>buffer_size</code>: The size of the supplied memory buffer in bytes.</li>
<li><code>options_buffer</code>: A pointer to the supplied memory buffer.</li>
<li><code>data_size_ptr</code>: A pointer to a variable, used to return the total size of the option strings.</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success<br />
<code>JVMTI_ERROR_NULL_POINTER</code>: The <code>options_buffer</code> or <code>data_size_ptr</code> parameters are null.<br />
<code>JVMTI_ERROR_OUT_OF_MEMORY</code>: There is insufficient system memory to process the request.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>jvmti_env</code> parameter is invalid.<br />
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI live phase.<br />
<code>JVMTI_ERROR_NOT_AVAILABLE</code>: The dump configuration is locked because a dump is in progress.<br />
<code>JVMTI_ERROR_ILLEGAL_ARGUMENT</code>: The supplied memory buffer in <code>options_buffer</code> is too small.</p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.QueryVmDump</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_QUERY_VM_DUMP</code></p>
<hr />
<!-- ==================================================================================================== -->

<h3 id="setvmdump"><code>SetVmDump</code></h3>
<p>You can set VM dump options by using the <code>SetVmDump()</code> API:</p>
<pre><code>jvmtiError SetVmDump(jvmtiEnv* jvmti_env, char* option)
</code></pre>
<p>The dump option is passed in as an ASCII character string. Use the same syntax as the <code>-Xdump</code> command-line option, with the initial <code>-Xdump:</code> omitted. See <a href="../xdump/">-Xdump</a>.</p>
<p>When dumps are in progress, the dump configuration is locked, and calls to <code>SetVmDump()</code> fail with a return value of <code>JVMTI_ERROR_NOT_AVAILABLE</code>.</p>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.</li>
<li><code>option</code>: The VM dump option string.<br />
<i class="fa fa-pencil-square-o" aria-hidden="true"></i> <strong>Note:</strong> On z/OS, you might need to convert the option string from EBCDIC to ASCII before using this JVMTI extension function.</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success.<br />
<code>JVMTI_ERROR_NULL_POINTER</code>: The parameter option is null.<br />
<code>JVMTI_ERROR_OUT_OF_MEMORY</code>: There is insufficient system memory to process the request.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>jvmti_env</code> parameter is invalid.<br />
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI live phase.<br />
<code>JVMTI_ERROR_NOT_AVAILABLE</code>: The dump configuration is locked because a dump is in progress.<br />
<code>JVMTI_ERROR_ILLEGAL_ARGUMENT</code>: The parameter option contains an invalid <code>-Xdump</code> string.</p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.SetVmDump</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_SET_VM_DUMP</code></p>
<hr />
<!-- ==================================================================================================== -->

<h3 id="triggervmdump"><code>TriggerVmDump</code></h3>
<p>You can trigger a VM dump and specify the type of dump you want by using the <code>TriggerVmDump()</code> API:</p>
<pre><code>jvmtiError TriggerVmDump(jvmtiEnv* jvmti_env, char* option)
</code></pre>
<p>Choose the type of dump required by specifying an ASCII string that contains one of the supported dump agent types. See <a href="../xdump/">-Xdump</a>. JVMTI events are provided at the start and end of the dump.</p>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.</li>
<li>
<p><code>option</code>: A pointer to the dump type string, which can be one of the following types:  </p>
<p><code>stack</code><br />
<code>java</code><br />
<code>system</code><br />
<code>console</code><br />
<code>tool</code><br />
<code>heap</code><br />
<code>snap</code><br />
<code>ceedump</code> (z/OS only)  </p>
<p><i class="fa fa-pencil-square-o" aria-hidden="true"></i> <strong>Note:</strong> On z/OS, you might need to convert the option string from EBCDIC to ASCII before using this JVMTI extension function.</p>
</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success.<br />
<code>JVMTI_ERROR_NULL_POINTER</code>: The option parameter is null.<br />
<code>JVMTI_ERROR_OUT_OF_MEMORY</code>: There is insufficient system memory to process the request.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>jvmti_env</code> parameter is invalid.<br />
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI live phase.<br />
<code>JVMTI_ERROR_NOT_AVAILABLE</code>: The dump configuration is locked because a dump is in progress.</p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.TriggerVmDump</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_TRIGGER_VM_DUMP</code></p>
<hr />
<!-- ==================================================================================================== -->

<h3 id="resetvmdump"><code>ResetVmDump</code></h3>
<p>You can reset VM dump options to the values at VM initialization by using the <code>ResetVmDump()</code> API:</p>
<pre><code>jvmtiError ResetVmDump(jvmtiEnv* jvmti_env)
</code></pre>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: The JVMTI environment pointer.</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success.<br />
<code>JVMTI_ERROR_OUT_OF_MEMORY</code>: There is insufficient system memory to process the request.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>jvmti_env</code> parameter is invalid.<br />
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI live phase.<br />
<code>JVMTI_ERROR_NOT_AVAILABLE</code>: The dump configuration is locked because a dump is in progress.</p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.ResetVmDump</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_RESET_VM_DUMP</code></p>
<hr />
<!-- ==================================================================================================== -->

<h3 id="vmdumpstart"><code>VMDumpStart</code></h3>
<p>The following JVMTI event function is called when a VM dump starts:</p>
<pre><code>void JNICALL VMDumpStart(jvmtiEnv *jvmti_env, JNIEnv* jni_env, char* label, char* event, char* detail)
</code></pre>
<p>The event function provides the dump file name, the name of the JVMTI event, and the detail string from the dump event. The detail string provides additional information about the event that triggered the dump. This information is the same as the information detailed in the <code>JVMDUMP039I</code> message. For example:</p>
<pre><code>JVMDUMP039I Processing dump event "systhrow", detail "java/lang/OutOfMemoryError" at 2014/10/17 13:31:03 - please wait."
</code></pre>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: JVMTI environment pointer.</li>
<li><code>jni_env</code>: JNI environment pointer for the thread on which the event occurred.</li>
<li><code>label</code>: The dump file name, including directory path.</li>
<li><code>event</code>: The extension event name, such as <code>com.ibm.VmDumpStart</code>.</li>
<li><code>detail</code>: The dump event detail string. The string can be empty.</li>
</ul>
<p><strong>Returns</strong></p>
<p>None</p>
<hr />
<!-- ==================================================================================================== -->

<h3 id="vmdumpend"><code>VMDumpEnd</code></h3>
<p>The following JVMTI event function is called when a VM dump ends:</p>
<pre><code>void JNICALL VMDumpEnd(jvmtiEnv *jvmti_env, JNIEnv* jni_env, char* label, char* event, char* detail)
</code></pre>
<p>The event function provides the dump file name, the name of the JVMTI event, and the detail string from the dump event. The detail string provides additional information about the event that triggered the dump. This information is the same as the information detailed in the <code>JVMDUMP039I</code> message. For example:</p>
<pre><code>JVMDUMP039I Processing dump event "systhrow", detail "java/lang/OutOfMemoryError" at 2014/10/17 13:31:03 - please wait.
</code></pre>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: JVMTI environment pointer.  </li>
<li><code>jni_env</code>: JNI environment pointer for the thread on which the event occurred.  </li>
<li><code>label</code>: The dump file name, including directory path.  </li>
<li><code>event</code>: The extension event name <code>com.ibm.VmDumpEnd</code>.  </li>
<li><code>detail</code>: The dump event detail string. The string can be empty.  </li>
</ul>
<p><strong>Returns</strong></p>
<p>None</p>
<!-- ==================================================================================================== -->

<hr />
<h3 id="setvmtrace"><code>SetVmTrace</code></h3>
<p>You can set VM trace options by using the <code>SetVmTrace()</code> API:</p>
<pre><code>jvmtiError SetVmTrace(jvmtiEnv* jvmti_env, char* option)
</code></pre>
<p>The trace option is passed in as an ASCII character string. Use the same syntax as the <code>-Xtrace</code> command-line option, with the initial <code>-Xtrace:</code> omitted. See <a href="../xtrace/">-Xtrace</a>.</p>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: JVMTI environment pointer.</li>
<li><code>option</code>: Enter the VM trace option string.<br />
<i class="fa fa-pencil-square-o" aria-hidden="true"></i> <strong>Note:</strong> On z/OS, you might need to convert the option string from EBCDIC to ASCII before using this JVMTI extension function.</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success.<br />
<code>JVMTI_ERROR_NULL_POINTER</code>: The option parameter is null.<br />
<code>JVMTI_ERROR_OUT_OF_MEMORY</code>: There is insufficient system memory to process the request.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>jvmti_env</code> parameter is invalid.<br />
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI live phase.<br />
<code>JVMTI_ERROR_ILLEGAL_ARGUMENT</code>: The option parameter contains an invalid <code>-Xtrace</code> string.  </p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.SetVmTrace</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_SET_VM_TRACE</code></p>
<hr />
<!-- ==================================================================================================== -->

<h3 id="registertracepointsubscriber"><code>RegisterTracePointSubscriber</code></h3>
<p>You can subscribe to VM tracepoints by using the <code>RegisterTracePointSubscriber()</code> API:</p>
<pre><code>jvmtiError RegisterTracePointSubscriber(jvmtiEnv* jvmti_env, char *description, jvmtiTraceSubscriber subscriber, jvmtiTraceAlarm alarm, void *userData, void **subscriptionID)
</code></pre>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.</li>
<li><code>description</code>: An ASCII character string that describes the subscriber.</li>
<li><code>subscriber</code>: A function of type <a href="#jvmtitracesubscriber-function"><code>jvmtiTraceSubscriber</code></a>.</li>
<li><code>alarm</code>: A function pointer of type <a href="#jvmtitracealarm-function"><code>jvmtiTraceAlarm</code></a>.</li>
<li><code>user_data</code>: A pointer to user data. This pointer is passed to the subscriber and alarm functions each time these functions are called. This pointer can be a null value.</li>
<li><code>subscription_id</code>: A pointer to a subscription identifier. This pointer is returned by the <code>RegisterTracePointSubscriber</code> call if successful. The value must be supplied to a future call to the <code>DeregisterTracePointSubscriber</code> API, which is used to unsubscribe from the VM tracepoint.</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success.<br />
<code>JVMTI_ERROR_NULL_POINTER</code>: One of the supplied parameters is null.<br />
<code>JVMTI_ERROR_OUT_OF_MEMORY</code>: There is insufficient system memory to process the request.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>jvmti_env</code> parameter is not valid.<br />
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI live phase.<br />
<code>JVMTI_ERROR_NOT_AVAILABLE</code>: VM trace is not available.<br />
<code>JVMTI_ERROR_INTERNAL</code>: An internal error occurred.  </p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.RegisterTracePointSubscriber</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_REGISTER_TRACEPOINT_SUBSCRIBER</code></p>
<h4 id="jvmtitracesubscriber-function"><code>jvmtiTraceSubscriber</code> function</h4>
<dl>
<dd>
<p>The subscriber function type is defined as follows:</p>
<pre><code>typedef jvmtiError (*jvmtiTraceSubscriber)(jvmtiEnv *jvmti_env, void *record, jlong length, void *user_data);
</code></pre>
<p>The subscriber function must be of type <code>jvmtiTraceSubscriber</code>, which is declared in <code>ibmjvmti.h</code>.</p>
<p>This function is called with each tracepoint record that is selected through the <code>-Xtrace:external</code> option.</p>
<p>The tracepoint record that is supplied to the subscriber function is valid only for the duration of the function. If the subscriber wants to save the data, the data must be copied elsewhere.</p>
<p>If the subscriber function returns an error, the alarm function is called, the subscription is disconnected, and no further tracepoints are sent to the subscriber.</p>
<p><strong>Subscriber function parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.</li>
<li><code>record</code>: A UTF-8 string that contains a tracepoint record.</li>
<li><code>length</code>: The number of UTF-8 characters in the tracepoint record.</li>
<li><code>user_data</code>: User data that is supplied when the subscriber is registered.</li>
</ul>
</dd>
</dl>
<h4 id="jvmtitracealarm-function"><code>jvmtiTraceAlarm</code> function</h4>
<dl>
<dd>
<p>The alarm function type is defined as follows:</p>
<pre><code>typedef jvmtiError (*jvmtiTraceAlarm)(jvmtiEnv *jvmti_env, void *subscription_id, void *user_data);
</code></pre>
<p>The alarm function must be of type <code>jvmtiTraceAlarm</code>, which is declared in <code>ibmjvmti.h</code>. This function is called if the subscriber function returns an error.</p>
<p><strong>Alarm function parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.</li>
<li><code>subscription_id</code>: The subscription identifier.</li>
<li><code>user_data</code>: User data that is supplied when the subscriber is registered.</li>
</ul>
</dd>
</dl>
<hr />
<!-- ==================================================================================================== -->

<h3 id="deregistertracepointsubscriber"><code>DeregisterTracePointSubscriber</code></h3>
<p>You can unsubscribe from VM tracepoints by using the <code>DeregisterTracePointSubscriber()</code> API:</p>
<pre><code>jvmtiError DeregisterTracePointSubscriber(jvmtiEnv* jvmti_env, void *userData, void *subscription_id)
</code></pre>
<p>After the <code>DeregisterTracePointSubscriber()</code> API is called, no further calls are made to the subscriber function.</p>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.</li>
<li><code>subscription_id</code>: The subscription identifier that is returned by the call to the <a href="#registertracepointsubscriber">RegisterTracePointSubscriber</a> API.</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success.<br />
<code>JVMTI_ERROR_NULL_POINTER</code>: The <code>subscription_id</code> parameter is null.<br />
<code>JVMTI_ERROR_OUT_OF_MEMORY</code>: There is insufficient system memory to process the request.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>jvmti_env</code> parameter is not valid.<br />
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI live phase.  </p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.DeregisterTracePointSubscriber</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_DEREGISTER_TRACEPOINT_SUBSCRIBER</code></p>
<hr />
<!-- ==================================================================================================== -->

<h3 id="getmemorycategories"><code>GetMemoryCategories</code></h3>
<p>You can query runtime environment native memory categories by using the <code>GetMemoryCategories()</code> API:</p>
<pre><code>jvmtiError GetMemoryCategories(jvmtiEnv* env, jint version, jint max_categories, jvmtiMemoryCategory * categories_buffer, jint * written_count_ptr, jint * total_categories_ptr);
</code></pre>
<p>You can query the total native memory consumption of the runtime environment for each memory category by using this API. Native memory is memory requested from the operating system using library functions such as <code>malloc()</code> and <code>mmap()</code>. Runtime environment native memory use is grouped under high-level memory categories, as described in the <code>NATIVEMEMINFO</code> section of the <em>Java dump</em> topic. The data returned by the <code>GetMemoryCategories()</code> API is consistent with this format. See <a href="../dump_javadump/#nativememinfo">Java dump: NATIVEMEMINFO</a>.</p>
<p>The extension writes native memory information to a memory buffer specified by the user. Each memory category is recorded as a <code>jvmtiMemoryCategory</code> structure, whose format is defined in <code>ibmjvmti.h</code>.</p>
<p>You can use the <code>GetMemoryCategories()</code> API to work out the buffer size you must allocate to hold all memory categories defined inside the VM. To calculate the size, call the API with a null <code>categories_buffer</code> argument and a non-null <code>total_categories_ptr</code> argument.</p>
<p><strong>Parameters</strong></p>
<ul>
<li><code>env</code>: A pointer to the JVMTI environment.</li>
<li><code>version</code>: The version of the <code>jvmtiMemoryCategory</code> structure that you are using. Use <code>COM_IBM_GET_MEMORY_CATEGORIES_VERSION_1</code> for this argument, unless you must work with an obsolete version of the <code>jvmtiMemoryCategory</code> structure.</li>
<li><code>max_categories</code>: The number of <code>jvmtiMemoryCategory</code> structures that can fit in the <code>categories_buffer</code> memory buffer.</li>
<li><code>categories_buffer</code>: A pointer to the memory buffer for holding the result of the <code>GetMemoryCategories()</code> call. The number of <code>jvmtiMemoryCategory</code> slots available in the <code>categories_buffer</code> memory buffer must be accurately specified with <code>max_categories</code>, otherwise <code>GetMemoryCategories()</code> can overflow the memory buffer. The value can be null.</li>
<li><code>written_count_ptr</code>: A pointer to <code>jint</code> to store the number of <code>jvmtiMemoryCategory</code> structures to be written to the <code>categories_buffer</code> memory buffer. The value can be null.</li>
<li><code>total_categories_ptr</code>: A pointer to <code>jint</code> to store the total number of memory categories declared in the VM. The value can be null.</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success.<br />
<code>JVMTI_ERROR_UNSUPPORTED_VERSION</code>: Unrecognized value passed for version.<br />
<code>JVMTI_ERROR_ILLEGAL_ARGUMENT</code>: Illegal argument; <code>categories_buffer</code>, <code>count_ptr</code>, and <code>total_categories_ptr</code> all have null values.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>env</code> parameter is invalid.<br />
<code>JVMTI_ERROR_OUT_OF_MEMORY</code>: Memory category data is truncated because <code>max_categories</code> is not large enough.  </p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.GetMemoryCategories</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_GET_MEMORY_CATEGORIES</code></p>
<hr />
<!-- ==================================================================================================== -->

<h3 id="queryvmlogoptions"><code>QueryVmLogOptions</code></h3>
<p>You can query VM log options by using the <code>QueryVmLogOptions()</code> API:</p>
<pre><code>jvmtiError QueryVmLogOptions(jvmtiEnv* jvmti_env, jint buffer_size, void* options, jint* data_size_ptr)
</code></pre>
<p>This extension returns the current log options as an ASCII string. The syntax of the string is the same as the <code>-Xlog</code> command-line option, with the initial <code>-Xlog:</code> omitted. For example, the string "error,warn" indicates that the VM is set to log error and warning messages only. For more information, see <a href="../xlog/"><code>-Xlog</code></a>.</p>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.  </li>
<li><code>buffer_size</code>: The size of the supplied memory buffer in bytes. If the memory buffer is too small to contain the current VM log option string, the <code>JVMTI_ERROR_ILLEGAL_ARGUMENT</code> error message is returned.  </li>
<li><code>options_buffer</code>: A pointer to the supplied memory buffer.  </li>
<li><code>data_size_ptr</code>: A pointer to a variable, used to return the total size of the option string.</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success<br />
<code>JVMTI_ERROR_NULL_POINTER</code>: The <code>options</code> or <code>data_size_ptr</code> parameters are null.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>jvmti_env</code> parameter is invalid.<br />
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI live phase.<br />
<code>JVMTI_ERROR_ILLEGAL_ARGUMENT</code>: The supplied memory buffer is too small.</p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.QueryVmLogOptions</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_QUERY_VM_LOG_OPTIONS</code></p>
<hr />
<!-- ==================================================================================================== -->

<h3 id="setvmlogoptions"><code>SetVmLogOptions</code></h3>
<p>You can set VM log options by using the <code>SetVmLogOptions()</code> API:</p>
<pre><code>jvmtiError SetVmLogOptions(jvmtiEnv* jvmti_env, char* options_buffer)
</code></pre>
<p>The log option is passed in as an ASCII character string. Use the same syntax as the <code>-Xlog</code> command-line option, with the initial <code>-Xlog:</code> omitted. For example, to set the VM to log error and warning messages, pass in a string containing "error,warn". For more information, see <a href="../xlog/"><code>-Xlog</code></a>.</p>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.</li>
<li><code>options_buffer</code>: A pointer to memory containing the log option.</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success.<br />
<code>JVMTI_ERROR_NULL_POINTER</code>: The parameter option is null.<br />
<code>JVMTI_ERROR_OUT_OF_MEMORY</code>: There is insufficient system memory to process the request.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>jvmti_env</code> parameter is invalid.<br />
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI live phase.<br />
<code>JVMTI_ERROR_ILLEGAL_ARGUMENT</code>: The parameter option contains an invalid <code>-Xlog</code> string.</p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.SetVmLogOptions</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_SET_VM_LOG_OPTIONS</code></p>
<hr />
<!-- ==================================================================================================== -->

<h3 id="iteratesharedcaches"><code>IterateSharedCaches</code></h3>
<p>You can search for shared class caches that exist in a specified cache directory by using the <code>IterateSharedCaches()</code> API:</p>
<pre><code>jvmtiError IterateSharedCaches(jvmtiEnv* env, jint version, const char *cacheDir, jint flags, jboolean useCommandLineValues, jvmtiIterateSharedCachesCallback callback, void *user_data);
</code></pre>
<p>Information about the caches is returned in a structure that is populated by a user-specified callback function. You can specify the search directory in two ways:</p>
<ul>
<li>Set the value of <code>useCommandLineValues</code> to <code>true</code> and specify the directory on the command line. If the directory is not specified on the command line, the default location for the platform is used.</li>
<li>Set the value of <code>useCommandLineValues</code> to <code>false</code> and use the <code>cacheDir</code> parameter. To accept the default location for the platform, specify <code>cacheDir</code> with a <code>null</code> value.</li>
</ul>
<p><strong>Parameters</strong></p>
<ul>
<li><code>env</code>: A pointer to the JVMTI environment.</li>
<li><code>version</code>: Version information for <code>IterateSharedCaches</code>, which describes the <code>jvmtiSharedCacheInfo</code> structure passed to the <code>jvmtiIterateSharedCachesCallback</code> function. The values allowed are:<ul>
<li><code>COM_IBM_ITERATE_SHARED_CACHES_VERSION_1</code></li>
<li><code>COM_IBM_ITERATE_SHARED_CACHES_VERSION_2</code></li>
<li><code>COM_IBM_ITERATE_SHARED_CACHES_VERSION_3</code></li>
<li><code>COM_IBM_ITERATE_SHARED_CACHES_VERSION_4</code></li>
<li><code>COM_IBM_ITERATE_SHARED_CACHES_VERSION_5</code></li>
</ul>
</li>
<li><code>cacheDir</code>: When the value of <code>useCommandLineValues</code> is <code>false</code>, specify the absolute path of the directory for the shared class cache. If the value is <code>null</code>, the platform-dependent default is used.</li>
<li><code>flags</code>: Reserved for future use. The only value allowed is <code>COM_IBM_ITERATE_SHARED_CACHES_NO_FLAGS</code>.</li>
<li><code>useCommandLineValues</code>: Set this value to <code>true</code> when you want to specify the cache directory on the command line. Set this value to <code>false</code> when you want to use the <code>cacheDir</code> parameter.</li>
<li><code>callback</code>: A function pointer to a user provided callback routine <code>jvmtiIterateSharedCachesCallback</code>.</li>
<li><code>user_data</code>: User supplied data, passed as an argument to the callback function.  <pre><code>jint (JNICALL *jvmtiIterateSharedCachesCallback)(jvmtiEnv *env,jvmtiSharedCacheInfo *cache_info, void *user_data);
</code></pre>
</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success.<br />
<code>JVMTI_ERROR_OUT_OF_MEMORY</code>: There is insufficient system memory to process the request.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>env</code> parameter is not valid.<br />
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI live phase.<br />
<code>JVMTI_ERROR_UNSUPPORTED_VERSION</code>: The <code>version</code> parameter is not valid.<br />
<code>JVMTI_ERROR_NULL_POINTER</code>: The <code>callback</code> parameter is null.<br />
<code>JVMTI_ERROR_NOT_AVAILABLE</code>: The shared classes feature is not enabled in the VM.<br />
<code>JVMTI_ERROR_ILLEGAL_ARGUMENT</code>: The <code>flags</code> parameter is not valid.<br />
<code>JVMTI_ERROR_INTERNAL</code>: This error is returned when the <code>jvmtiIterateSharedCachesCallback</code> returns <code>JNI_ERR</code>.</p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.IterateSharedCaches</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_ITERATE_SHARED_CACHES</code></p>
<h4 id="jvmtiiteratesharedcachescallback-function"><code>jvmtiIterateSharedCachesCallback</code> function</h4>
<dl>
<dd>
<p><strong>Callback function parameters</strong></p>
<ul>
<li><code>env</code>: A pointer to the JVMTI environment when calling <code>COM_IBM_ITERATE_SHARED_CACHES</code>.</li>
<li><code>cache_info</code>: A <code>jvmtiSharedCacheInfo</code> structure containing information about a shared cache.</li>
<li><code>user_data</code>: User-supplied data, passed as an argument to <code>IterateSharedCaches</code>.</li>
</ul>
<p><strong>Callback function returns</strong></p>
<p><code>JNI_OK</code>: Continue iterating.<br />
<code>JNI_ERR</code>: Stop iterating, which causes <code>IterateSharedCaches</code> to return <code>JVMTI_ERROR_INTERNAL</code></p>
</dd>
</dl>
<h4 id="jvmtisharedcacheinfo-structure"><code>jvmtiSharedCacheInfo</code> structure</h4>
<dl>
<dd>
<p>The structure of <code>jvmtiSharedCacheInfo</code></p>
<pre><code>typedef struct jvmtiSharedCacheInfo {
const char *name;      // the name of the shared cache
jboolean isCompatible; // if the shared cache is compatible with this VM
jboolean isPersistent; // true if the shared cache is persistent, false if its non-persistent
jint os_shmid;         // the OS shared memory ID associated with a non-persistent cache, -1 otherwise
jint os_semid;         // the OS shared semaphore ID associated with a non-persistent cache, -1 otherwise
jint modLevel;         // one of:
                       //   COM_IBM_SHARED_CACHE_MODLEVEL_JAVA5
                       //   COM_IBM_SHARED_CACHE_MODLEVEL_JAVA6
                       //   COM_IBM_SHARED_CACHE_MODLEVEL_JAVA7
                       //   COM_IBM_SHARED_CACHE_MODLEVEL_JAVA8
                       //   COM_IBM_SHARED_CACHE_MODLEVEL_JAVA9
                       //   from Java 10: the version number of the Java level on which the shared cache is created
jint addrMode;         // the address mode of the VM creating the shared cache: includes additional
                       // information on whether it is a 64-bit compressedRefs cache when
                       // COM_IBM_ITERATE_SHARED_CACHES_VERSION_3 or later is specified.
jboolean isCorrupt;    // if the cache is corrupted
jlong cacheSize;       // the total usable shared class cache size, or -1 when isCompatible is false
jlong freeBytes;       // the number of free bytes in the shared class cache, or -1 when isCompatible is false
jlong lastDetach;      // the last detach time specified in milliseconds since 00:00:00 on 1 January 1970 UTC,
                       // or -1 when the last detach time is not available
jint cacheType;        // the type of the cache
jlong softMaxBytes;    // the soft limit for the available space in the cache
jint layer;            // the shared cache layer number
} jvmtiSharedCacheInfo;
</code></pre>
<p><i class="fa fa-pencil-square-o" aria-hidden="true"></i> <strong>Notes:</strong></p>
<ul>
<li>
<p>The field <code>cacheType</code> is included when <code>COM_IBM_ITERATE_SHARED_CACHES_VERSION_2</code> or later is specified.</p>
</li>
<li>
<p><code>jvmtiSharedCacheInfo.addrMode</code> encodes both address mode and the compressed reference mode when <code>COM_IBM_ITERATE_SHARED_CACHES_VERSION_3</code> or later is specified. In this case, use the following set of macros to access the address mode and compressed reference mode:</p>
</li>
</ul>
<dl>
<dd>
<p>To get the address mode, use:</p>
<pre><code>COM_IBM_ITERATE_SHARED_CACHES_GET_ADDR_MODE(jvmtiSharedCacheInfo.addrMode)
</code></pre>
<p>This macro returns one of the following values:<br />
<code>COM_IBM_SHARED_CACHE_ADDRMODE_32</code><br />
<code>COM_IBM_SHARED_CACHE_ADDRMODE_64</code>  </p>
</dd>
<dd>
<p>To get the compressed references mode, use:</p>
<pre><code>COM_IBM_ITERATE_SHARED_CACHES_GET_CMPRSSREF_MODE(jvmtiSharedCacheInfo.addrMode)
</code></pre>
<p>This macro returns one of the following values:<br />
<code>COM_IBM_ITERATE_SHARED_CACHES_UNKNOWN_COMPRESSED_POINTERS_MODE</code><br />
<code>COM_IBM_ITERATE_SHARED_CACHES_COMPRESSED_POINTERS_MODE</code><br />
<code>COM_IBM_ITERATE_SHARED_CACHES_NON_COMPRESSED_POINTERS_MODE</code>  </p>
</dd>
</dl>
<ul>
<li>
<p>The field <code>softMaxBytes</code> is included when <code>COM_IBM_ITERATE_SHARED_CACHES_VERSION_4</code> or later is specified.</p>
</li>
<li>
<p>The field <code>layer</code> is included when <code>COM_IBM_ITERATE_SHARED_CACHES_VERSION_5</code> or later is specified. If the shared cache does not have a layer number, the value for <code>layer</code> is <code>-1</code>.</p>
</li>
</ul>
</dd>
</dl>
<hr />
<!-- ==================================================================================================== -->

<h3 id="destroysharedcache"><code>DestroySharedCache</code></h3>
<p>You can remove a shared class cache by using the <code>DestroySharedCache()</code> API:</p>
<pre><code>jvmtiError DestroySharedCache(jvmtiEnv *env, const char *cacheDir, const char *name, jint persistence, jboolean useCommandLineValues, jint *internalErrorCode);
</code></pre>
<p>This extension removes a named shared class cache of a given persistence type, in a given directory. You can specify the cache name, persistence type, and directory in one of these ways:</p>
<ul>
<li>
<p>Set <code>useCommandLineValues</code> to <code>true</code> and specify the values on the command line. If a value is not available, the default values for the platform are used.</p>
</li>
<li>
<p>Set <code>useCommandLineValues</code> to <code>false</code> and use the <code>cacheDir</code>, <code>persistence</code> and <code>cacheName</code> parameters to identify the cache to be removed. To accept the default value for <code>cacheDir</code> or <code>cacheName</code>, specify the parameter with a <code>null</code> value.</p>
</li>
</ul>
<p><strong>Parameters</strong></p>
<ul>
<li><code>env</code>: A pointer to the JVMTI environment.</li>
<li><code>cacheDir</code>: When the value of <code>useCommandLineValues</code> is <code>false</code>, specify the absolute path of the directory for the shared class cache. If the value is <code>null</code>, the platform-dependent default is used.</li>
<li><code>cacheName</code>: When the value of <code>useCommandLineValues</code> is <code>false</code>, specify the name of the cache to be removed. If the value is <code>null</code>, the platform-dependent default is used.</li>
<li><code>persistence</code>: When the value of <code>useCommandLineValues</code> is false, specify the type of cache to remove. This parameter must have one of the following values:<br />
<code>PERSISTENCE_DEFAULT</code> (The default value for the platform).<br />
<code>PERSISTENT</code><br />
<code>NONPERSISTENT</code>  </li>
<li><code>useCommandLineValues</code>: Set this value to <code>true</code> when you want to specify the shared class cache name, persistence type, and directory on the command line. Set this value to <code>false</code> when you want to use the <code>cacheDir</code>, <code>persistence</code>, and <code>cacheName</code> parameters instead.</li>
<li><code>internalErrorCode</code>: If not <code>null</code>, this value is set to one of the following constants when <code>JVMTI_ERROR_INTERNAL</code> is returned:  <ul>
<li><code>COM_IBM_DESTROYED_ALL_CACHE</code>: Set when <code>JVMTI_ERROR_NONE is</code> returned.</li>
<li><code>COM_IBM_DESTROYED_NONE</code>: Set when the function fails to remove any caches.  </li>
<li><code>COM_IBM_DESTROY_FAILED_CURRENT_GEN_CACHE</code>: Set when the function fails to remove the existing current generation cache, irrespective of the state of older generation caches.  </li>
<li><code>COM_IBM_DESTROY_FAILED_OLDER_GEN_CACHE</code>: Set when the function fails to remove any older generation caches. The current generation cache does not exist or is successfully removed.</li>
</ul>
</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success. No cache exists or all existing caches of all generations are removed.<br />
<code>JVMTI_ERROR_OUT_OF_MEMORY</code>: There is insufficient system memory to process the request.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>env</code> parameter is not valid.<br />
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI live phase.<br />
<code>JVMTI_ERROR_NOT_AVAILABLE</code>: The shared classes feature is not enabled in the VM.<br />
<code>JVMTI_ERROR_ILLEGAL_ARGUMENT</code>: The <code>persistence</code> parameter is not valid.
<code>JVMTI_ERROR_INTERNAL</code>: Failed to remove any existing cache with the given name. See the value of the <code>internalErrorCode</code> parameter for more information about the failure.</p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.DestroySharedCache</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_DESTROY_SHARED_CACHE</code></p>
<hr />
<!-- ==================================================================================================== -->

<h3 id="registerverbosegcsubscriber"><code>RegisterVerboseGCSubscriber</code></h3>
<p>You can subscribe to verbose garbage collection (GC) data logging by using the <code>RegisterVerboseGCSubscriber()</code> API:</p>
<pre><code>jvmtiError RegisterVerboseGCSubscriber(jvmtiEnv* jvmti_env, char *description, jvmtiVerboseGCSubscriber subscriber, jvmtiVerboseGCAlarm alarm, void *user_data, void **subscription_id)
</code></pre>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.</li>
<li><code>description</code>: An ASCII character string that describes the subscriber.</li>
<li><code>subscriber</code>: A function of type <a href="#jvmtiverbosegcsubscriberfunction"><code>jvmtiVerboseGCSubscriber</code></a>.</li>
<li><code>alarm</code>: A function pointer of type <a href="#jvmtiverbosegcalarmfunction"><code>jvmtiVerboseGCAlarm</code></a>.</li>
<li><code>user_data</code>: A pointer to user data. This pointer is passed to the subscriber and alarm functions each time these functions are called. This pointer can be a null value.</li>
<li><code>subscription_id</code>: A pointer to a subscription identifier. This pointer is returned by the <code>RegisterVerboseGCSubscriber</code> call if successful. The value must be supplied to a future call to <code>DeregisterVerboseGCSubscriber</code> API, which is used to unsubscribe from verbose GC data logging.</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success.<br />
<code>JVMTI_ERROR_NULL_POINTER</code>: One of the supplied parameters is null.<br />
<code>JVMTI_ERROR_OUT_OF_MEMORY</code>: There is insufficient system memory to process the request.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>jvmti_env</code> parameter is not valid.<br />
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI live phase.<br />
<code>JVMTI_ERROR_NOT_AVAILABLE</code>: GC verbose logging is not available.<br />
<code>JVMTI_ERROR_INTERNAL</code>: An internal error has occurred.</p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.RegisterVerboseGCSubscriber</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_REGISTER_VERBOSEGC_SUBSCRIBER</code></p>
<h4 id="jvmtiverbosegcsubscriber-function"><code>jvmtiVerboseGCSubscriber</code> function</h4>
<dl>
<dd>
<p>The subscriber function type is defined as follows:</p>
<pre><code>typedef jvmtiError (*jvmtiVerboseGCSubscriber)(jvmtiEnv *jvmti_env, const char *record, jlong length, void *user_data);
</code></pre>
<p>The subscriber function must be of type <code>jvmtiVerboseGCSubscriber</code>, which is declared in <code>ibmjvmti.h</code>.</p>
<p>This function is called with each record of verbose logging data produced by the VM.</p>
<p>The verbose logging record supplied to the subscriber function is valid only for the duration of the function. If the subscriber wants to save the data, the data must be copied elsewhere.</p>
<p>If the subscriber function returns an error, the alarm function is called, and the subscription is deregistered.</p>
<p><strong>Subscriber function parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.</li>
<li><code>record</code>: An ASCII string that contains a verbose log record.</li>
<li><code>length</code>: The number of ASCII characters in the verbose log record.</li>
<li><code>user_data</code>: User data supplied when the subscriber is registered.</li>
</ul>
</dd>
</dl>
<h4 id="jvmtiverbosegcalarm-function"><code>jvmtiVerboseGCAlarm</code> function</h4>
<dl>
<dd>
<p>The alarm function type is defined as follows:</p>
<pre><code>typedef jvmtiError (*jvmtiVerboseGCAlarm)(jvmtiEnv *jvmti_env, void *subscription_id, void *user_data);
</code></pre>
<p>The alarm function must be of type <code>jvmtiVerboseGCAlarm</code>, which is declared in <code>ibmjvmti.h</code>. This function is called if the subscriber function returns an error.</p>
<p><strong>Alarm function parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.</li>
<li><code>user_data</code>: User data supplied when the subscriber is registered.</li>
<li><code>subscription_id</code>: The subscription identifier.</li>
</ul>
</dd>
</dl>
<hr />
<!-- ==================================================================================================== -->

<h3 id="deregisterverbosegcsubscriber"><code>DeregisterVerboseGCSubscriber</code></h3>
<p>You can unsubscribe from verbose Garbage Collection (GC) data logging by using the <code>DeregisterVerboseGCSubscriber()</code> API:</p>
<pre><code>jvmtiError DeregisterVerboseGCSubscriber(jvmtiEnv* jvmti_env, void *userData, void *subscription_id)
</code></pre>
<p>After the <code>DeregisterVerboseGCSubscriber()</code> API is called, no further calls are made to the previously registered subscriber function.</p>
<p><strong>Parameters</strong></p>
<ul>
<li><code>jvmti_env</code>: A pointer to the JVMTI environment.</li>
<li><code>subscription_id</code>: The subscription identifier that is returned by the call to the <a href="#registerverbosegcsubscriber">RegisterVerboseGCSubscriber()</a> API.</li>
</ul>
<p><strong>Returns</strong></p>
<p><code>JVMTI_ERROR_NONE</code>: Success.<br />
<code>JVMTI_ERROR_NULL_POINTER</code>: The <code>subscription_id</code> parameter is null.<br />
<code>JVMTI_ERROR_OUT_OF_MEMORY</code>: There is insufficient system memory to process the request.<br />
<code>JVMTI_ERROR_INVALID_ENVIRONMENT</code>: The <code>jvmti_env</code> parameter is not valid.<br />
<code>JVMTI_ERROR_WRONG_PHASE</code>: The extension has been called outside the JVMTI live phase.</p>
<p><strong>Identifiers</strong></p>
<p>JVMTI Extension Function identifier: <code>com.ibm.DeregisterVerboseGCSubscriber</code><br />
Macro declaration in the <code>ibmjvmti.h</code> file: <code>COM_IBM_DEREGISTER_VERBOSEGC_SUBSCRIBER</code></p>
<hr />
<!-- ==================================================================================================== -->

<!-- ==== END OF TOPIC ==== interface_jvmti.md ==== -->
                
                  
                
              
<!--
              
                


              
-->
              <!-- This block was originally in the theme's 'footer.html' partial file. It has been moved here in part to resolve issues with the footer being too large. -->
              
                <!--
* Copyright (c) 2017, 2018 IBM Corp. and others
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
* License, Version 2.0 which accompanies this distribution and
* is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the
* following Secondary Licenses when the conditions for such
* availability set forth in the Eclipse Public License, v. 2.0
* are satisfied: GNU General Public License, version 2 with
* the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH
* Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->
              
                <div class="md-footer-nav">
                  <nav class="md-footer-nav__inner md-grid">
<!-- Ignore all this to remove previous/next links in footer, but leave nav block else lose highlighting in LH navigation
                    <img alt="" src="../cr/rule.png"> [!-- Separator --]
                    
                      <a href="tool_migration/" title="Switching to OpenJ9" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
                        <div class="md-flex__cell md-flex__cell--shrink">
                          <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
                        </div>
                        <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
                          <span class="md-flex__ellipsis">
                            <span class="md-footer-nav__direction">
                              Previous
                            </span>
                            Switching to OpenJ9
                          </span>
                        </div>
                      </a>
                    
                    
                      <a href="interface_dtfj/" title="DTFJ" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
                        <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
                          <span class="md-flex__ellipsis">
                            <span class="md-footer-nav__direction">
                              Next
                            </span>
                            DTFJ
                          </span>
                        </div>
                        <div class="md-flex__cell md-flex__cell--shrink">
                          <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
                        </div>
                      </a>
                    
-->
                  </nav>
                </div>
              
              
            </article>
          </div>
        </div>
      </main>
      
        <!--
* Copyright (c) 2017, 2020 IBM Corp. and others
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
* License, Version 2.0 which accompanies this distribution and
* is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the
* following Secondary Licenses when the conditions for such
* availability set forth in the Eclipse Public License, v. 2.0
* are satisfied: GNU General Public License, version 2 with
* the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH
* Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->
<cite></cite>
<footer class="md-footer">

  <div class="md-footer-meta md-typeset">
    

    
      <!--
* Copyright (c) 2017, 2020 IBM Corp. and others
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
* License, Version 2.0 which accompanies this distribution and
* is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the
* following Secondary Licenses when the conditions for such
* availability set forth in the Eclipse Public License, v. 2.0
* are satisfied: GNU General Public License, version 2 with
* the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH
* Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->

  <div class="md-footer-social1">
    
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    
      <a href="https://github.com/eclipse/openj9" class="md-footer-social__link fa fa-github"></a>
    
      <a href="https://openj9.slack.com" class="md-footer-social__link fa fa-slack"></a>
    
      <a href="https://twitter.com/openj9" class="md-footer-social__link fa fa-twitter"></a>
    
      <a href="https://stackoverflow.com/search?q=OpenJ9" class="md-footer-social__link fa fa-stack-overflow"></a>
    
  </div>

    

    <div class="md-footer-eclipse1">OpenJ9 is an Eclipse Incubator project.</div>

    <div class="md-footer-links1">
      <span class="no-wrap"><i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i><a class="dark-link" href="http://www.eclipse.org">Eclipse Foundation website</a></span>
      &nbsp; <span class="no-wrap"><i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i><a class="dark-link" href="http://www.eclipse.org/legal/privacy.php">Privacy policy</a></span>
      &nbsp; <span class="no-wrap"><i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i><a class="dark-link" href="http://www.eclipse.org/legal/termsofuse.php">Website terms of use</a></span>
      &nbsp; <span class="no-wrap"><i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i><a class="dark-link" href="http://www.eclipse.org/legal/copyright.php">Copyright agent</a></span>
      &nbsp; <span class="no-wrap"><i class="fa fa-chevron-circle-right f_mini" aria-hidden="true"></i><a class="dark-link" href="http://www.eclipse.org/legal">Legal</a></span>
    </div>

    <div class="md-footer-power1">
      powered by
      <a href="http://www.mkdocs.org" title="MkDocs">MkDocs</a>
      and
      <a href="http://squidfunk.github.io/mkdocs-material/" title="Material for MkDocs">
      Material for MkDocs</a><br/><br/>
    </div>

  </div>

</footer>
      
    </div>
    
      <script src="../assets/javascripts/application.a8b5e56f.js"></script>
      
        
        
      
      <script>app.initialize({version:"1.0.4",url:{base:".."}})</script>
      
    
    
      
        
<script>
  window.ga = window.ga || function() {
    (ga.q = ga.q || []).push(arguments)
  }
  ga.l = +new Date
  /* Setup integration and send page view */
  ga("create", "UA-105616558-3", "mkdocs.org")
  ga("set", "anonymizeIp", true)
  ga("send", "pageview")
  /* Register handler to log search on blur */
  document.addEventListener("DOMContentLoaded", () => {
    if (document.forms.search) {
      var query = document.forms.search.query
      query.addEventListener("blur", function() {
        if (this.value) {
          var path = document.location.pathname;
          ga("send", "pageview", path + "?q=" + this.value)
        }
      })
    }
  })
</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
      
    
  </body>
</html>