Mercurial > hg > graal-compiler
diff src/share/vm/graal/graalCompiler.cpp @ 3090:536528f48708
more escape analysis work: debug info
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Tue, 28 Jun 2011 19:14:28 +0200 |
parents | 8b0236cbed14 |
children | 22d11b3bc561 |
line wrap: on
line diff
--- a/src/share/vm/graal/graalCompiler.cpp Mon Jun 27 17:15:12 2011 +0200 +++ b/src/share/vm/graal/graalCompiler.cpp Tue Jun 28 19:14:28 2011 +0200 @@ -144,8 +144,13 @@ } oop GraalCompiler::get_RiField(ciField *field, ciInstanceKlass* accessor_klass, KlassHandle accessor, Bytecodes::Code byteCode, TRAPS) { - bool will_link = field->will_link_from_vm(accessor_klass, byteCode); - int offset = (field->holder()->is_loaded() && will_link) ? field->offset() : -1; + int offset; + if (byteCode != Bytecodes::_illegal) { + bool will_link = field->will_link_from_vm(accessor_klass, byteCode); + offset = (field->holder()->is_loaded() && will_link) ? field->offset() : -1; + } else { + offset = field->offset(); + } Handle field_name = VmIds::toString<Handle>(field->name()->get_symbol(), CHECK_0); Handle field_holder = get_RiType(field->holder(), accessor, CHECK_0); Handle field_type = get_RiType(field->type(), accessor, CHECK_0);