hotspot/src/share/vm/ci/ciEnv.cpp
changeset 1550 be2fc37a817f
parent 1 489c9b5090e2
child 1623 a0dd9009e992
equal deleted inserted replaced
1549:710f8deef989 1550:be2fc37a817f
   482   } else if (tag.is_float()) {
   482   } else if (tag.is_float()) {
   483     return ciConstant((jfloat)cpool->float_at(index));
   483     return ciConstant((jfloat)cpool->float_at(index));
   484   } else if (tag.is_double()) {
   484   } else if (tag.is_double()) {
   485     return ciConstant((jdouble)cpool->double_at(index));
   485     return ciConstant((jdouble)cpool->double_at(index));
   486   } else if (tag.is_string() || tag.is_unresolved_string()) {
   486   } else if (tag.is_string() || tag.is_unresolved_string()) {
   487     oop string = cpool->string_at(index, THREAD);
   487     oop string = NULL;
   488     if (HAS_PENDING_EXCEPTION) {
   488     if (cpool->is_pseudo_string_at(index)) {
   489       CLEAR_PENDING_EXCEPTION;
   489       string = cpool->pseudo_string_at(index);
   490       record_out_of_memory_failure();
   490     } else {
   491       return ciConstant();
   491       string = cpool->string_at(index, THREAD);
       
   492       if (HAS_PENDING_EXCEPTION) {
       
   493         CLEAR_PENDING_EXCEPTION;
       
   494         record_out_of_memory_failure();
       
   495         return ciConstant();
       
   496       }
   492     }
   497     }
   493     ciObject* constant = get_object(string);
   498     ciObject* constant = get_object(string);
   494     assert (constant->is_instance(), "must be an instance, or not? ");
   499     assert (constant->is_instance(), "must be an instance, or not? ");
   495     return ciConstant(T_OBJECT, constant);
   500     return ciConstant(T_OBJECT, constant);
   496   } else if (tag.is_klass() || tag.is_unresolved_klass()) {
   501   } else if (tag.is_klass() || tag.is_unresolved_klass()) {