|
53 | 53 | #include "gc/z/zBarrierSetRuntime.hpp" |
54 | 54 | #include "gc/z/zThreadLocalData.hpp" |
55 | 55 | #endif |
| 56 | +#if INCLUDE_SHENANDOAHGC |
| 57 | +#include "gc/shenandoah/shenandoahRuntime.hpp" |
| 58 | +#include "gc/shenandoah/shenandoahThreadLocalData.hpp" |
| 59 | +#endif |
56 | 60 |
|
57 | 61 | #define VM_STRUCTS(nonstatic_field, static_field, unchecked_nonstatic_field, volatile_nonstatic_field) \ |
58 | 62 | static_field(CompilerToVM::Data, oopDesc_klass_offset_in_bytes, int) \ |
|
129 | 133 | static_field(CompilerToVM::Data, sizeof_arrayOopDesc, int) \ |
130 | 134 | static_field(CompilerToVM::Data, sizeof_BasicLock, int) \ |
131 | 135 | ZGC_ONLY(static_field(CompilerToVM::Data, sizeof_ZStoreBarrierEntry, int)) \ |
| 136 | + SHENANDOAHGC_ONLY(static_field(CompilerToVM::Data, shenandoah_in_cset_fast_test_addr, address)) \ |
| 137 | + SHENANDOAHGC_ONLY(static_field(CompilerToVM::Data, shenandoah_region_size_bytes_shift,int)) \ |
132 | 138 | \ |
133 | 139 | static_field(CompilerToVM::Data, dsin, address) \ |
134 | 140 | static_field(CompilerToVM::Data, dcos, address) \ |
|
895 | 901 | declare_function(JVMCIRuntime::load_and_clear_exception) \ |
896 | 902 | G1GC_ONLY(declare_function(JVMCIRuntime::write_barrier_pre)) \ |
897 | 903 | G1GC_ONLY(declare_function(JVMCIRuntime::write_barrier_post)) \ |
| 904 | + SHENANDOAHGC_ONLY(declare_function(ShenandoahRuntime::load_reference_barrier_strong)) \ |
| 905 | + SHENANDOAHGC_ONLY(declare_function(ShenandoahRuntime::load_reference_barrier_strong_narrow)) \ |
| 906 | + SHENANDOAHGC_ONLY(declare_function(ShenandoahRuntime::load_reference_barrier_weak)) \ |
| 907 | + SHENANDOAHGC_ONLY(declare_function(ShenandoahRuntime::load_reference_barrier_weak_narrow)) \ |
| 908 | + SHENANDOAHGC_ONLY(declare_function(ShenandoahRuntime::load_reference_barrier_phantom)) \ |
| 909 | + SHENANDOAHGC_ONLY(declare_function(ShenandoahRuntime::load_reference_barrier_phantom_narrow)) \ |
| 910 | + SHENANDOAHGC_ONLY(declare_function(ShenandoahRuntime::write_barrier_pre)) \ |
898 | 911 | declare_function(JVMCIRuntime::validate_object) \ |
899 | 912 | \ |
900 | 913 | declare_function(JVMCIRuntime::test_deoptimize_call_int) |
|
941 | 954 |
|
942 | 955 | #endif // INCLUDE_ZGC |
943 | 956 |
|
| 957 | +#if INCLUDE_SHENANDOAHGC |
| 958 | + |
| 959 | +#define VM_INT_CONSTANTS_JVMCI_SHENANDOAH(declare_constant, declare_constant_with_value, declare_preprocessor_constant) \ |
| 960 | + declare_constant_with_value("ShenandoahThreadLocalData::gc_state_offset", in_bytes(ShenandoahThreadLocalData::gc_state_offset())) \ |
| 961 | + declare_constant_with_value("ShenandoahThreadLocalData::satb_mark_queue_index_offset", in_bytes(ShenandoahThreadLocalData::satb_mark_queue_index_offset())) \ |
| 962 | + declare_constant_with_value("ShenandoahThreadLocalData::satb_mark_queue_buffer_offset", in_bytes(ShenandoahThreadLocalData::satb_mark_queue_buffer_offset())) \ |
| 963 | + declare_constant_with_value("ShenandoahThreadLocalData::card_table_offset", in_bytes(ShenandoahThreadLocalData::card_table_offset())) \ |
| 964 | + |
| 965 | +#endif |
944 | 966 |
|
945 | 967 | #ifdef LINUX |
946 | 968 |
|
@@ -1063,6 +1085,11 @@ VMIntConstantEntry JVMCIVMStructs::localHotSpotVMIntConstants[] = { |
1063 | 1085 | GENERATE_VM_INT_CONSTANT_WITH_VALUE_ENTRY, |
1064 | 1086 | GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY) |
1065 | 1087 | #endif |
| 1088 | +#if INCLUDE_SHENANDOAHGC |
| 1089 | + VM_INT_CONSTANTS_JVMCI_SHENANDOAH(GENERATE_VM_INT_CONSTANT_ENTRY, |
| 1090 | + GENERATE_VM_INT_CONSTANT_WITH_VALUE_ENTRY, |
| 1091 | + GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY) |
| 1092 | +#endif |
1066 | 1093 | #ifdef VM_INT_CPU_FEATURE_CONSTANTS |
1067 | 1094 | VM_INT_CPU_FEATURE_CONSTANTS |
1068 | 1095 | #endif |
|
0 commit comments