equal
deleted
inserted
replaced
1877 Bytecode_loadconstant ldc(method(), bci); |
1877 Bytecode_loadconstant ldc(method(), bci); |
1878 ConstantPool* cp = method()->constants(); |
1878 ConstantPool* cp = method()->constants(); |
1879 constantTag tag = cp->tag_at(ldc.pool_index()); // idx is index in resolved_references |
1879 constantTag tag = cp->tag_at(ldc.pool_index()); // idx is index in resolved_references |
1880 BasicType bt = ldc.result_type(); |
1880 BasicType bt = ldc.result_type(); |
1881 #ifdef ASSERT |
1881 #ifdef ASSERT |
1882 BasicType tag_bt = tag.is_dynamic_constant() ? bt : tag.basic_type(); |
1882 BasicType tag_bt = (tag.is_dynamic_constant() || tag.is_dynamic_constant_in_error()) ? bt : tag.basic_type(); |
1883 assert(bt == tag_bt, "same result"); |
1883 assert(bt == tag_bt, "same result"); |
1884 #endif |
1884 #endif |
1885 CellTypeState cts; |
1885 CellTypeState cts; |
1886 if (is_reference_type(bt)) { // could be T_ARRAY with condy |
1886 if (is_reference_type(bt)) { // could be T_ARRAY with condy |
1887 assert(!tag.is_string_index() && !tag.is_klass_index(), "Unexpected index tag"); |
1887 assert(!tag.is_string_index() && !tag.is_klass_index(), "Unexpected index tag"); |