Mercurial > hg > truffle
diff src/share/vm/graal/graalCodeInstaller.cpp @ 4670:41034914e2ee
add MethodContents assumption to fix debbugging issue
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Wed, 22 Feb 2012 17:04:27 +0100 |
parents | 597bc897257d |
children | a03f3fd16b22 |
line wrap: on
line diff
--- a/src/share/vm/graal/graalCodeInstaller.cpp Tue Feb 21 16:23:44 2012 -0800 +++ b/src/share/vm/graal/graalCodeInstaller.cpp Wed Feb 22 17:04:27 2012 +0100 @@ -245,7 +245,9 @@ for (int i = 0; i < length; ++i) { Handle assumption = assumptions->obj_at(i); if (!assumption.is_null()) { - if (assumption->klass() == CiAssumptions_ConcreteSubtype::klass()) { + if (assumption->klass() == CiAssumptions_MethodContents::klass()) { + assumption_MethodContents(assumption); + } else if (assumption->klass() == CiAssumptions_ConcreteSubtype::klass()) { assumption_ConcreteSubtype(assumption); } else if (assumption->klass() == CiAssumptions_ConcreteMethod::klass()) { assumption_ConcreteMethod(assumption); @@ -371,6 +373,14 @@ } } +void CodeInstaller::assumption_MethodContents(Handle assumption) { + Handle method_handle = CiAssumptions_MethodContents::method(assumption()); + methodHandle method = getMethodFromHotSpotMethod(method_handle()); + ciMethod* m = (ciMethod*) CURRENT_ENV->get_object(method()); + + _dependencies->assert_evol_method(m); +} + void CodeInstaller::assumption_ConcreteSubtype(Handle assumption) { Handle context_handle = CiAssumptions_ConcreteSubtype::context(assumption()); ciKlass* context = (ciKlass*) CURRENT_ENV->get_object(java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(context_handle)));