equal
deleted
inserted
replaced
37 |
37 |
38 // If compressed klass pointers then use narrowKlass. |
38 // If compressed klass pointers then use narrowKlass. |
39 typedef juint narrowKlass; |
39 typedef juint narrowKlass; |
40 |
40 |
41 typedef void* OopOrNarrowOopStar; |
41 typedef void* OopOrNarrowOopStar; |
42 typedef class markOopDesc* markOop; |
|
43 |
42 |
44 #ifndef CHECK_UNHANDLED_OOPS |
43 #ifndef CHECK_UNHANDLED_OOPS |
45 |
44 |
46 typedef class oopDesc* oop; |
45 typedef class oopDesc* oop; |
47 typedef class instanceOopDesc* instanceOop; |
46 typedef class instanceOopDesc* instanceOop; |
48 typedef class arrayOopDesc* arrayOop; |
47 typedef class arrayOopDesc* arrayOop; |
49 typedef class objArrayOopDesc* objArrayOop; |
48 typedef class objArrayOopDesc* objArrayOop; |
50 typedef class typeArrayOopDesc* typeArrayOop; |
49 typedef class typeArrayOopDesc* typeArrayOop; |
51 |
50 |
52 #else |
51 #else |
53 |
52 |
54 // When CHECK_UNHANDLED_OOPS is defined, an "oop" is a class with a |
53 // When CHECK_UNHANDLED_OOPS is defined, an "oop" is a class with a |
55 // carefully chosen set of constructors and conversion operators to go |
54 // carefully chosen set of constructors and conversion operators to go |
80 oopDesc* _o; |
79 oopDesc* _o; |
81 |
80 |
82 void register_oop(); |
81 void register_oop(); |
83 void unregister_oop(); |
82 void unregister_oop(); |
84 |
83 |
85 // friend class markOop; |
|
86 public: |
84 public: |
87 void set_obj(const void* p) { |
85 void set_obj(const void* p) { |
88 raw_set_obj(p); |
86 raw_set_obj(p); |
89 if (CheckUnhandledOops) register_oop(); |
87 if (CheckUnhandledOops) register_oop(); |
90 } |
88 } |
119 #endif |
117 #endif |
120 operator HeapWord* () const { return (HeapWord*)obj(); } |
118 operator HeapWord* () const { return (HeapWord*)obj(); } |
121 operator oopDesc* () const volatile { return obj(); } |
119 operator oopDesc* () const volatile { return obj(); } |
122 operator intptr_t* () const { return (intptr_t*)obj(); } |
120 operator intptr_t* () const { return (intptr_t*)obj(); } |
123 operator PromotedObject* () const { return (PromotedObject*)obj(); } |
121 operator PromotedObject* () const { return (PromotedObject*)obj(); } |
124 operator markOop () const volatile { return markOop(obj()); } |
|
125 operator address () const { return (address)obj(); } |
122 operator address () const { return (address)obj(); } |
126 |
123 |
127 // from javaCalls.cpp |
124 // from javaCalls.cpp |
128 operator jobject () const { return (jobject)obj(); } |
125 operator jobject () const { return (jobject)obj(); } |
129 |
126 |