mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 03:24:38 +02:00
6863023: need non-perm oops in code cache for JSR 292
Make a special root-list for those few nmethods which might contain non-perm oops. Reviewed-by: twisti, kvn, never, jmasa, ysr
This commit is contained in:
parent
1cf5b7ae11
commit
e261aecad8
74 changed files with 979 additions and 279 deletions
|
@ -384,16 +384,14 @@ class frame VALUE_OBJ_CLASS_SPEC {
|
|||
void oops_interpreted_arguments_do(symbolHandle signature, bool is_static, OopClosure* f);
|
||||
|
||||
// Iteration of oops
|
||||
void oops_do_internal(OopClosure* f, RegisterMap* map, bool use_interpreter_oop_map_cache);
|
||||
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, 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
|
||||
// Iteration of nmethods
|
||||
void nmethods_code_blob_do();
|
||||
public:
|
||||
// Memory management
|
||||
void oops_do(OopClosure* f, RegisterMap* map) { oops_do_internal(f, map, true); }
|
||||
void nmethods_do();
|
||||
void oops_do(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map) { oops_do_internal(f, cf, map, true); }
|
||||
void nmethods_do(CodeBlobClosure* cf);
|
||||
|
||||
void gc_prologue();
|
||||
void gc_epilogue();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue