118 } 119 120 void do_ptr(void** p) { 121 _dump_region->append_intptr_t((intptr_t)*p, true); 122 } 123 124 void do_u4(u4* p) { 125 _dump_region->append_intptr_t((intptr_t)(*p)); 126 } 127 128 void do_bool(bool *p) { 129 _dump_region->append_intptr_t((intptr_t)(*p)); 130 } 131 132 void do_tag(int tag) { 133 _dump_region->append_intptr_t((intptr_t)tag); 134 } 135 136 void do_oop(oop* o); 137 138 void do_mirror_oop(oop* o) { do_oop(o); } 139 140 void do_region(u_char* start, size_t size); 141 142 bool reading() const { return false; } 143 }; 144 145 // Closure for serializing initialization data in from a data area 146 // (ptr_array) read from the shared file. 147 148 class ReadClosure : public SerializeClosure { 149 private: 150 intptr_t** _ptr_array; 151 152 inline intptr_t nextPtr() { 153 return *(*_ptr_array)++; 154 } 155 156 public: 157 ReadClosure(intptr_t** ptr_array) { _ptr_array = ptr_array; } 158 159 void do_ptr(void** p); 160 161 void do_u4(u4* p); 162 163 void do_bool(bool *p); 164 165 void do_tag(int tag); 166 167 void do_oop(oop *p); 168 169 void do_mirror_oop(oop* o); 170 171 void do_region(u_char* start, size_t size); 172 173 bool reading() const { return true; } 174 }; 175 176 #endif // INCLUDE_CDS 177 178 // Class Data Sharing Support 179 class MetaspaceShared : AllStatic { 180 181 // CDS support 182 static ReservedSpace _shared_rs; 183 static VirtualSpace _shared_vs; 184 static int _max_alignment; 185 static MetaspaceSharedStats _stats; 186 static bool _has_error_classes; 187 static bool _archive_loading_failed; 188 static bool _remapped_readwrite; 189 static address _i2i_entry_code_buffers; | 118 } 119 120 void do_ptr(void** p) { 121 _dump_region->append_intptr_t((intptr_t)*p, true); 122 } 123 124 void do_u4(u4* p) { 125 _dump_region->append_intptr_t((intptr_t)(*p)); 126 } 127 128 void do_bool(bool *p) { 129 _dump_region->append_intptr_t((intptr_t)(*p)); 130 } 131 132 void do_tag(int tag) { 133 _dump_region->append_intptr_t((intptr_t)tag); 134 } 135 136 void do_oop(oop* o); 137 138 void do_region(u_char* start, size_t size); 139 140 bool reading() const { return false; } 141 }; 142 143 // Closure for serializing initialization data in from a data area 144 // (ptr_array) read from the shared file. 145 146 class ReadClosure : public SerializeClosure { 147 private: 148 intptr_t** _ptr_array; 149 150 inline intptr_t nextPtr() { 151 return *(*_ptr_array)++; 152 } 153 154 public: 155 ReadClosure(intptr_t** ptr_array) { _ptr_array = ptr_array; } 156 157 void do_ptr(void** p); 158 159 void do_u4(u4* p); 160 161 void do_bool(bool *p); 162 163 void do_tag(int tag); 164 165 void do_oop(oop *p); 166 167 void do_region(u_char* start, size_t size); 168 169 bool reading() const { return true; } 170 }; 171 172 #endif // INCLUDE_CDS 173 174 // Class Data Sharing Support 175 class MetaspaceShared : AllStatic { 176 177 // CDS support 178 static ReservedSpace _shared_rs; 179 static VirtualSpace _shared_vs; 180 static int _max_alignment; 181 static MetaspaceSharedStats _stats; 182 static bool _has_error_classes; 183 static bool _archive_loading_failed; 184 static bool _remapped_readwrite; 185 static address _i2i_entry_code_buffers; |