Mercurial > hg > truffle
comparison src/share/vm/oops/instanceKlass.cpp @ 17728:b8413a9cbb84
8031752: Failed speculative optimizations should be reattempted when root of compilation is different
Summary: support for speculative traps that keep track of the root of the compilation in which a trap occurs.
Reviewed-by: kvn, twisti
author | roland |
---|---|
date | Tue, 25 Feb 2014 18:16:24 +0100 |
parents | 85318d1fe8fe |
children | 62c54fcc0a35 |
comparison
equal
deleted
inserted
replaced
17727:cfd4aac53239 | 17728:b8413a9cbb84 |
---|---|
2232 | 2232 |
2233 void InstanceKlass::clean_method_data(BoolObjectClosure* is_alive) { | 2233 void InstanceKlass::clean_method_data(BoolObjectClosure* is_alive) { |
2234 for (int m = 0; m < methods()->length(); m++) { | 2234 for (int m = 0; m < methods()->length(); m++) { |
2235 MethodData* mdo = methods()->at(m)->method_data(); | 2235 MethodData* mdo = methods()->at(m)->method_data(); |
2236 if (mdo != NULL) { | 2236 if (mdo != NULL) { |
2237 for (ProfileData* data = mdo->first_data(); | 2237 mdo->clean_method_data(is_alive); |
2238 mdo->is_valid(data); | |
2239 data = mdo->next_data(data)) { | |
2240 data->clean_weak_klass_links(is_alive); | |
2241 } | |
2242 ParametersTypeData* parameters = mdo->parameters_type_data(); | |
2243 if (parameters != NULL) { | |
2244 parameters->clean_weak_klass_links(is_alive); | |
2245 } | |
2246 } | 2238 } |
2247 } | 2239 } |
2248 } | 2240 } |
2249 | 2241 |
2250 | 2242 |