Mercurial > hg > truffle
comparison src/share/vm/prims/jvmtiEnvBase.hpp @ 1121:98cd9901c161
6849968: 3/2 JVMTI tests fails on jdk5.0 with hs14
Summary: If a JVMTI agent asks for version 1.0, then it should get version 1.0 semantics.
Reviewed-by: dholmes, ohair
author | dcubed |
---|---|
date | Mon, 14 Dec 2009 10:05:36 -0700 |
parents | a61af66fc99e |
children | dcb15a6f342d |
comparison
equal
deleted
inserted
replaced
1120:9127aa69352e | 1121:98cd9901c161 |
---|---|
1 /* | 1 /* |
2 * Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved. | 2 * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
74 BAD_MAGIC = 0xDEAD | 74 BAD_MAGIC = 0xDEAD |
75 }; | 75 }; |
76 | 76 |
77 jvmtiEnv _jvmti_external; | 77 jvmtiEnv _jvmti_external; |
78 jint _magic; | 78 jint _magic; |
79 jint _version; // version value passed to JNI GetEnv() | |
79 JvmtiEnvBase* _next; | 80 JvmtiEnvBase* _next; |
80 bool _is_retransformable; | 81 bool _is_retransformable; |
81 const void *_env_local_storage; // per env agent allocated data. | 82 const void *_env_local_storage; // per env agent allocated data. |
82 jvmtiEventCallbacks _event_callbacks; | 83 jvmtiEventCallbacks _event_callbacks; |
83 jvmtiExtEventCallbacks _ext_event_callbacks; | 84 jvmtiExtEventCallbacks _ext_event_callbacks; |
89 static volatile bool _needs_clean_up; | 90 static volatile bool _needs_clean_up; |
90 char** _native_method_prefixes; | 91 char** _native_method_prefixes; |
91 int _native_method_prefix_count; | 92 int _native_method_prefix_count; |
92 | 93 |
93 protected: | 94 protected: |
94 JvmtiEnvBase(); | 95 JvmtiEnvBase(jint version); |
95 ~JvmtiEnvBase(); | 96 ~JvmtiEnvBase(); |
96 void dispose(); | 97 void dispose(); |
97 void env_dispose(); | 98 void env_dispose(); |
98 | 99 |
99 void set_env_local_storage(const void* data) { _env_local_storage = data; } | 100 void set_env_local_storage(const void* data) { _env_local_storage = data; } |
119 static JvmtiEnv* head_environment() { return (JvmtiEnv*)_head_environment; } | 120 static JvmtiEnv* head_environment() { return (JvmtiEnv*)_head_environment; } |
120 | 121 |
121 public: | 122 public: |
122 | 123 |
123 bool is_valid() { return _magic == JVMTI_MAGIC; } | 124 bool is_valid() { return _magic == JVMTI_MAGIC; } |
125 | |
126 bool use_version_1_0_semantics(); // agent asked for version 1.0 | |
127 bool use_version_1_1_semantics(); // agent asked for version 1.1 | |
124 | 128 |
125 bool is_retransformable() { return _is_retransformable; } | 129 bool is_retransformable() { return _is_retransformable; } |
126 | 130 |
127 static ByteSize jvmti_external_offset() { | 131 static ByteSize jvmti_external_offset() { |
128 return byte_offset_of(JvmtiEnvBase, _jvmti_external); | 132 return byte_offset_of(JvmtiEnvBase, _jvmti_external); |