Mercurial > hg > graal-compiler
diff src/share/vm/oops/generateOopMap.cpp @ 17456:00bcb186fc5a
8029351: assert(bt != T_OBJECT) failed: Guard is incorrect in VM:defmeth
Summary: replace test condition with reference to the proper predicate, encode folk wisdom into an assert
Reviewed-by: twisti, coleenp
author | drchase |
---|---|
date | Thu, 12 Dec 2013 15:11:35 -0500 |
parents | f75faf51e8c4 |
children | 4ca6dc0799b6 |
line wrap: on
line diff
--- a/src/share/vm/oops/generateOopMap.cpp Wed Dec 11 01:09:04 2013 +0400 +++ b/src/share/vm/oops/generateOopMap.cpp Thu Dec 12 15:11:35 2013 -0500 @@ -1863,11 +1863,8 @@ constantTag tag = cp->tag_at(ldc.pool_index()); // idx is index in resolved_references BasicType bt = ldc.result_type(); CellTypeState cts; - if (tag.is_klass() || - tag.is_unresolved_klass() || - tag.is_string() || - tag.is_method_handle() || - tag.is_method_type()) { + if (tag.basic_type() == T_OBJECT) { + assert(!tag.is_string_index() && !tag.is_klass_index(), "Unexpected index tag"); assert(bt == T_OBJECT, "Guard is incorrect"); cts = CellTypeState::make_line_ref(bci); } else {