160 thread_address_bad_mask_offset = in_bytes(XThreadLocalData::address_bad_mask_offset());
161 ZBarrierSetRuntime_load_barrier_on_oop_field_preloaded = XBarrierSetRuntime::load_barrier_on_oop_field_preloaded_addr();
162 ZBarrierSetRuntime_load_barrier_on_weak_oop_field_preloaded = XBarrierSetRuntime::load_barrier_on_weak_oop_field_preloaded_addr();
163 ZBarrierSetRuntime_load_barrier_on_phantom_oop_field_preloaded = XBarrierSetRuntime::load_barrier_on_phantom_oop_field_preloaded_addr();
164 ZBarrierSetRuntime_weak_load_barrier_on_oop_field_preloaded = XBarrierSetRuntime::weak_load_barrier_on_oop_field_preloaded_addr();
165 ZBarrierSetRuntime_weak_load_barrier_on_weak_oop_field_preloaded = XBarrierSetRuntime::weak_load_barrier_on_weak_oop_field_preloaded_addr();
166 ZBarrierSetRuntime_weak_load_barrier_on_phantom_oop_field_preloaded = XBarrierSetRuntime::weak_load_barrier_on_phantom_oop_field_preloaded_addr();
167 ZBarrierSetRuntime_load_barrier_on_oop_array = XBarrierSetRuntime::load_barrier_on_oop_array_addr();
168 ZBarrierSetRuntime_clone = XBarrierSetRuntime::clone_addr();
169 }
170 #endif
171
172 continuations_enabled = Continuations::enabled();
173
174 ThreadLocalAllocBuffer_alignment_reserve = ThreadLocalAllocBuffer::alignment_reserve();
175
176 Universe_collectedHeap = Universe::heap();
177 Universe_base_vtable_size = Universe::base_vtable_size();
178 Universe_narrow_oop_base = CompressedOops::base();
179 Universe_narrow_oop_shift = CompressedOops::shift();
180 Universe_narrow_klass_base = CompressedKlassPointers::base();
181 Universe_narrow_klass_shift = CompressedKlassPointers::shift();
182 Universe_non_oop_bits = Universe::non_oop_word();
183 Universe_verify_oop_mask = Universe::verify_oop_mask();
184 Universe_verify_oop_bits = Universe::verify_oop_bits();
185
186 _supports_inline_contig_alloc = false;
187 _heap_end_addr = (HeapWord**) -1;
188 _heap_top_addr = (HeapWord* volatile*) -1;
189
190 _max_oop_map_stack_offset = (OopMapValue::register_mask - VMRegImpl::stack2reg(0)->value()) * VMRegImpl::stack_slot_size;
191 int max_oop_map_stack_index = _max_oop_map_stack_offset / VMRegImpl::stack_slot_size;
192 assert(OopMapValue::legal_vm_reg_name(VMRegImpl::stack2reg(max_oop_map_stack_index)), "should be valid");
193 assert(!OopMapValue::legal_vm_reg_name(VMRegImpl::stack2reg(max_oop_map_stack_index + 1)), "should be invalid");
194
195 symbol_init = (address) vmSymbols::object_initializer_name();
196 symbol_clinit = (address) vmSymbols::class_initializer_name();
197
198 _fields_annotations_base_offset = Array<AnnotationArray*>::base_offset_in_bytes();
199
200 data_section_item_alignment = relocInfo::addr_unit();
201
|
160 thread_address_bad_mask_offset = in_bytes(XThreadLocalData::address_bad_mask_offset());
161 ZBarrierSetRuntime_load_barrier_on_oop_field_preloaded = XBarrierSetRuntime::load_barrier_on_oop_field_preloaded_addr();
162 ZBarrierSetRuntime_load_barrier_on_weak_oop_field_preloaded = XBarrierSetRuntime::load_barrier_on_weak_oop_field_preloaded_addr();
163 ZBarrierSetRuntime_load_barrier_on_phantom_oop_field_preloaded = XBarrierSetRuntime::load_barrier_on_phantom_oop_field_preloaded_addr();
164 ZBarrierSetRuntime_weak_load_barrier_on_oop_field_preloaded = XBarrierSetRuntime::weak_load_barrier_on_oop_field_preloaded_addr();
165 ZBarrierSetRuntime_weak_load_barrier_on_weak_oop_field_preloaded = XBarrierSetRuntime::weak_load_barrier_on_weak_oop_field_preloaded_addr();
166 ZBarrierSetRuntime_weak_load_barrier_on_phantom_oop_field_preloaded = XBarrierSetRuntime::weak_load_barrier_on_phantom_oop_field_preloaded_addr();
167 ZBarrierSetRuntime_load_barrier_on_oop_array = XBarrierSetRuntime::load_barrier_on_oop_array_addr();
168 ZBarrierSetRuntime_clone = XBarrierSetRuntime::clone_addr();
169 }
170 #endif
171
172 continuations_enabled = Continuations::enabled();
173
174 ThreadLocalAllocBuffer_alignment_reserve = ThreadLocalAllocBuffer::alignment_reserve();
175
176 Universe_collectedHeap = Universe::heap();
177 Universe_base_vtable_size = Universe::base_vtable_size();
178 Universe_narrow_oop_base = CompressedOops::base();
179 Universe_narrow_oop_shift = CompressedOops::shift();
180 if (UseCompressedClassPointers) {
181 Universe_narrow_klass_base = CompressedKlassPointers::base();
182 Universe_narrow_klass_shift = CompressedKlassPointers::shift();
183 } else {
184 // TODO: Do we need to set these when running without compressed class pointers?
185 Universe_narrow_klass_base = 0;
186 Universe_narrow_klass_shift = 0;
187 }
188 Universe_non_oop_bits = Universe::non_oop_word();
189 Universe_verify_oop_mask = Universe::verify_oop_mask();
190 Universe_verify_oop_bits = Universe::verify_oop_bits();
191
192 _supports_inline_contig_alloc = false;
193 _heap_end_addr = (HeapWord**) -1;
194 _heap_top_addr = (HeapWord* volatile*) -1;
195
196 _max_oop_map_stack_offset = (OopMapValue::register_mask - VMRegImpl::stack2reg(0)->value()) * VMRegImpl::stack_slot_size;
197 int max_oop_map_stack_index = _max_oop_map_stack_offset / VMRegImpl::stack_slot_size;
198 assert(OopMapValue::legal_vm_reg_name(VMRegImpl::stack2reg(max_oop_map_stack_index)), "should be valid");
199 assert(!OopMapValue::legal_vm_reg_name(VMRegImpl::stack2reg(max_oop_map_stack_index + 1)), "should be invalid");
200
201 symbol_init = (address) vmSymbols::object_initializer_name();
202 symbol_clinit = (address) vmSymbols::class_initializer_name();
203
204 _fields_annotations_base_offset = Array<AnnotationArray*>::base_offset_in_bytes();
205
206 data_section_item_alignment = relocInfo::addr_unit();
207
|