src/share/vm/oops/typeArrayKlass.hpp
Print this page
rev 6796 : [mq]: templateOopIterate
rev 6799 : [mq]: latestChanges
@@ -38,11 +38,11 @@
// Constructor
TypeArrayKlass(BasicType type, Symbol* name);
static TypeArrayKlass* allocate(ClassLoaderData* loader_data, BasicType type, Symbol* name, TRAPS);
public:
- TypeArrayKlass() {} // For dummy objects.
+ TypeArrayKlass() : ArrayKlass(_type_array) {} // For dummy objects.
// instance variables
jint max_length() { return _max_length; }
void set_max_length(jint m) { _max_length = m; }
@@ -71,12 +71,18 @@
// Copying
void copy_array(arrayOop s, int src_pos, arrayOop d, int dst_pos, int length, TRAPS);
// Iteration
- int oop_oop_iterate(oop obj, ExtendedOopClosure* blk);
- int oop_oop_iterate_m(oop obj, ExtendedOopClosure* blk, MemRegion mr);
+ template <bool nv, typename OopClosureType>
+ int oop_oop_iterate(oop obj, OopClosureType* blk);
+
+ template <bool nv, typename OopClosureType>
+ int oop_oop_iterate_m(oop obj, OopClosureType* blk, MemRegion mr);
+
+ template <bool nv, typename OopClosureType>
+ int oop_oop_iterate_backwards(oop obj, OopClosureType* blk);
// Garbage collection
void oop_follow_contents(oop obj);
int oop_adjust_pointers(oop obj);