src/share/vm/code/nmethod.cpp

changeset 8997
f8a45a60bc6b
parent 8984
7c2285d86b8d
child 9041
95a08233f46c
child 9184
fbcbfd2753b5
child 9291
a2c8195708cc
equal deleted inserted replaced
8996:2667e5c45e24 8997:f8a45a60bc6b
1746 // The only exception is compiledICHolder oops which may 1746 // The only exception is compiledICHolder oops which may
1747 // yet be marked below. (We check this further below). 1747 // yet be marked below. (We check this further below).
1748 CompiledICHolder* cichk_oop = ic->cached_icholder(); 1748 CompiledICHolder* cichk_oop = ic->cached_icholder();
1749 1749
1750 if (mark_on_stack) { 1750 if (mark_on_stack) {
1751 Metadata::mark_on_stack(cichk_oop->holder_method()); 1751 Metadata::mark_on_stack(cichk_oop->holder_metadata());
1752 Metadata::mark_on_stack(cichk_oop->holder_klass()); 1752 Metadata::mark_on_stack(cichk_oop->holder_klass());
1753 } 1753 }
1754 1754
1755 if (cichk_oop->holder_method()->method_holder()->is_loader_alive(is_alive) && 1755 if (cichk_oop->is_loader_alive(is_alive)) {
1756 cichk_oop->holder_klass()->is_loader_alive(is_alive)) {
1757 return; 1756 return;
1758 } 1757 }
1759 } else { 1758 } else {
1760 Metadata* ic_oop = ic->cached_metadata(); 1759 Metadata* ic_oop = ic->cached_metadata();
1761 if (ic_oop != NULL) { 1760 if (ic_oop != NULL) {
2178 } else if (iter.type() == relocInfo::virtual_call_type) { 2177 } else if (iter.type() == relocInfo::virtual_call_type) {
2179 // Check compiledIC holders associated with this nmethod 2178 // Check compiledIC holders associated with this nmethod
2180 CompiledIC *ic = CompiledIC_at(&iter); 2179 CompiledIC *ic = CompiledIC_at(&iter);
2181 if (ic->is_icholder_call()) { 2180 if (ic->is_icholder_call()) {
2182 CompiledICHolder* cichk = ic->cached_icholder(); 2181 CompiledICHolder* cichk = ic->cached_icholder();
2183 f(cichk->holder_method()); 2182 f(cichk->holder_metadata());
2184 f(cichk->holder_klass()); 2183 f(cichk->holder_klass());
2185 } else { 2184 } else {
2186 Metadata* ic_oop = ic->cached_metadata(); 2185 Metadata* ic_oop = ic->cached_metadata();
2187 if (ic_oop != NULL) { 2186 if (ic_oop != NULL) {
2188 f(ic_oop); 2187 f(ic_oop);

mercurial