< prev index next >

src/share/vm/ci/ciValueKlass.hpp

Print this page

        

*** 30,53 **** #include "ci/ciInstanceKlass.hpp" #include "ci/ciSymbol.hpp" // ciValueKlass // ! // TODO class ciValueKlass : public ciInstanceKlass { CI_PACKAGE_ACCESS protected: ciValueKlass(KlassHandle h_k) : ciInstanceKlass(h_k) { assert(is_final(), "ValueKlass must be final"); }; public: bool is_valuetype() const { return true; } ! int field_size() { return nonstatic_field_size(); } ! int field_count() { return nof_nonstatic_fields(); } int get_field_index_by_offset(int offset); int get_field_offset_by_index(int index) const; ! BasicType get_field_type_by_index(int index) const; }; #endif // SHARE_VM_CI_CIVALUEKLASS_HPP --- 30,59 ---- #include "ci/ciInstanceKlass.hpp" #include "ci/ciSymbol.hpp" // ciValueKlass // ! // Specialized ciInstanceKlass for value types. class ciValueKlass : public ciInstanceKlass { CI_PACKAGE_ACCESS protected: ciValueKlass(KlassHandle h_k) : ciInstanceKlass(h_k) { assert(is_final(), "ValueKlass must be final"); }; public: bool is_valuetype() const { return true; } ! ! // Value type factory parameters ! int param_count() const; ! int param_size(); ! ! // Value type fields ('index' refers to the value factory parameter index) ! int get_field_count() { return nof_nonstatic_fields(); } int get_field_index_by_offset(int offset); int get_field_offset_by_index(int index) const; ! ciType* get_field_type_by_index(int index); ! int get_first_field_offset() const; }; #endif // SHARE_VM_CI_CIVALUEKLASS_HPP
< prev index next >