< prev index next >

src/share/vm/oops/typeArrayKlass.hpp

Print this page
rev 7183 : autospecialized oop_iterate using SFINAE and templates


  55   static inline Klass* create_klass(BasicType type, int scale, TRAPS) {
  56     TypeArrayKlass* tak = create_klass(type, external_name(type), CHECK_NULL);
  57     assert(scale == (1 << tak->log2_element_size()), "scale must check out");
  58     return tak;
  59   }
  60 
  61   int oop_size(oop obj) const;
  62 
  63   bool compute_is_subtype_of(Klass* k);
  64 
  65   // Allocation
  66   typeArrayOop allocate_common(int length, bool do_zero, TRAPS);
  67   typeArrayOop allocate(int length, TRAPS) { return allocate_common(length, true, THREAD); }
  68   oop multi_allocate(int rank, jint* sizes, TRAPS);
  69 
  70   oop protection_domain() const { return NULL; }
  71 
  72   // Copying
  73   void  copy_array(arrayOop s, int src_pos, arrayOop d, int dst_pos, int length, TRAPS);
  74 


  75   // Iteration
  76   int oop_oop_iterate(oop obj, ExtendedOopClosure* blk);
  77   int oop_oop_iterate_m(oop obj, ExtendedOopClosure* blk, MemRegion mr);
  78 
  79   // Garbage collection
  80   void oop_follow_contents(oop obj);
  81   int  oop_adjust_pointers(oop obj);
  82 
  83   // Parallel Scavenge and Parallel Old
  84   PARALLEL_GC_DECLS
  85 
  86  protected:
  87   // Find n'th dimensional array
  88   virtual Klass* array_klass_impl(bool or_null, int n, TRAPS);
  89 
  90   // Returns the array class with this class as element type
  91   virtual Klass* array_klass_impl(bool or_null, TRAPS);
  92 
  93  public:
  94   // Casting from Klass*




  55   static inline Klass* create_klass(BasicType type, int scale, TRAPS) {
  56     TypeArrayKlass* tak = create_klass(type, external_name(type), CHECK_NULL);
  57     assert(scale == (1 << tak->log2_element_size()), "scale must check out");
  58     return tak;
  59   }
  60 
  61   int oop_size(oop obj) const;
  62 
  63   bool compute_is_subtype_of(Klass* k);
  64 
  65   // Allocation
  66   typeArrayOop allocate_common(int length, bool do_zero, TRAPS);
  67   typeArrayOop allocate(int length, TRAPS) { return allocate_common(length, true, THREAD); }
  68   oop multi_allocate(int rank, jint* sizes, TRAPS);
  69 
  70   oop protection_domain() const { return NULL; }
  71 
  72   // Copying
  73   void  copy_array(arrayOop s, int src_pos, arrayOop d, int dst_pos, int length, TRAPS);
  74 
  75   int get_linear_oop_intervals(oop obj, OopInterval* &start, int &size);
  76 
  77   // Iteration
  78   int oop_oop_iterate(oop obj, ExtendedOopClosure* blk);
  79   int oop_oop_iterate_m(oop obj, ExtendedOopClosure* blk, MemRegion mr);
  80 
  81   // Garbage collection
  82   void oop_follow_contents(oop obj);
  83   int  oop_adjust_pointers(oop obj);
  84 
  85   // Parallel Scavenge and Parallel Old
  86   PARALLEL_GC_DECLS
  87 
  88  protected:
  89   // Find n'th dimensional array
  90   virtual Klass* array_klass_impl(bool or_null, int n, TRAPS);
  91 
  92   // Returns the array class with this class as element type
  93   virtual Klass* array_klass_impl(bool or_null, TRAPS);
  94 
  95  public:
  96   // Casting from Klass*


< prev index next >