changeset 53059:dfdc025ad9ea

8214275: CondyRepeatFailedResolution asserts "Dynamic constant has no fixed basic type" Summary: GenerateOopMap::do_ldc must check for a DynamicInError as well as a Dynamic constant pool tag. Reviewed-by: coleenp
author lfoltan
date Thu, 06 Dec 2018 10:46:10 -0500
parents c56c30f9f991
children 8b8935b5cfd4 094d91e25943
files src/hotspot/share/oops/generateOopMap.cpp
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/share/oops/generateOopMap.cpp	Thu Dec 06 10:22:23 2018 -0500
+++ b/src/hotspot/share/oops/generateOopMap.cpp	Thu Dec 06 10:46:10 2018 -0500
@@ -1879,7 +1879,7 @@
   constantTag tag = cp->tag_at(ldc.pool_index()); // idx is index in resolved_references
   BasicType       bt  = ldc.result_type();
 #ifdef ASSERT
-  BasicType   tag_bt = tag.is_dynamic_constant() ? bt : tag.basic_type();
+  BasicType   tag_bt = (tag.is_dynamic_constant() || tag.is_dynamic_constant_in_error()) ? bt : tag.basic_type();
   assert(bt == tag_bt, "same result");
 #endif
   CellTypeState   cts;