< prev index next >

src/share/vm/aot/aotCodeHeap.cpp

Print this page
rev 12854 : [mq]: gcinterface.patch


 510     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_stub_routines_vectorizedMismatch", address, StubRoutines::_vectorizedMismatch);
 511 
 512     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_stub_routines_throw_delayed_StackOverflowError_entry", address, StubRoutines::_throw_delayed_StackOverflowError_entry);
 513 
 514 }
 515 
 516 void AOTCodeHeap::link_os_symbols() {
 517     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_os_javaTimeMillis", address, os::javaTimeMillis);
 518     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_os_javaTimeNanos", address, os::javaTimeNanos);
 519 }
 520 
 521 /*
 522  * Link any global symbols in precompiled DSO with dlopen() _dl_handle
 523  * dso_handle.
 524  */
 525 
 526 void AOTCodeHeap::link_global_lib_symbols() {
 527   if (!_lib_symbols_initialized) {
 528     _lib_symbols_initialized = true;
 529 
 530     CollectedHeap* heap = Universe::heap();
 531     CardTableModRefBS* ct = (CardTableModRefBS*)(heap->barrier_set());
 532     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_card_table_address", address, ct->byte_map_base);
 533     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_heap_top_address", address, (heap->supports_inline_contig_alloc() ? heap->top_addr() : NULL));
 534     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_heap_end_address", address, (heap->supports_inline_contig_alloc() ? heap->end_addr() : NULL));
 535     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_polling_page", address, os::get_polling_page());
 536     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_narrow_klass_base_address", address, Universe::narrow_klass_base());
 537     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_narrow_oop_base_address", address, Universe::narrow_oop_base());
 538     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_log_of_heap_region_grain_bytes", int, HeapRegion::LogOfHRGrainBytes);
 539     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_inline_contiguous_allocation_supported", bool, heap->supports_inline_contig_alloc());
 540     link_shared_runtime_symbols();
 541     link_stub_routines_symbols();
 542     link_os_symbols();
 543     link_graal_runtime_symbols();
 544 
 545     // Link primitive array klasses.
 546     link_primitive_array_klasses();
 547   }
 548 }
 549 
 550 #ifndef PRODUCT




 510     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_stub_routines_vectorizedMismatch", address, StubRoutines::_vectorizedMismatch);
 511 
 512     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_stub_routines_throw_delayed_StackOverflowError_entry", address, StubRoutines::_throw_delayed_StackOverflowError_entry);
 513 
 514 }
 515 
 516 void AOTCodeHeap::link_os_symbols() {
 517     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_os_javaTimeMillis", address, os::javaTimeMillis);
 518     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_os_javaTimeNanos", address, os::javaTimeNanos);
 519 }
 520 
 521 /*
 522  * Link any global symbols in precompiled DSO with dlopen() _dl_handle
 523  * dso_handle.
 524  */
 525 
 526 void AOTCodeHeap::link_global_lib_symbols() {
 527   if (!_lib_symbols_initialized) {
 528     _lib_symbols_initialized = true;
 529 
 530     CollectedHeap* heap = GC::gc()->heap();
 531     CardTableModRefBS* ct = (CardTableModRefBS*)(heap->barrier_set());
 532     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_card_table_address", address, ct->byte_map_base);
 533     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_heap_top_address", address, (heap->supports_inline_contig_alloc() ? heap->top_addr() : NULL));
 534     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_heap_end_address", address, (heap->supports_inline_contig_alloc() ? heap->end_addr() : NULL));
 535     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_polling_page", address, os::get_polling_page());
 536     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_narrow_klass_base_address", address, Universe::narrow_klass_base());
 537     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_narrow_oop_base_address", address, Universe::narrow_oop_base());
 538     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_log_of_heap_region_grain_bytes", int, HeapRegion::LogOfHRGrainBytes);
 539     SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_inline_contiguous_allocation_supported", bool, heap->supports_inline_contig_alloc());
 540     link_shared_runtime_symbols();
 541     link_stub_routines_symbols();
 542     link_os_symbols();
 543     link_graal_runtime_symbols();
 544 
 545     // Link primitive array klasses.
 546     link_primitive_array_klasses();
 547   }
 548 }
 549 
 550 #ifndef PRODUCT


< prev index next >