test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetLocalVariableTable/localtab003/localtab003.cpp
changeset 51672 b613bf6a10b1
parent 51551 e409244ce72e
child 52949 c78a17d24618
equal deleted inserted replaced
51671:9f6903174bad 51672:b613bf6a10b1
    25 #include <string.h>
    25 #include <string.h>
    26 #include "jvmti.h"
    26 #include "jvmti.h"
    27 #include "agent_common.h"
    27 #include "agent_common.h"
    28 #include "JVMTITools.h"
    28 #include "JVMTITools.h"
    29 
    29 
    30 #ifdef __cplusplus
       
    31 extern "C" {
    30 extern "C" {
    32 #endif
       
    33 
    31 
    34 #ifndef JNI_ENV_ARG
       
    35 
       
    36 #ifdef __cplusplus
       
    37 #define JNI_ENV_ARG(x, y) y
       
    38 #define JNI_ENV_PTR(x) x
       
    39 #else
       
    40 #define JNI_ENV_ARG(x,y) x, y
       
    41 #define JNI_ENV_PTR(x) (*x)
       
    42 #endif
       
    43 
       
    44 #endif
       
    45 
    32 
    46 #define PASSED 0
    33 #define PASSED 0
    47 #define STATUS_FAILED 2
    34 #define STATUS_FAILED 2
    48 
    35 
    49 static jvmtiEnv *jvmti = NULL;
    36 static jvmtiEnv *jvmti = NULL;
    68 
    55 
    69     if (options != NULL && strcmp(options, "printdump") == 0) {
    56     if (options != NULL && strcmp(options, "printdump") == 0) {
    70         printdump = JNI_TRUE;
    57         printdump = JNI_TRUE;
    71     }
    58     }
    72 
    59 
    73     res = JNI_ENV_PTR(jvm)->GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti),
    60     res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1);
    74         JVMTI_VERSION_1_1);
       
    75     if (res != JNI_OK || jvmti == NULL) {
    61     if (res != JNI_OK || jvmti == NULL) {
    76         printf("Wrong result of a valid call to GetEnv!\n");
    62         printf("Wrong result of a valid call to GetEnv!\n");
    77         return JNI_ERR;
    63         return JNI_ERR;
    78     }
    64     }
    79 
    65 
   118         return STATUS_FAILED;
   104         return STATUS_FAILED;
   119     }
   105     }
   120 
   106 
   121     if (!caps.can_access_local_variables) return result;
   107     if (!caps.can_access_local_variables) return result;
   122 
   108 
   123     mid = JNI_ENV_PTR(env)->GetMethodID(JNI_ENV_ARG(env, cls), "meth", "()I");
   109     mid = env->GetMethodID(cls, "meth", "()I");
   124     if (mid == NULL) {
   110     if (mid == NULL) {
   125         printf("Cannot get method ID!\n");
   111         printf("Cannot get method ID!\n");
   126         return STATUS_FAILED;
   112         return STATUS_FAILED;
   127     }
   113     }
   128 
   114 
   152     }
   138     }
   153 
   139 
   154     return result;
   140     return result;
   155 }
   141 }
   156 
   142 
   157 #ifdef __cplusplus
       
   158 }
   143 }
   159 #endif