Mercurial > hg > truffle
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 |