< prev index next >

src/hotspot/share/oops/valueKlass.hpp

Print this page

        

@@ -114,10 +114,11 @@
   Klass* array_klass_impl(bool or_null, TRAPS);
 
  public:
   // Type testing
   bool is_value_slow() const        { return true; }
+  bool is__Value() const { return (this == SystemDictionary::___Value_klass()); }
 
   // Casting from Klass*
   static ValueKlass* cast(Klass* k) {
     assert(k->is_value(), "cast to ValueKlass");
     return (ValueKlass*) k;

@@ -206,22 +207,22 @@
   inline void oop_iterate_specialized_bounded(const address oop_addr, OopClosureType* closure, void* lo, void* hi);
 
   // calling convention support
   void initialize_calling_convention();
   Array<SigEntry>* extended_sig() const {
-    assert(this != SystemDictionary::___Value_klass(), "make no sense for __Value");
+    assert(!is__Value(), "make no sense for __Value");
     return *((Array<SigEntry>**)adr_extended_sig());
   }
   Array<VMRegPair>* return_regs() const {
-    assert(this != SystemDictionary::___Value_klass(), "make no sense for __Value");
+    assert(!is__Value(), "make no sense for __Value");
     return *((Array<VMRegPair>**)adr_return_regs());
   }
+  bool can_be_returned_as_fields() const;
   void save_oop_fields(const RegisterMap& map, GrowableArray<Handle>& handles) const;
-  bool save_oop_results(RegisterMap& map, GrowableArray<Handle>& handles) const;
   void restore_oop_results(RegisterMap& map, GrowableArray<Handle>& handles) const;
   oop realloc_result(const RegisterMap& reg_map, const GrowableArray<Handle>& handles, bool buffered, TRAPS);
-  static ValueKlass* returned_value_type(const RegisterMap& reg_map);
+  static ValueKlass* returned_value_klass(const RegisterMap& reg_map);
 
   // pack and unpack handlers. Need to be loadable from generated code
   // so at a fixed offset from the base of the klass pointer.
   static ByteSize pack_handler_offset() {
     return in_ByteSize(InstanceKlass::header_size() * wordSize);
< prev index next >