comparison 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
comparison
equal deleted inserted replaced
4669:a6d18567b2ff 4670:41034914e2ee
243 objArrayHandle assumptions(Thread::current(), (objArrayOop)CiAssumptions::list(assumptions_handle())); 243 objArrayHandle assumptions(Thread::current(), (objArrayOop)CiAssumptions::list(assumptions_handle()));
244 int length = assumptions->length(); 244 int length = assumptions->length();
245 for (int i = 0; i < length; ++i) { 245 for (int i = 0; i < length; ++i) {
246 Handle assumption = assumptions->obj_at(i); 246 Handle assumption = assumptions->obj_at(i);
247 if (!assumption.is_null()) { 247 if (!assumption.is_null()) {
248 if (assumption->klass() == CiAssumptions_ConcreteSubtype::klass()) { 248 if (assumption->klass() == CiAssumptions_MethodContents::klass()) {
249 assumption_MethodContents(assumption);
250 } else if (assumption->klass() == CiAssumptions_ConcreteSubtype::klass()) {
249 assumption_ConcreteSubtype(assumption); 251 assumption_ConcreteSubtype(assumption);
250 } else if (assumption->klass() == CiAssumptions_ConcreteMethod::klass()) { 252 } else if (assumption->klass() == CiAssumptions_ConcreteMethod::klass()) {
251 assumption_ConcreteMethod(assumption); 253 assumption_ConcreteMethod(assumption);
252 } else { 254 } else {
253 assumption->print(); 255 assumption->print();
367 site_Mark(buffer, pc_offset, site); 369 site_Mark(buffer, pc_offset, site);
368 } else { 370 } else {
369 fatal("unexpected Site subclass"); 371 fatal("unexpected Site subclass");
370 } 372 }
371 } 373 }
374 }
375
376 void CodeInstaller::assumption_MethodContents(Handle assumption) {
377 Handle method_handle = CiAssumptions_MethodContents::method(assumption());
378 methodHandle method = getMethodFromHotSpotMethod(method_handle());
379 ciMethod* m = (ciMethod*) CURRENT_ENV->get_object(method());
380
381 _dependencies->assert_evol_method(m);
372 } 382 }
373 383
374 void CodeInstaller::assumption_ConcreteSubtype(Handle assumption) { 384 void CodeInstaller::assumption_ConcreteSubtype(Handle assumption) {
375 Handle context_handle = CiAssumptions_ConcreteSubtype::context(assumption()); 385 Handle context_handle = CiAssumptions_ConcreteSubtype::context(assumption());
376 ciKlass* context = (ciKlass*) CURRENT_ENV->get_object(java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(context_handle))); 386 ciKlass* context = (ciKlass*) CURRENT_ENV->get_object(java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(context_handle)));