Mercurial > hg > graal-jvmci-8
comparison 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 |
comparison
equal
deleted
inserted
replaced
13444:62084ffe573b | 17456:00bcb186fc5a |
---|---|
1861 Bytecode_loadconstant ldc(method(), bci); | 1861 Bytecode_loadconstant ldc(method(), bci); |
1862 ConstantPool* cp = method()->constants(); | 1862 ConstantPool* cp = method()->constants(); |
1863 constantTag tag = cp->tag_at(ldc.pool_index()); // idx is index in resolved_references | 1863 constantTag tag = cp->tag_at(ldc.pool_index()); // idx is index in resolved_references |
1864 BasicType bt = ldc.result_type(); | 1864 BasicType bt = ldc.result_type(); |
1865 CellTypeState cts; | 1865 CellTypeState cts; |
1866 if (tag.is_klass() || | 1866 if (tag.basic_type() == T_OBJECT) { |
1867 tag.is_unresolved_klass() || | 1867 assert(!tag.is_string_index() && !tag.is_klass_index(), "Unexpected index tag"); |
1868 tag.is_string() || | |
1869 tag.is_method_handle() || | |
1870 tag.is_method_type()) { | |
1871 assert(bt == T_OBJECT, "Guard is incorrect"); | 1868 assert(bt == T_OBJECT, "Guard is incorrect"); |
1872 cts = CellTypeState::make_line_ref(bci); | 1869 cts = CellTypeState::make_line_ref(bci); |
1873 } else { | 1870 } else { |
1874 assert(bt != T_OBJECT, "Guard is incorrect"); | 1871 assert(bt != T_OBJECT, "Guard is incorrect"); |
1875 cts = valCTS; | 1872 cts = valCTS; |