Mercurial > hg > graal-compiler
comparison src/share/vm/memory/iterator.cpp @ 7179:d0aa87f04bd5
8003720: NPG: Method in interpreter stack frame can be deallocated
Summary: Pass down a closure during root scanning to keep the class of the method alive.
Reviewed-by: coleenp, jcoomes
author | stefank |
---|---|
date | Tue, 27 Nov 2012 10:13:20 +0100 |
parents | ec98e58952b2 |
children | 5888334c9c24 |
comparison
equal
deleted
inserted
replaced
7178:19c1bd641922 | 7179:d0aa87f04bd5 |
---|---|
26 #include "memory/iterator.hpp" | 26 #include "memory/iterator.hpp" |
27 #include "oops/oop.inline.hpp" | 27 #include "oops/oop.inline.hpp" |
28 | 28 |
29 void KlassToOopClosure::do_klass(Klass* k) { | 29 void KlassToOopClosure::do_klass(Klass* k) { |
30 k->oops_do(_oop_closure); | 30 k->oops_do(_oop_closure); |
31 } | |
32 | |
33 void CLDToOopClosure::do_cld(ClassLoaderData* cld) { | |
34 cld->oops_do(_oop_closure, &_klass_closure, _must_claim_cld); | |
31 } | 35 } |
32 | 36 |
33 void ObjectToOopClosure::do_object(oop obj) { | 37 void ObjectToOopClosure::do_object(oop obj) { |
34 obj->oop_iterate(_cl); | 38 obj->oop_iterate(_cl); |
35 } | 39 } |