src/share/vm/ci/ciValueKlass.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File valhalla-experimental Sdiff src/share/vm/ci

src/share/vm/ci/ciValueKlass.hpp

Print this page




  31 #include "ci/ciSymbol.hpp"
  32 
  33 // ciValueKlass
  34 //
  35 // Specialized ciInstanceKlass for value types.
  36 class ciValueKlass : public ciInstanceKlass {
  37   CI_PACKAGE_ACCESS
  38 
  39 protected:
  40   ciValueKlass(KlassHandle h_k) : ciInstanceKlass(h_k) {
  41     assert(is_final(), "ValueKlass must be final");
  42   };
  43 
  44 public:
  45   bool      is_valuetype() const { return true; }
  46 
  47   // Value type factory parameters
  48   int       param_count() const;
  49   int       param_size();
  50 
  51   // Value type fields ('index' refers to the value factory parameter index)






  52   int       get_field_count() { return nof_nonstatic_fields(); }
  53   int       get_field_index_by_offset(int offset);
  54   int       get_field_offset_by_index(int index) const;
  55   ciType*   get_field_type_by_index(int index);
  56   int       get_first_field_offset() const;
  57 };
  58 
  59 #endif // SHARE_VM_CI_CIVALUEKLASS_HPP


  31 #include "ci/ciSymbol.hpp"
  32 
  33 // ciValueKlass
  34 //
  35 // Specialized ciInstanceKlass for value types.
  36 class ciValueKlass : public ciInstanceKlass {
  37   CI_PACKAGE_ACCESS
  38 
  39 protected:
  40   ciValueKlass(KlassHandle h_k) : ciInstanceKlass(h_k) {
  41     assert(is_final(), "ValueKlass must be final");
  42   };
  43 
  44 public:
  45   bool      is_valuetype() const { return true; }
  46 
  47   // Value type factory parameters
  48   int       param_count() const;
  49   int       param_size();
  50 
  51   // Value type fields
  52   //
  53   // The term index refers to the index in the VM's constant pool
  54   // (i.e., to the value returned by fieldDescriptor::index()).
  55   // Argument index refers to a field's index in the value factory
  56   // parameter mapping.
  57   int       field_index_for_argument(int arg_index);
  58   int       get_field_count() { return nof_nonstatic_fields(); }
  59   int       get_field_index_by_offset(int offset);
  60   int       get_field_offset_by_index(int index) const;
  61   ciType*   get_field_type_by_index(int index);
  62   int       get_first_field_offset() const;
  63 };
  64 
  65 #endif // SHARE_VM_CI_CIVALUEKLASS_HPP
src/share/vm/ci/ciValueKlass.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File