23 */
24
25 #include "precompiled.hpp"
26 #include "code/codeBlob.hpp"
27 #include "compiler/abstractCompiler.hpp"
28 #include "compiler/compileBroker.hpp"
29 #include "jvmci/jvmciCodeInstaller.hpp"
30 #include "jvmci/jvmciCompilerToVM.hpp"
31 #include "jvmci/jvmciEnv.hpp"
32 #include "jvmci/jvmciRuntime.hpp"
33 #include "jvmci/vmStructs_compiler_runtime.hpp"
34 #include "jvmci/vmStructs_jvmci.hpp"
35 #include "oops/oop.hpp"
36 #include "oops/objArrayKlass.hpp"
37 #include "runtime/globals.hpp"
38 #include "runtime/sharedRuntime.hpp"
39 #include "runtime/thread.hpp"
40 #include "runtime/vm_version.hpp"
41
42 #if INCLUDE_ALL_GCS
43 #include "gc/g1/g1SATBCardTableModRefBS.hpp"
44 #include "gc/g1/heapRegion.hpp"
45 #endif
46
47 #define VM_STRUCTS(nonstatic_field, static_field, unchecked_nonstatic_field, volatile_nonstatic_field) \
48 static_field(CompilerToVM::Data, Klass_vtable_start_offset, int) \
49 static_field(CompilerToVM::Data, Klass_vtable_length_offset, int) \
50 \
51 static_field(CompilerToVM::Data, Method_extra_stack_entries, int) \
52 \
53 static_field(CompilerToVM::Data, SharedRuntime_ic_miss_stub, address) \
54 static_field(CompilerToVM::Data, SharedRuntime_handle_wrong_method_stub, address) \
55 static_field(CompilerToVM::Data, SharedRuntime_deopt_blob_unpack, address) \
56 static_field(CompilerToVM::Data, SharedRuntime_deopt_blob_uncommon_trap, address) \
57 \
58 static_field(CompilerToVM::Data, ThreadLocalAllocBuffer_alignment_reserve, size_t) \
59 \
60 static_field(CompilerToVM::Data, Universe_collectedHeap, CollectedHeap*) \
61 static_field(CompilerToVM::Data, Universe_base_vtable_size, int) \
62 static_field(CompilerToVM::Data, Universe_narrow_oop_base, address) \
63 static_field(CompilerToVM::Data, Universe_narrow_oop_shift, int) \
403 declare_constant(JVM_CONSTANT_InvokeDynamic) \
404 declare_constant(JVM_CONSTANT_ExternalMax) \
405 \
406 declare_constant(JVM_CONSTANT_Invalid) \
407 declare_constant(JVM_CONSTANT_InternalMin) \
408 declare_constant(JVM_CONSTANT_UnresolvedClass) \
409 declare_constant(JVM_CONSTANT_ClassIndex) \
410 declare_constant(JVM_CONSTANT_StringIndex) \
411 declare_constant(JVM_CONSTANT_UnresolvedClassInError) \
412 declare_constant(JVM_CONSTANT_MethodHandleInError) \
413 declare_constant(JVM_CONSTANT_MethodTypeInError) \
414 declare_constant(JVM_CONSTANT_InternalMax) \
415 \
416 declare_constant(ArrayData::array_len_off_set) \
417 declare_constant(ArrayData::array_start_off_set) \
418 \
419 declare_constant(BitData::exception_seen_flag) \
420 declare_constant(BitData::null_seen_flag) \
421 declare_constant(BranchData::not_taken_off_set) \
422 \
423 declare_constant_with_value("CardTableModRefBS::dirty_card", CardTableModRefBS::dirty_card_val()) \
424 \
425 declare_constant(CodeInstaller::VERIFIED_ENTRY) \
426 declare_constant(CodeInstaller::UNVERIFIED_ENTRY) \
427 declare_constant(CodeInstaller::OSR_ENTRY) \
428 declare_constant(CodeInstaller::EXCEPTION_HANDLER_ENTRY) \
429 declare_constant(CodeInstaller::DEOPT_HANDLER_ENTRY) \
430 declare_constant(CodeInstaller::INVOKEINTERFACE) \
431 declare_constant(CodeInstaller::INVOKEVIRTUAL) \
432 declare_constant(CodeInstaller::INVOKESTATIC) \
433 declare_constant(CodeInstaller::INVOKESPECIAL) \
434 declare_constant(CodeInstaller::INLINE_INVOKE) \
435 declare_constant(CodeInstaller::POLL_NEAR) \
436 declare_constant(CodeInstaller::POLL_RETURN_NEAR) \
437 declare_constant(CodeInstaller::POLL_FAR) \
438 declare_constant(CodeInstaller::POLL_RETURN_FAR) \
439 declare_constant(CodeInstaller::CARD_TABLE_SHIFT) \
440 declare_constant(CodeInstaller::CARD_TABLE_ADDRESS) \
441 declare_constant(CodeInstaller::HEAP_TOP_ADDRESS) \
442 declare_constant(CodeInstaller::HEAP_END_ADDRESS) \
443 declare_constant(CodeInstaller::NARROW_KLASS_BASE_ADDRESS) \
628 declare_function(JVMCIRuntime::throw_klass_external_name_exception) \
629 declare_function(JVMCIRuntime::throw_class_cast_exception) \
630 declare_function(JVMCIRuntime::log_primitive) \
631 declare_function(JVMCIRuntime::log_object) \
632 declare_function(JVMCIRuntime::log_printf) \
633 declare_function(JVMCIRuntime::vm_error) \
634 declare_function(JVMCIRuntime::load_and_clear_exception) \
635 declare_function(JVMCIRuntime::write_barrier_pre) \
636 declare_function(JVMCIRuntime::write_barrier_post) \
637 declare_function(JVMCIRuntime::validate_object) \
638 \
639 declare_function(JVMCIRuntime::test_deoptimize_call_int)
640
641
642 #if INCLUDE_ALL_GCS
643
644 #define VM_STRUCTS_G1(nonstatic_field, static_field) \
645 static_field(HeapRegion, LogOfHRGrainBytes, int)
646
647 #define VM_INT_CONSTANTS_G1(declare_constant, declare_constant_with_value, declare_preprocessor_constant) \
648 declare_constant_with_value("G1SATBCardTableModRefBS::g1_young_gen", G1SATBCardTableModRefBS::g1_young_card_val())
649
650 #endif // INCLUDE_ALL_GCS
651
652
653 #ifdef LINUX
654
655 #define VM_ADDRESSES_OS(declare_address, declare_preprocessor_address, declare_function) \
656 declare_preprocessor_address("RTLD_DEFAULT", RTLD_DEFAULT)
657
658 #endif
659
660
661 #ifdef BSD
662
663 #define VM_ADDRESSES_OS(declare_address, declare_preprocessor_address, declare_function) \
664 declare_preprocessor_address("RTLD_DEFAULT", RTLD_DEFAULT)
665
666 #endif
667
668 // AARCH64 is defined in closed port, too. TARGET_ARCH_aarch64 is not.
|
23 */
24
25 #include "precompiled.hpp"
26 #include "code/codeBlob.hpp"
27 #include "compiler/abstractCompiler.hpp"
28 #include "compiler/compileBroker.hpp"
29 #include "jvmci/jvmciCodeInstaller.hpp"
30 #include "jvmci/jvmciCompilerToVM.hpp"
31 #include "jvmci/jvmciEnv.hpp"
32 #include "jvmci/jvmciRuntime.hpp"
33 #include "jvmci/vmStructs_compiler_runtime.hpp"
34 #include "jvmci/vmStructs_jvmci.hpp"
35 #include "oops/oop.hpp"
36 #include "oops/objArrayKlass.hpp"
37 #include "runtime/globals.hpp"
38 #include "runtime/sharedRuntime.hpp"
39 #include "runtime/thread.hpp"
40 #include "runtime/vm_version.hpp"
41
42 #if INCLUDE_ALL_GCS
43 #include "gc/g1/g1BarrierSet.hpp"
44 #include "gc/g1/g1CardTable.hpp"
45 #include "gc/g1/heapRegion.hpp"
46 #endif
47
48 #define VM_STRUCTS(nonstatic_field, static_field, unchecked_nonstatic_field, volatile_nonstatic_field) \
49 static_field(CompilerToVM::Data, Klass_vtable_start_offset, int) \
50 static_field(CompilerToVM::Data, Klass_vtable_length_offset, int) \
51 \
52 static_field(CompilerToVM::Data, Method_extra_stack_entries, int) \
53 \
54 static_field(CompilerToVM::Data, SharedRuntime_ic_miss_stub, address) \
55 static_field(CompilerToVM::Data, SharedRuntime_handle_wrong_method_stub, address) \
56 static_field(CompilerToVM::Data, SharedRuntime_deopt_blob_unpack, address) \
57 static_field(CompilerToVM::Data, SharedRuntime_deopt_blob_uncommon_trap, address) \
58 \
59 static_field(CompilerToVM::Data, ThreadLocalAllocBuffer_alignment_reserve, size_t) \
60 \
61 static_field(CompilerToVM::Data, Universe_collectedHeap, CollectedHeap*) \
62 static_field(CompilerToVM::Data, Universe_base_vtable_size, int) \
63 static_field(CompilerToVM::Data, Universe_narrow_oop_base, address) \
64 static_field(CompilerToVM::Data, Universe_narrow_oop_shift, int) \
404 declare_constant(JVM_CONSTANT_InvokeDynamic) \
405 declare_constant(JVM_CONSTANT_ExternalMax) \
406 \
407 declare_constant(JVM_CONSTANT_Invalid) \
408 declare_constant(JVM_CONSTANT_InternalMin) \
409 declare_constant(JVM_CONSTANT_UnresolvedClass) \
410 declare_constant(JVM_CONSTANT_ClassIndex) \
411 declare_constant(JVM_CONSTANT_StringIndex) \
412 declare_constant(JVM_CONSTANT_UnresolvedClassInError) \
413 declare_constant(JVM_CONSTANT_MethodHandleInError) \
414 declare_constant(JVM_CONSTANT_MethodTypeInError) \
415 declare_constant(JVM_CONSTANT_InternalMax) \
416 \
417 declare_constant(ArrayData::array_len_off_set) \
418 declare_constant(ArrayData::array_start_off_set) \
419 \
420 declare_constant(BitData::exception_seen_flag) \
421 declare_constant(BitData::null_seen_flag) \
422 declare_constant(BranchData::not_taken_off_set) \
423 \
424 declare_constant_with_value("CardTable::dirty_card", CardTable::dirty_card_val()) \
425 \
426 declare_constant(CodeInstaller::VERIFIED_ENTRY) \
427 declare_constant(CodeInstaller::UNVERIFIED_ENTRY) \
428 declare_constant(CodeInstaller::OSR_ENTRY) \
429 declare_constant(CodeInstaller::EXCEPTION_HANDLER_ENTRY) \
430 declare_constant(CodeInstaller::DEOPT_HANDLER_ENTRY) \
431 declare_constant(CodeInstaller::INVOKEINTERFACE) \
432 declare_constant(CodeInstaller::INVOKEVIRTUAL) \
433 declare_constant(CodeInstaller::INVOKESTATIC) \
434 declare_constant(CodeInstaller::INVOKESPECIAL) \
435 declare_constant(CodeInstaller::INLINE_INVOKE) \
436 declare_constant(CodeInstaller::POLL_NEAR) \
437 declare_constant(CodeInstaller::POLL_RETURN_NEAR) \
438 declare_constant(CodeInstaller::POLL_FAR) \
439 declare_constant(CodeInstaller::POLL_RETURN_FAR) \
440 declare_constant(CodeInstaller::CARD_TABLE_SHIFT) \
441 declare_constant(CodeInstaller::CARD_TABLE_ADDRESS) \
442 declare_constant(CodeInstaller::HEAP_TOP_ADDRESS) \
443 declare_constant(CodeInstaller::HEAP_END_ADDRESS) \
444 declare_constant(CodeInstaller::NARROW_KLASS_BASE_ADDRESS) \
629 declare_function(JVMCIRuntime::throw_klass_external_name_exception) \
630 declare_function(JVMCIRuntime::throw_class_cast_exception) \
631 declare_function(JVMCIRuntime::log_primitive) \
632 declare_function(JVMCIRuntime::log_object) \
633 declare_function(JVMCIRuntime::log_printf) \
634 declare_function(JVMCIRuntime::vm_error) \
635 declare_function(JVMCIRuntime::load_and_clear_exception) \
636 declare_function(JVMCIRuntime::write_barrier_pre) \
637 declare_function(JVMCIRuntime::write_barrier_post) \
638 declare_function(JVMCIRuntime::validate_object) \
639 \
640 declare_function(JVMCIRuntime::test_deoptimize_call_int)
641
642
643 #if INCLUDE_ALL_GCS
644
645 #define VM_STRUCTS_G1(nonstatic_field, static_field) \
646 static_field(HeapRegion, LogOfHRGrainBytes, int)
647
648 #define VM_INT_CONSTANTS_G1(declare_constant, declare_constant_with_value, declare_preprocessor_constant) \
649 declare_constant_with_value("G1CardTable::g1_young_gen", G1CardTable::g1_young_card_val())
650
651 #endif // INCLUDE_ALL_GCS
652
653
654 #ifdef LINUX
655
656 #define VM_ADDRESSES_OS(declare_address, declare_preprocessor_address, declare_function) \
657 declare_preprocessor_address("RTLD_DEFAULT", RTLD_DEFAULT)
658
659 #endif
660
661
662 #ifdef BSD
663
664 #define VM_ADDRESSES_OS(declare_address, declare_preprocessor_address, declare_function) \
665 declare_preprocessor_address("RTLD_DEFAULT", RTLD_DEFAULT)
666
667 #endif
668
669 // AARCH64 is defined in closed port, too. TARGET_ARCH_aarch64 is not.
|