src/share/vm/prims/jvmtiCodeBlobEvents.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6656830 Cdiff src/share/vm/prims/jvmtiCodeBlobEvents.cpp

src/share/vm/prims/jvmtiCodeBlobEvents.cpp

Print this page

        

*** 215,239 **** // Support class to describe a nmethod in the CodeCache class nmethodDesc: public CHeapObj { private: ! methodHandle _method; address _code_begin; address _code_end; jvmtiAddrLocationMap* _map; jint _map_length; public: ! nmethodDesc(methodHandle method, address code_begin, address code_end, jvmtiAddrLocationMap* map, jint map_length) { ! _method = method; _code_begin = code_begin; _code_end = code_end; _map = map; _map_length = map_length; } ! methodHandle method() const { return _method; } address code_begin() const { return _code_begin; } address code_end() const { return _code_end; } jvmtiAddrLocationMap* map() const { return _map; } jint map_length() const { return _map_length; } }; --- 215,239 ---- // Support class to describe a nmethod in the CodeCache class nmethodDesc: public CHeapObj { private: ! jmethodID _jmethod_id; address _code_begin; address _code_end; jvmtiAddrLocationMap* _map; jint _map_length; public: ! nmethodDesc(jmethodID jmethod_id, address code_begin, address code_end, jvmtiAddrLocationMap* map, jint map_length) { ! _jmethod_id = jmethod_id; _code_begin = code_begin; _code_end = code_end; _map = map; _map_length = map_length; } ! jmethodID jmethod_id() const { return _jmethod_id; } address code_begin() const { return _code_begin; } address code_end() const { return _code_end; } jvmtiAddrLocationMap* map() const { return _map; } jint map_length() const { return _map_length; } };
*** 321,332 **** jvmtiAddrLocationMap* map; jint map_length; JvmtiCodeBlobEvents::build_jvmti_addr_location_map(nm, &map, &map_length); // record the nmethod details ! methodHandle mh(nm->method()); ! nmethodDesc* snm = new nmethodDesc(mh, nm->code_begin(), nm->code_end(), map, map_length); _global_nmethods->append(snm); --- 321,331 ---- jvmtiAddrLocationMap* map; jint map_length; JvmtiCodeBlobEvents::build_jvmti_addr_location_map(nm, &map, &map_length); // record the nmethod details ! nmethodDesc* snm = new nmethodDesc(nm->get_and_cache_jmethod_id(), nm->code_begin(), nm->code_end(), map, map_length); _global_nmethods->append(snm);
*** 365,376 **** } // iterate over the list and post an event for each nmethod nmethodDesc* nm_desc = collector.first(); while (nm_desc != NULL) { ! methodOop method = nm_desc->method()(); ! jmethodID mid = method->jmethod_id(); assert(mid != NULL, "checking"); JvmtiExport::post_compiled_method_load(env, mid, (jint)(nm_desc->code_end() - nm_desc->code_begin()), nm_desc->code_begin(), nm_desc->map_length(), nm_desc->map()); --- 364,374 ---- } // iterate over the list and post an event for each nmethod nmethodDesc* nm_desc = collector.first(); while (nm_desc != NULL) { ! jmethodID mid = nm_desc->jmethod_id(); assert(mid != NULL, "checking"); JvmtiExport::post_compiled_method_load(env, mid, (jint)(nm_desc->code_end() - nm_desc->code_begin()), nm_desc->code_begin(), nm_desc->map_length(), nm_desc->map());
src/share/vm/prims/jvmtiCodeBlobEvents.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File