JDK-5004026 : BCI and unmodifiable classes in the SDK: update JVMTI agents to new API features
  • Type: Bug
  • Component: core-svc
  • Sub-Component: tools
  • Affected Version: 5.0
  • Priority: P4
  • Status: Closed
  • Resolution: Not an Issue
  • OS: generic
  • CPU: generic
  • Submitted: 2004-02-26
  • Updated: 2006-06-23
  • Resolved: 2006-06-23
Related Reports
Relates :  
Relates :  
Description
Per 4988776 "JVMTI Spec: BCI and class sharing", features are added to the JVMTI spec for selection of unmodifiable classes (the capabilities can_redefine_any_class and can_generate_all_class_hook_events) and an error on attempting to redefine an unmodifiable class (JVMTI_ERROR_UNMODIFIABLE_CLASS).

Most of the features will not be turned on until 5002268 "Allow class sharing use with RedefineClasses" is done in HotSpot.   At or before that time, the SDK JVMTI agents need to be updated to use these features.

5002026 "java.lang.instrument: BCI and unmodifable classes" adds API features to java.lang.instrument which correspond to the new error (UnmodifiableClassError).  Yet won't fully use or activate these features since the underlying mechanism isn't there (see bug in paragraph above).

This bug is to add those features.  Specifically, any of the following which were not done in 5002026:

	Cause the JVMTI_ERROR_UNMODIFIABLE_CLASS to throw UnmodifiableClassError.

	Set the new capabilities at agent initialization:

		Neither for instrument agent

		can_redefine_any_class for the JPDA back-end

		Probably can_generate_all_class_hook_events for hprof

###@###.### 2004-02-26

Comments
EVALUATION All the aspects of this bug have now been addressed (in other bugs) -- Cause the JVMTI_ERROR_UNMODIFIABLE_CLASS to throw UnmodifiableClassError. Implemented. Set the new capabilities at agent initialization: Neither for instrument agent can_redefine_any_class for the JPDA back-end Done Probably can_generate_all_class_hook_events for hprof Done Now closing this as "not a defect" since it no longer is.
23-06-2006

EVALUATION Customers requestthis functionality and to full test the API it needs to be completed. ###@###.### 2004-02-26
26-02-2004