Mercurial > hg > truffle
changeset 17975:bd4d69d9cb7d
8034188: OSR methods may not be recompiled at proper compilation level
Summary: remove_osr_nmethod doesn't check that it is the correct method
Reviewed-by: kvn, iveresov
author | neliasso |
---|---|
date | Tue, 11 Feb 2014 13:29:53 +0100 |
parents | 09f19d3de485 |
children | 8e20ef014b08 |
files | src/share/vm/oops/instanceKlass.cpp |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/oops/instanceKlass.cpp Thu Jun 05 15:55:49 2014 +0200 +++ b/src/share/vm/oops/instanceKlass.cpp Tue Feb 11 13:29:53 2014 +0100 @@ -2771,7 +2771,7 @@ Method* m = n->method(); // Search for match while(cur != NULL && cur != n) { - if (TieredCompilation) { + if (TieredCompilation && m == cur->method()) { // Find max level before n max_level = MAX2(max_level, cur->comp_level()); } @@ -2793,7 +2793,9 @@ cur = next; while (cur != NULL) { // Find max level after n - max_level = MAX2(max_level, cur->comp_level()); + if (m == cur->method()) { + max_level = MAX2(max_level, cur->comp_level()); + } cur = cur->osr_link(); } m->set_highest_osr_comp_level(max_level);