23 |
23 |
24 #include "precompiled.hpp" |
24 #include "precompiled.hpp" |
25 |
25 |
26 #include "aot/aotCodeHeap.hpp" |
26 #include "aot/aotCodeHeap.hpp" |
27 #include "aot/aotLoader.hpp" |
27 #include "aot/aotLoader.hpp" |
|
28 #include "ci/ciUtilities.hpp" |
28 #include "classfile/javaAssertions.hpp" |
29 #include "classfile/javaAssertions.hpp" |
|
30 #include "gc/shared/cardTable.hpp" |
|
31 #include "gc/shared/cardTableModRefBS.hpp" |
29 #include "gc/g1/heapRegion.hpp" |
32 #include "gc/g1/heapRegion.hpp" |
30 #include "gc/shared/gcLocker.hpp" |
33 #include "gc/shared/gcLocker.hpp" |
31 #include "interpreter/abstractInterpreter.hpp" |
34 #include "interpreter/abstractInterpreter.hpp" |
32 #include "jvmci/compilerRuntime.hpp" |
35 #include "jvmci/compilerRuntime.hpp" |
33 #include "jvmci/jvmciRuntime.hpp" |
36 #include "jvmci/jvmciRuntime.hpp" |
537 void AOTCodeHeap::link_global_lib_symbols() { |
540 void AOTCodeHeap::link_global_lib_symbols() { |
538 if (!_lib_symbols_initialized) { |
541 if (!_lib_symbols_initialized) { |
539 _lib_symbols_initialized = true; |
542 _lib_symbols_initialized = true; |
540 |
543 |
541 CollectedHeap* heap = Universe::heap(); |
544 CollectedHeap* heap = Universe::heap(); |
542 CardTableModRefBS* ct = (CardTableModRefBS*)(heap->barrier_set()); |
545 SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_card_table_address", address, ci_card_table_address()); |
543 SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_card_table_address", address, ct->byte_map_base); |
|
544 SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_heap_top_address", address, (heap->supports_inline_contig_alloc() ? heap->top_addr() : NULL)); |
546 SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_heap_top_address", address, (heap->supports_inline_contig_alloc() ? heap->top_addr() : NULL)); |
545 SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_heap_end_address", address, (heap->supports_inline_contig_alloc() ? heap->end_addr() : NULL)); |
547 SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_heap_end_address", address, (heap->supports_inline_contig_alloc() ? heap->end_addr() : NULL)); |
546 SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_polling_page", address, os::get_polling_page()); |
548 SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_polling_page", address, os::get_polling_page()); |
547 SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_narrow_klass_base_address", address, Universe::narrow_klass_base()); |
549 SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_narrow_klass_base_address", address, Universe::narrow_klass_base()); |
548 SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_narrow_oop_base_address", address, Universe::narrow_oop_base()); |
550 SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_narrow_oop_base_address", address, Universe::narrow_oop_base()); |