hotspot/src/share/vm/ci/ciEnv.cpp
changeset 4761 bdb7375a1fee
parent 4571 80b553bddc26
child 4764 d15bb22d4d39
equal deleted inserted replaced
4744:40fc0ab5cd15 4761:bdb7375a1fee
     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() &&