Mercurial > hg > truffle
comparison src/share/vm/graal/graalCodeInstaller.cpp @ 9012:2979aaac95af
assumptions: enable NoFinalizableSubclass assumption
author | Bernhard Urban <bernhard.urban@jku.at> |
---|---|
date | Thu, 11 Apr 2013 22:38:53 +0200 |
parents | 9f3a77848ea2 |
children | 700f6a63763a |
comparison
equal
deleted
inserted
replaced
9011:23762f2438b6 | 9012:2979aaac95af |
---|---|
292 for (int i = 0; i < length; ++i) { | 292 for (int i = 0; i < length; ++i) { |
293 Handle assumption = assumptions->obj_at(i); | 293 Handle assumption = assumptions->obj_at(i); |
294 if (!assumption.is_null()) { | 294 if (!assumption.is_null()) { |
295 if (assumption->klass() == Assumptions_MethodContents::klass()) { | 295 if (assumption->klass() == Assumptions_MethodContents::klass()) { |
296 assumption_MethodContents(assumption); | 296 assumption_MethodContents(assumption); |
297 } else if (assumption->klass() == Assumptions_NoFinalizableSubclass::klass()) { | |
298 assumption_NoFinalizableSubclass(assumption); | |
297 } else if (assumption->klass() == Assumptions_ConcreteSubtype::klass()) { | 299 } else if (assumption->klass() == Assumptions_ConcreteSubtype::klass()) { |
298 assumption_ConcreteSubtype(assumption); | 300 assumption_ConcreteSubtype(assumption); |
299 } else if (assumption->klass() == Assumptions_ConcreteMethod::klass()) { | 301 } else if (assumption->klass() == Assumptions_ConcreteMethod::klass()) { |
300 assumption_ConcreteMethod(assumption); | 302 assumption_ConcreteMethod(assumption); |
301 } else if (assumption->klass() == Assumptions_CallSiteTargetValue::klass()) { | 303 } else if (assumption->klass() == Assumptions_CallSiteTargetValue::klass()) { |
443 | 445 |
444 void CodeInstaller::assumption_MethodContents(Handle assumption) { | 446 void CodeInstaller::assumption_MethodContents(Handle assumption) { |
445 Handle method_handle = Assumptions_MethodContents::method(assumption()); | 447 Handle method_handle = Assumptions_MethodContents::method(assumption()); |
446 methodHandle method = getMethodFromHotSpotMethod(method_handle()); | 448 methodHandle method = getMethodFromHotSpotMethod(method_handle()); |
447 _dependencies->assert_evol_method(method()); | 449 _dependencies->assert_evol_method(method()); |
450 } | |
451 | |
452 void CodeInstaller::assumption_NoFinalizableSubclass(Handle assumption) { | |
453 Handle receiverType_handle = Assumptions_NoFinalizableSubclass::receiverType(assumption()); | |
454 Klass* receiverType = asKlass(HotSpotResolvedObjectType::metaspaceKlass(receiverType_handle)); | |
455 _dependencies->assert_has_no_finalizable_subclasses(receiverType); | |
448 } | 456 } |
449 | 457 |
450 void CodeInstaller::assumption_ConcreteSubtype(Handle assumption) { | 458 void CodeInstaller::assumption_ConcreteSubtype(Handle assumption) { |
451 Handle context_handle = Assumptions_ConcreteSubtype::context(assumption()); | 459 Handle context_handle = Assumptions_ConcreteSubtype::context(assumption()); |
452 Handle subtype_handle = Assumptions_ConcreteSubtype::subtype(assumption()); | 460 Handle subtype_handle = Assumptions_ConcreteSubtype::subtype(assumption()); |