Mercurial > hg > truffle
comparison src/share/vm/runtime/deoptimization.cpp @ 3134:4b63eb1197ca
Various fixes around escape analysis.
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Sat, 02 Jul 2011 02:46:04 +0200 |
parents | 536528f48708 |
children | 5ca1332171c8 |
comparison
equal
deleted
inserted
replaced
3133:5aeb62416609 | 3134:4b63eb1197ca |
---|---|
887 for (int i = 0; i < objects->length(); i++) { | 887 for (int i = 0; i < objects->length(); i++) { |
888 ObjectValue* sv = (ObjectValue*) objects->at(i); | 888 ObjectValue* sv = (ObjectValue*) objects->at(i); |
889 KlassHandle k(((ConstantOopReadValue*) sv->klass())->value()()); | 889 KlassHandle k(((ConstantOopReadValue*) sv->klass())->value()()); |
890 Handle obj = sv->value(); | 890 Handle obj = sv->value(); |
891 assert(obj.not_null(), "reallocation was missed"); | 891 assert(obj.not_null(), "reallocation was missed"); |
892 if (TraceDeoptimization) { | |
893 tty->print_cr("reassign fields for object of type %s!", k->name()->as_C_string()); | |
894 } | |
892 | 895 |
893 if (k->oop_is_instance()) { | 896 if (k->oop_is_instance()) { |
894 instanceKlass* ik = instanceKlass::cast(k()); | 897 instanceKlass* ik = instanceKlass::cast(k()); |
895 FieldReassigner reassign(fr, reg_map, sv, obj()); | 898 FieldReassigner reassign(fr, reg_map, sv, obj()); |
896 ik->do_nonstatic_fields(&reassign); | 899 ik->do_nonstatic_fields(&reassign); |