src/share/vm/services/jmm.h

changeset 5047
31a4e55f8c9d
parent 3329
3b688d6ff3d0
child 6026
e4f478e7781b
     1.1 --- a/src/share/vm/services/jmm.h	Wed May 01 09:00:39 2013 -0700
     1.2 +++ b/src/share/vm/services/jmm.h	Fri May 03 05:05:31 2013 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -49,7 +49,8 @@
    1.11    JMM_VERSION_1_1 = 0x20010100, // JDK 6
    1.12    JMM_VERSION_1_2 = 0x20010200, // JDK 7
    1.13    JMM_VERSION_1_2_1 = 0x20010201, // JDK 7 GA
    1.14 -  JMM_VERSION     = 0x20010202
    1.15 +  JMM_VERSION_1_2_2 = 0x20010202,
    1.16 +  JMM_VERSION     = 0x20010203
    1.17  };
    1.18  
    1.19  typedef struct {
    1.20 @@ -62,7 +63,8 @@
    1.21    unsigned int isObjectMonitorUsageSupported : 1;
    1.22    unsigned int isSynchronizerUsageSupported : 1;
    1.23    unsigned int isThreadAllocatedMemorySupported : 1;
    1.24 -  unsigned int : 23;
    1.25 +  unsigned int isRemoteDiagnosticCommandsSupported : 1;
    1.26 +  unsigned int : 22;
    1.27  } jmmOptionalSupport;
    1.28  
    1.29  typedef enum {
    1.30 @@ -190,21 +192,27 @@
    1.31  } jmmGCStat;
    1.32  
    1.33  typedef struct {
    1.34 -  const char* name;
    1.35 -  const char* description;
    1.36 -  const char* impact;
    1.37 -  int         num_arguments;
    1.38 -  jboolean    enabled;
    1.39 +  const char* name;                /* Name of the diagnostic command */
    1.40 +  const char* description;         /* Short description */
    1.41 +  const char* impact;              /* Impact on the JVM */
    1.42 +  const char* permission_class;    /* Class name of the required permission if any */
    1.43 +  const char* permission_name;     /* Permission name of the required permission if any */
    1.44 +  const char* permission_action;   /* Action name of the required permission if any*/
    1.45 +  int         num_arguments;       /* Number of supported options or arguments */
    1.46 +  jboolean    enabled;             /* True if the diagnostic command can be invoked, false otherwise */
    1.47  } dcmdInfo;
    1.48  
    1.49  typedef struct {
    1.50 -  const char* name;
    1.51 -  const char* description;
    1.52 -  const char* type;
    1.53 -  const char* default_string;
    1.54 -  jboolean    mandatory;
    1.55 -  jboolean    option;
    1.56 -  int         position;
    1.57 +  const char* name;                /* Option/Argument name*/
    1.58 +  const char* description;         /* Short description */
    1.59 +  const char* type;                /* Type: STRING, BOOLEAN, etc. */
    1.60 +  const char* default_string;      /* Default value in a parsable string */
    1.61 +  jboolean    mandatory;           /* True if the option/argument is mandatory */
    1.62 +  jboolean    option;              /* True if it is an option, false if it is an argument */
    1.63 +                                   /* (see diagnosticFramework.hpp for option/argument definitions) */
    1.64 +  jboolean    multiple;            /* True if the option can be specified several time */
    1.65 +  int         position;            /* Expected position for this argument (this field is */
    1.66 +                                   /* meaningless for options) */
    1.67  } dcmdArgInfo;
    1.68  
    1.69  typedef struct jmmInterface_1_ {
    1.70 @@ -327,6 +335,9 @@
    1.71    jstring      (JNICALL *ExecuteDiagnosticCommand)
    1.72                                                   (JNIEnv *env,
    1.73                                                    jstring command);
    1.74 +  void         (JNICALL *SetDiagnosticFrameworkNotificationEnabled)
    1.75 +                                                 (JNIEnv *env,
    1.76 +                                                  jboolean enabled);
    1.77  } JmmInterface;
    1.78  
    1.79  #ifdef __cplusplus

mercurial