equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright 1999-2009 Sun Microsystems, Inc. All Rights Reserved. |
2 * Copyright 1999-2010 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. |
176 // Get Jvmti capabilities under lock to get consistant values. |
176 // Get Jvmti capabilities under lock to get consistant values. |
177 MutexLocker mu(JvmtiThreadState_lock); |
177 MutexLocker mu(JvmtiThreadState_lock); |
178 _jvmti_can_hotswap_or_post_breakpoint = JvmtiExport::can_hotswap_or_post_breakpoint(); |
178 _jvmti_can_hotswap_or_post_breakpoint = JvmtiExport::can_hotswap_or_post_breakpoint(); |
179 _jvmti_can_examine_or_deopt_anywhere = JvmtiExport::can_examine_or_deopt_anywhere(); |
179 _jvmti_can_examine_or_deopt_anywhere = JvmtiExport::can_examine_or_deopt_anywhere(); |
180 _jvmti_can_access_local_variables = JvmtiExport::can_access_local_variables(); |
180 _jvmti_can_access_local_variables = JvmtiExport::can_access_local_variables(); |
181 _jvmti_can_post_exceptions = JvmtiExport::can_post_exceptions(); |
181 _jvmti_can_post_on_exceptions = JvmtiExport::can_post_on_exceptions(); |
182 } |
182 } |
183 |
183 |
184 // ------------------------------------------------------------------ |
184 // ------------------------------------------------------------------ |
185 // Cache DTrace flags |
185 // Cache DTrace flags |
186 void ciEnv::cache_dtrace_flags() { |
186 void ciEnv::cache_dtrace_flags() { |
889 JvmtiExport::can_hotswap_or_post_breakpoint()) || |
889 JvmtiExport::can_hotswap_or_post_breakpoint()) || |
890 (!jvmti_can_examine_or_deopt_anywhere() && |
890 (!jvmti_can_examine_or_deopt_anywhere() && |
891 JvmtiExport::can_examine_or_deopt_anywhere()) || |
891 JvmtiExport::can_examine_or_deopt_anywhere()) || |
892 (!jvmti_can_access_local_variables() && |
892 (!jvmti_can_access_local_variables() && |
893 JvmtiExport::can_access_local_variables()) || |
893 JvmtiExport::can_access_local_variables()) || |
894 (!jvmti_can_post_exceptions() && |
894 (!jvmti_can_post_on_exceptions() && |
895 JvmtiExport::can_post_exceptions()) )) { |
895 JvmtiExport::can_post_on_exceptions()) )) { |
896 record_failure("Jvmti state change invalidated dependencies"); |
896 record_failure("Jvmti state change invalidated dependencies"); |
897 } |
897 } |
898 |
898 |
899 // Change in DTrace flags may invalidate compilation. |
899 // Change in DTrace flags may invalidate compilation. |
900 if (!failing() && |
900 if (!failing() && |