Mercurial > hg > truffle
comparison src/share/vm/runtime/frame.hpp @ 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 | bd02caa94611 |
children | dd57230ba8fe |
comparison
equal
deleted
inserted
replaced
987:00977607da34 | 989:148e5441d916 |
---|---|
382 bool is_static, int max_stack, int max_locals, | 382 bool is_static, int max_stack, int max_locals, |
383 InterpreterOopMap *mask); | 383 InterpreterOopMap *mask); |
384 void oops_interpreted_arguments_do(symbolHandle signature, bool is_static, OopClosure* f); | 384 void oops_interpreted_arguments_do(symbolHandle signature, bool is_static, OopClosure* f); |
385 | 385 |
386 // Iteration of oops | 386 // Iteration of oops |
387 void oops_do_internal(OopClosure* f, RegisterMap* map, bool use_interpreter_oop_map_cache); | 387 void oops_do_internal(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map, bool use_interpreter_oop_map_cache); |
388 void oops_entry_do(OopClosure* f, const RegisterMap* map); | 388 void oops_entry_do(OopClosure* f, const RegisterMap* map); |
389 void oops_code_blob_do(OopClosure* f, const RegisterMap* map); | 389 void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map); |
390 int adjust_offset(methodOop method, int index); // helper for above fn | 390 int adjust_offset(methodOop method, int index); // helper for above fn |
391 // Iteration of nmethods | |
392 void nmethods_code_blob_do(); | |
393 public: | 391 public: |
394 // Memory management | 392 // Memory management |
395 void oops_do(OopClosure* f, RegisterMap* map) { oops_do_internal(f, map, true); } | 393 void oops_do(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map) { oops_do_internal(f, cf, map, true); } |
396 void nmethods_do(); | 394 void nmethods_do(CodeBlobClosure* cf); |
397 | 395 |
398 void gc_prologue(); | 396 void gc_prologue(); |
399 void gc_epilogue(); | 397 void gc_epilogue(); |
400 void pd_gc_epilog(); | 398 void pd_gc_epilog(); |
401 | 399 |