Mercurial > hg > truffle
diff src/share/vm/runtime/thread.hpp @ 997:46b819ba120b
Merge
author | jrose |
---|---|
date | Wed, 30 Sep 2009 13:25:39 -0700 |
parents | 87770dcf831b 148e5441d916 |
children | 39b01ab7035a |
line wrap: on
line diff
--- a/src/share/vm/runtime/thread.hpp Fri Sep 25 04:39:54 2009 -0700 +++ b/src/share/vm/runtime/thread.hpp Wed Sep 30 13:25:39 2009 -0700 @@ -374,7 +374,8 @@ // GC support // Apply "f->do_oop" to all root oops in "this". - void oops_do(OopClosure* f); + // Apply "cf->do_code_blob" (if !NULL) to all code blobs active in frames + void oops_do(OopClosure* f, CodeBlobClosure* cf); // Handles the parallel case for the method below. private: @@ -398,7 +399,7 @@ } // Sweeper support - void nmethods_do(); + void nmethods_do(CodeBlobClosure* cf); // Tells if adr belong to this thread. This is used // for checking if a lock is owned by the running thread. @@ -1229,10 +1230,10 @@ void frames_do(void f(frame*, const RegisterMap*)); // Memory operations - void oops_do(OopClosure* f); + void oops_do(OopClosure* f, CodeBlobClosure* cf); // Sweeper operations - void nmethods_do(); + void nmethods_do(CodeBlobClosure* cf); // Memory management operations void gc_epilogue(); @@ -1620,9 +1621,9 @@ // Apply "f->do_oop" to all root oops in all threads. // This version may only be called by sequential code. - static void oops_do(OopClosure* f); + static void oops_do(OopClosure* f, CodeBlobClosure* cf); // This version may be called by sequential or parallel code. - static void possibly_parallel_oops_do(OopClosure* f); + static void possibly_parallel_oops_do(OopClosure* f, CodeBlobClosure* cf); // This creates a list of GCTasks, one per thread. static void create_thread_roots_tasks(GCTaskQueue* q); // This creates a list of GCTasks, one per thread, for marking objects. @@ -1630,13 +1631,13 @@ // Apply "f->do_oop" to roots in all threads that // are part of compiled frames - static void compiled_frame_oops_do(OopClosure* f); + static void compiled_frame_oops_do(OopClosure* f, CodeBlobClosure* cf); static void convert_hcode_pointers(); static void restore_hcode_pointers(); // Sweeper - static void nmethods_do(); + static void nmethods_do(CodeBlobClosure* cf); static void gc_epilogue(); static void gc_prologue();