src/share/vm/prims/jvmtiEnv.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 7086585 Sdiff src/share/vm/prims

src/share/vm/prims/jvmtiEnv.cpp

Print this page




2027   if (jvmti_breakpoints.clear(bp) == JVMTI_ERROR_NOT_FOUND)
2028     return JVMTI_ERROR_NOT_FOUND;
2029 
2030   if (TraceJVMTICalls) {
2031     jvmti_breakpoints.print();
2032   }
2033 
2034   return JVMTI_ERROR_NONE;
2035 } /* end ClearBreakpoint */
2036 
2037 
2038   //
2039   // Watched Field functions
2040   //
2041 
2042 jvmtiError
2043 JvmtiEnv::SetFieldAccessWatch(fieldDescriptor* fdesc_ptr) {
2044   // make sure we haven't set this watch before
2045   if (fdesc_ptr->is_field_access_watched()) return JVMTI_ERROR_DUPLICATE;
2046   fdesc_ptr->set_is_field_access_watched(true);
2047   update_klass_field_access_flag(fdesc_ptr);
2048 
2049   JvmtiEventController::change_field_watch(JVMTI_EVENT_FIELD_ACCESS, true);
2050 
2051   return JVMTI_ERROR_NONE;
2052 } /* end SetFieldAccessWatch */
2053 
2054 
2055 jvmtiError
2056 JvmtiEnv::ClearFieldAccessWatch(fieldDescriptor* fdesc_ptr) {
2057   // make sure we have a watch to clear
2058   if (!fdesc_ptr->is_field_access_watched()) return JVMTI_ERROR_NOT_FOUND;
2059   fdesc_ptr->set_is_field_access_watched(false);
2060   update_klass_field_access_flag(fdesc_ptr);
2061 
2062   JvmtiEventController::change_field_watch(JVMTI_EVENT_FIELD_ACCESS, false);
2063 
2064   return JVMTI_ERROR_NONE;
2065 } /* end ClearFieldAccessWatch */
2066 
2067 
2068 jvmtiError
2069 JvmtiEnv::SetFieldModificationWatch(fieldDescriptor* fdesc_ptr) {
2070   // make sure we haven't set this watch before
2071   if (fdesc_ptr->is_field_modification_watched()) return JVMTI_ERROR_DUPLICATE;
2072   fdesc_ptr->set_is_field_modification_watched(true);
2073   update_klass_field_access_flag(fdesc_ptr);
2074 
2075   JvmtiEventController::change_field_watch(JVMTI_EVENT_FIELD_MODIFICATION, true);
2076 
2077   return JVMTI_ERROR_NONE;
2078 } /* end SetFieldModificationWatch */
2079 
2080 
2081 jvmtiError
2082 JvmtiEnv::ClearFieldModificationWatch(fieldDescriptor* fdesc_ptr) {
2083    // make sure we have a watch to clear
2084   if (!fdesc_ptr->is_field_modification_watched()) return JVMTI_ERROR_NOT_FOUND;
2085   fdesc_ptr->set_is_field_modification_watched(false);
2086   update_klass_field_access_flag(fdesc_ptr);
2087 
2088   JvmtiEventController::change_field_watch(JVMTI_EVENT_FIELD_MODIFICATION, false);
2089 
2090   return JVMTI_ERROR_NONE;
2091 } /* end ClearFieldModificationWatch */
2092 
2093   //
2094   // Class functions
2095   //
2096 
2097 
2098 // k_mirror - may be primitive, this must be checked
2099 // signature_ptr - NULL is a valid value, must be checked
2100 // generic_ptr - NULL is a valid value, must be checked
2101 jvmtiError
2102 JvmtiEnv::GetClassSignature(oop k_mirror, char** signature_ptr, char** generic_ptr) {
2103   ResourceMark rm;
2104   bool isPrimitive = java_lang_Class::is_primitive(k_mirror);
2105   klassOop k = NULL;
2106   if (!isPrimitive) {




2027   if (jvmti_breakpoints.clear(bp) == JVMTI_ERROR_NOT_FOUND)
2028     return JVMTI_ERROR_NOT_FOUND;
2029 
2030   if (TraceJVMTICalls) {
2031     jvmti_breakpoints.print();
2032   }
2033 
2034   return JVMTI_ERROR_NONE;
2035 } /* end ClearBreakpoint */
2036 
2037 
2038   //
2039   // Watched Field functions
2040   //
2041 
2042 jvmtiError
2043 JvmtiEnv::SetFieldAccessWatch(fieldDescriptor* fdesc_ptr) {
2044   // make sure we haven't set this watch before
2045   if (fdesc_ptr->is_field_access_watched()) return JVMTI_ERROR_DUPLICATE;
2046   fdesc_ptr->set_is_field_access_watched(true);

2047 
2048   JvmtiEventController::change_field_watch(JVMTI_EVENT_FIELD_ACCESS, true);
2049 
2050   return JVMTI_ERROR_NONE;
2051 } /* end SetFieldAccessWatch */
2052 
2053 
2054 jvmtiError
2055 JvmtiEnv::ClearFieldAccessWatch(fieldDescriptor* fdesc_ptr) {
2056   // make sure we have a watch to clear
2057   if (!fdesc_ptr->is_field_access_watched()) return JVMTI_ERROR_NOT_FOUND;
2058   fdesc_ptr->set_is_field_access_watched(false);

2059 
2060   JvmtiEventController::change_field_watch(JVMTI_EVENT_FIELD_ACCESS, false);
2061 
2062   return JVMTI_ERROR_NONE;
2063 } /* end ClearFieldAccessWatch */
2064 
2065 
2066 jvmtiError
2067 JvmtiEnv::SetFieldModificationWatch(fieldDescriptor* fdesc_ptr) {
2068   // make sure we haven't set this watch before
2069   if (fdesc_ptr->is_field_modification_watched()) return JVMTI_ERROR_DUPLICATE;
2070   fdesc_ptr->set_is_field_modification_watched(true);

2071 
2072   JvmtiEventController::change_field_watch(JVMTI_EVENT_FIELD_MODIFICATION, true);
2073 
2074   return JVMTI_ERROR_NONE;
2075 } /* end SetFieldModificationWatch */
2076 
2077 
2078 jvmtiError
2079 JvmtiEnv::ClearFieldModificationWatch(fieldDescriptor* fdesc_ptr) {
2080    // make sure we have a watch to clear
2081   if (!fdesc_ptr->is_field_modification_watched()) return JVMTI_ERROR_NOT_FOUND;
2082   fdesc_ptr->set_is_field_modification_watched(false);

2083 
2084   JvmtiEventController::change_field_watch(JVMTI_EVENT_FIELD_MODIFICATION, false);
2085 
2086   return JVMTI_ERROR_NONE;
2087 } /* end ClearFieldModificationWatch */
2088 
2089   //
2090   // Class functions
2091   //
2092 
2093 
2094 // k_mirror - may be primitive, this must be checked
2095 // signature_ptr - NULL is a valid value, must be checked
2096 // generic_ptr - NULL is a valid value, must be checked
2097 jvmtiError
2098 JvmtiEnv::GetClassSignature(oop k_mirror, char** signature_ptr, char** generic_ptr) {
2099   ResourceMark rm;
2100   bool isPrimitive = java_lang_Class::is_primitive(k_mirror);
2101   klassOop k = NULL;
2102   if (!isPrimitive) {


src/share/vm/prims/jvmtiEnv.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File