Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8280230

[lworld] Extend loading of signature classes to flattened fields

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Unresolved
    • P4
    • repo-valhalla
    • repo-valhalla
    • hotspot

    Description

      `Method::load_signature_classes` forces loading of all argument types before compilation. We should evaluate if this needs to be extended to arguments that were not declared but only brought in through flattening (calling convention optimizations). We would then also need to adapt `Method::has_unloaded_classes_in_signature`.

      The following assert catches such unloaded arguments:

      collect_inline_fields(ciInlineKlass* vk, const Type** field_array, u
           ciField* field = vk->nonstatic_field_at(j);
           BasicType bt = field->type()->basic_type();
           const Type* ft = Type::get_const_type(field->type());
      +#ifdef ASSERT
      + if (ft->isa_instptr() != NULL && !ft->is_instptr()->is_loaded()) {
      + ft->dump_on(tty);
      + assert(false, "Signature class not loaded");
      + }
      +#endif

      Attachments

        Activity

          People

            Unassigned Unassigned
            thartmann Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: