diff -r caf5eb7dd4a7 -r 882756847a04 hotspot/src/share/vm/runtime/frame.hpp --- a/hotspot/src/share/vm/runtime/frame.hpp Fri Aug 31 16:39:35 2012 -0700 +++ b/hotspot/src/share/vm/runtime/frame.hpp Sat Sep 01 13:25:18 2012 -0400 @@ -26,7 +26,7 @@ #define SHARE_VM_RUNTIME_FRAME_HPP #include "asm/assembler.hpp" -#include "oops/methodOop.hpp" +#include "oops/method.hpp" #include "runtime/basicLock.hpp" #include "runtime/monitorChunk.hpp" #include "runtime/registerMap.hpp" @@ -197,7 +197,7 @@ oop* obj_at_addr(int offset) const { return (oop*) addr_at(offset); } - oop* adjusted_obj_at_addr(methodOop method, int index) { return obj_at_addr(adjust_offset(method, index)); } + oop* adjusted_obj_at_addr(Method* method, int index) { return obj_at_addr(adjust_offset(method, index)); } private: jint* int_at_addr(int offset) const { return (jint*) addr_at(offset); } @@ -343,10 +343,10 @@ public: // Method & constant pool cache - methodOop interpreter_frame_method() const; - void interpreter_frame_set_method(methodOop method); - methodOop* interpreter_frame_method_addr() const; - constantPoolCacheOop* interpreter_frame_cache_addr() const; + Method* interpreter_frame_method() const; + void interpreter_frame_set_method(Method* method); + Method** interpreter_frame_method_addr() const; + ConstantPoolCache** interpreter_frame_cache_addr() const; #ifdef PPC oop* interpreter_frame_mirror_addr() const; #endif @@ -422,12 +422,15 @@ void oops_do_internal(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map, bool use_interpreter_oop_map_cache); void oops_entry_do(OopClosure* f, const RegisterMap* map); void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map); - int adjust_offset(methodOop method, int index); // helper for above fn + int adjust_offset(Method* method, int index); // helper for above fn public: // Memory management void oops_do(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map) { oops_do_internal(f, cf, map, true); } void nmethods_do(CodeBlobClosure* cf); + // RedefineClasses support for finding live interpreted methods on the stack + void metadata_do(void f(Metadata*)); + void gc_prologue(); void gc_epilogue(); void pd_gc_epilog();