13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_PRIMS_JVMTIREDEFINECLASSES_HPP
26 #define SHARE_VM_PRIMS_JVMTIREDEFINECLASSES_HPP
27
28 #include "jvmtifiles/jvmtiEnv.hpp"
29 #include "memory/oopFactory.hpp"
30 #include "memory/resourceArea.hpp"
31 #include "oops/objArrayKlass.hpp"
32 #include "oops/objArrayOop.hpp"
33 #include "runtime/vm_operations.hpp"
34
35 // Introduction:
36 //
37 // The RedefineClasses() API is used to change the definition of one or
38 // more classes. While the API supports redefining more than one class
39 // in a single call, in general, the API is discussed in the context of
40 // changing the definition of a single current class to a single new
41 // class. For clarity, the current class is will always be called
42 // "the_class" and the new class will always be called "scratch_class".
43 //
44 // The name "the_class" is used because there is only one structure
45 // that represents a specific class; redefinition does not replace the
46 // structure, but instead replaces parts of the structure. The name
47 // "scratch_class" is used because the structure that represents the
48 // new definition of a specific class is simply used to carry around
49 // the parts of the new definition until they are used to replace the
50 // appropriate parts in the_class. Once redefinition of a class is
51 // complete, scratch_class is thrown away.
52 //
53 //
|
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_PRIMS_JVMTIREDEFINECLASSES_HPP
26 #define SHARE_VM_PRIMS_JVMTIREDEFINECLASSES_HPP
27
28 #include "jvmtifiles/jvmtiEnv.hpp"
29 #include "memory/oopFactory.hpp"
30 #include "memory/resourceArea.hpp"
31 #include "oops/objArrayKlass.hpp"
32 #include "oops/objArrayOop.hpp"
33 #include "runtime/vmOperations.hpp"
34
35 // Introduction:
36 //
37 // The RedefineClasses() API is used to change the definition of one or
38 // more classes. While the API supports redefining more than one class
39 // in a single call, in general, the API is discussed in the context of
40 // changing the definition of a single current class to a single new
41 // class. For clarity, the current class is will always be called
42 // "the_class" and the new class will always be called "scratch_class".
43 //
44 // The name "the_class" is used because there is only one structure
45 // that represents a specific class; redefinition does not replace the
46 // structure, but instead replaces parts of the structure. The name
47 // "scratch_class" is used because the structure that represents the
48 // new definition of a specific class is simply used to carry around
49 // the parts of the new definition until they are used to replace the
50 // appropriate parts in the_class. Once redefinition of a class is
51 // complete, scratch_class is thrown away.
52 //
53 //
|