Mercurial > hg > graal-compiler
diff src/share/vm/c1x/c1x_CodeInstaller.cpp @ 2049:7e09ea4a8f36
Added leaf method assumptions.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Mon, 10 Jan 2011 16:59:48 +0100 |
parents | 177398c6147d |
children | b6d2c238e585 |
line wrap: on
line diff
--- a/src/share/vm/c1x/c1x_CodeInstaller.cpp Mon Jan 10 10:50:22 2011 +0100 +++ b/src/share/vm/c1x/c1x_CodeInstaller.cpp Mon Jan 10 16:59:48 2011 +0100 @@ -313,7 +313,17 @@ } void CodeInstaller::assumption_ConcreteMethod(oop assumption) { - fatal("unimplemented"); + oop context_oop = CiAssumptions_ConcreteMethod::context(assumption); + oop method_oop = CiAssumptions_ConcreteMethod::method(assumption); + jlong context_oop_id = HotSpotMethodResolved::vmId(context_oop); + jlong method_oop_id = HotSpotMethodResolved::vmId(method_oop); + methodOop method = VmIds::get<methodOop>(method_oop_id); + methodOop context = VmIds::get<methodOop>(context_oop_id); + + ciMethod* m = (ciMethod*) CURRENT_ENV->get_object(method); + ciMethod* c = (ciMethod*) CURRENT_ENV->get_object(context); + ciKlass* context_klass = c->holder(); + _dependencies->assert_unique_concrete_method(context_klass, m); } void CodeInstaller::process_exception_handlers() {