<!--
* Copyright (c) 2017, 2019 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.451f80e5.css">
      
        <link rel="stylesheet" href="../assets/stylesheets/application-palette.22915126.css">
      
      
        
        
        <meta name="theme-color" content="#00bcd4">
      
    
    
      <script src="../assets/javascripts/modernizr.1aa3b519.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 19-18.125
        8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
        18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
        19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
        18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
        304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
        2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 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.75 8-38.375zM416 260q0 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.5-41.75
        1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
        0-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.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
        46.75-30.25t47.25-9.75q12.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, 2019 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.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">
    <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 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.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="../aot/" title="AOT Compiler" class="md-nav__link">
      AOT Compiler
    </a>
  </li>

    
      
      
      


  <li class="md-nav__item">
    <a href="../shrc/" title="Class data sharing" class="md-nav__link">
      Class data sharing
    </a>
  </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-10" type="checkbox" id="nav-10" checked>
    
    <label class="md-nav__link" for="nav-10">
      Diagnostics
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-10">
        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-10-2" type="checkbox" id="nav-10-2">
    
    <label class="md-nav__link" for="nav-10-2">
      Dumps
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-10-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-10-3" type="checkbox" id="nav-10-3">
    
    <label class="md-nav__link" for="nav-10-3">
      Tools
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-10-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_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-10-4" type="checkbox" id="nav-10-4" checked>
    
    <label class="md-nav__link" for="nav-10-4">
      Interfaces
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-10-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" title="Overview" class="md-nav__link">
    Overview
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#openj9-extensions" title="OpenJ9 extensions" class="md-nav__link">
    OpenJ9 extensions
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#sample-jvmti-agent" title="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" title="Agent_OnLoad()" class="md-nav__link">
    Agent_OnLoad()
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#dumpstartcallback" title="DumpStartCallback()" class="md-nav__link">
    DumpStartCallback()
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#using-the-sample-jvmti-agent" title="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" title="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" title="GetOSThreadID" class="md-nav__link">
    GetOSThreadID
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#queryvmdump" title="QueryVmDump" class="md-nav__link">
    QueryVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#setvmdump" title="SetVmDump" class="md-nav__link">
    SetVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#triggervmdump" title="TriggerVmDump" class="md-nav__link">
    TriggerVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#resetvmdump" title="ResetVmDump" class="md-nav__link">
    ResetVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#vmdumpstart" title="VMDumpStart" class="md-nav__link">
    VMDumpStart
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#vmdumpend" title="VMDumpEnd" class="md-nav__link">
    VMDumpEnd
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#setvmtrace" title="SetVmTrace" class="md-nav__link">
    SetVmTrace
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#registertracepointsubscriber" title="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" title="jvmtiTraceSubscriber function" class="md-nav__link">
    jvmtiTraceSubscriber function
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#jvmtitracealarm-function" title="jvmtiTraceAlarm function" class="md-nav__link">
    jvmtiTraceAlarm function
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#deregistertracepointsubscriber" title="DeregisterTracePointSubscriber" class="md-nav__link">
    DeregisterTracePointSubscriber
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#getmemorycategories" title="GetMemoryCategories" class="md-nav__link">
    GetMemoryCategories
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#queryvmlogoptions" title="QueryVmLogOptions" class="md-nav__link">
    QueryVmLogOptions
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#setvmlogoptions" title="SetVmLogOptions" class="md-nav__link">
    SetVmLogOptions
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#iteratesharedcaches" title="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" title="jvmtiIterateSharedCachesCallback function" class="md-nav__link">
    jvmtiIterateSharedCachesCallback function
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#jvmtisharedcacheinfo-structure" title="jvmtiSharedCacheInfo structure" class="md-nav__link">
    jvmtiSharedCacheInfo structure
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#destroysharedcache" title="DestroySharedCache" class="md-nav__link">
    DestroySharedCache
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#registerverbosegcsubscriber" title="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" title="jvmtiVerboseGCSubscriber function" class="md-nav__link">
    jvmtiVerboseGCSubscriber function
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#jvmtiverbosegcalarm-function" title="jvmtiVerboseGCAlarm function" class="md-nav__link">
    jvmtiVerboseGCAlarm function
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#deregisterverbosegcsubscriber" title="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>

        
      </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-11" type="checkbox" id="nav-11">
    
    <label class="md-nav__link" for="nav-11">
      Command-line options
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-11">
        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-11-4" type="checkbox" id="nav-11-4">
    
    <label class="md-nav__link" for="nav-11-4">
      System property options
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-11-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="../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="../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-11-5" type="checkbox" id="nav-11-5">
    
    <label class="md-nav__link" for="nav-11-5">
      JVM -X options
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-11-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-11-6" type="checkbox" id="nav-11-6">
    
    <label class="md-nav__link" for="nav-11-6">
      JVM -XX options
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
      <label class="md-nav__title" for="nav-11-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="../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="../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="../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="../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-12" type="checkbox" id="nav-12">
    
    <label class="md-nav__link" for="nav-12">
       Reference
    </label>
    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
      <label class="md-nav__title" for="nav-12">
         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" title="Overview" class="md-nav__link">
    Overview
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#openj9-extensions" title="OpenJ9 extensions" class="md-nav__link">
    OpenJ9 extensions
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#sample-jvmti-agent" title="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" title="Agent_OnLoad()" class="md-nav__link">
    Agent_OnLoad()
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#dumpstartcallback" title="DumpStartCallback()" class="md-nav__link">
    DumpStartCallback()
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#using-the-sample-jvmti-agent" title="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" title="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" title="GetOSThreadID" class="md-nav__link">
    GetOSThreadID
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#queryvmdump" title="QueryVmDump" class="md-nav__link">
    QueryVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#setvmdump" title="SetVmDump" class="md-nav__link">
    SetVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#triggervmdump" title="TriggerVmDump" class="md-nav__link">
    TriggerVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#resetvmdump" title="ResetVmDump" class="md-nav__link">
    ResetVmDump
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#vmdumpstart" title="VMDumpStart" class="md-nav__link">
    VMDumpStart
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#vmdumpend" title="VMDumpEnd" class="md-nav__link">
    VMDumpEnd
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#setvmtrace" title="SetVmTrace" class="md-nav__link">
    SetVmTrace
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#registertracepointsubscriber" title="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" title="jvmtiTraceSubscriber function" class="md-nav__link">
    jvmtiTraceSubscriber function
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#jvmtitracealarm-function" title="jvmtiTraceAlarm function" class="md-nav__link">
    jvmtiTraceAlarm function
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#deregistertracepointsubscriber" title="DeregisterTracePointSubscriber" class="md-nav__link">
    DeregisterTracePointSubscriber
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#getmemorycategories" title="GetMemoryCategories" class="md-nav__link">
    GetMemoryCategories
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#queryvmlogoptions" title="QueryVmLogOptions" class="md-nav__link">
    QueryVmLogOptions
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#setvmlogoptions" title="SetVmLogOptions" class="md-nav__link">
    SetVmLogOptions
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#iteratesharedcaches" title="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" title="jvmtiIterateSharedCachesCallback function" class="md-nav__link">
    jvmtiIterateSharedCachesCallback function
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#jvmtisharedcacheinfo-structure" title="jvmtiSharedCacheInfo structure" class="md-nav__link">
    jvmtiSharedCacheInfo structure
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#destroysharedcache" title="DestroySharedCache" class="md-nav__link">
    DestroySharedCache
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#registerverbosegcsubscriber" title="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" title="jvmtiVerboseGCSubscriber function" class="md-nav__link">
    jvmtiVerboseGCSubscriber function
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#jvmtiverbosegcalarm-function" title="jvmtiVerboseGCAlarm function" class="md-nav__link">
    jvmtiVerboseGCAlarm function
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#deregisterverbosegcsubscriber" title="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, 2019 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>
<p><details>
  <summary>Sample JVMTI agent written in C/C++, which uses the OpenJ9 extensions</summary></p>
<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>

<p></details></p>
<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>
</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
} 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>The field <code>softMaxBytes</code> is included when <code>COM_IBM_ITERATE_SHARED_CACHES_VERSION_4</code> or later is specified.</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, 2019 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, 2019 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.583bbe55.js"></script>
      
        
        
      
      <script>app.initialize({version:"1.0.4",url:{base:".."}})</script>
      
    
    
      
    
  </body>
</html>