comparison src/share/vm/code/nmethod.cpp @ 2290:1cfdec4e7f07

fixed crash with PrintAssembly: RelocIterator limit outside of code area
author Lukas Stadler <lukas.stadler@jku.at>
date Mon, 11 Apr 2011 12:15:32 +0200
parents d9e4d0aefc90
children 0654ee04b214
comparison
equal deleted inserted replaced
2289:6190d20bd6d6 2290:1cfdec4e7f07
1901 #endif // !SHARK 1901 #endif // !SHARK
1902 } 1902 }
1903 1903
1904 1904
1905 oop nmethod::embeddedOop_at(u_char* p) { 1905 oop nmethod::embeddedOop_at(u_char* p) {
1906 RelocIterator iter(this, p, p + oopSize); 1906 RelocIterator iter(this, p, MIN2(p + oopSize, code_end()));
1907 while (iter.next()) 1907 while (iter.next())
1908 if (iter.type() == relocInfo::oop_type) { 1908 if (iter.type() == relocInfo::oop_type) {
1909 return iter.oop_reloc()->oop_value(); 1909 return iter.oop_reloc()->oop_value();
1910 } 1910 }
1911 return NULL; 1911 return NULL;