Mercurial > hg > truffle
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))); |