comparison src/share/vm/prims/jvmtiTagMap.cpp @ 989:148e5441d916

6863023: need non-perm oops in code cache for JSR 292 Summary: Make a special root-list for those few nmethods which might contain non-perm oops. Reviewed-by: twisti, kvn, never, jmasa, ysr
author jrose
date Tue, 15 Sep 2009 21:53:47 -0700
parents 0fbdb4381b99
children 4ce7240d622c
comparison
equal deleted inserted replaced
987:00977607da34 989:148e5441d916
3124 // Other kinds of roots maintained by HotSpot 3124 // Other kinds of roots maintained by HotSpot
3125 // Many of these won't be visible but others (such as instances of important 3125 // Many of these won't be visible but others (such as instances of important
3126 // exceptions) will be visible. 3126 // exceptions) will be visible.
3127 blk.set_kind(JVMTI_HEAP_REFERENCE_OTHER); 3127 blk.set_kind(JVMTI_HEAP_REFERENCE_OTHER);
3128 Universe::oops_do(&blk); 3128 Universe::oops_do(&blk);
3129
3130 // If there are any non-perm roots in the code cache, visit them.
3131 blk.set_kind(JVMTI_HEAP_REFERENCE_OTHER);
3132 CodeBlobToOopClosure look_in_blobs(&blk, false);
3133 CodeCache::scavenge_root_nmethods_do(&look_in_blobs);
3134
3129 return true; 3135 return true;
3130 } 3136 }
3131 3137
3132 // Walk the stack of a given thread and find all references (locals 3138 // Walk the stack of a given thread and find all references (locals
3133 // and JNI calls) and report these as stack references 3139 // and JNI calls) and report these as stack references