< prev index next >

src/hotspot/cpu/riscv/stubRoutines_riscv.hpp

Print this page

31 // definition. See stubRoutines.hpp for a description on how to
32 // extend it.
33 
34 static bool returns_to_call_stub(address return_pc) {
35   return return_pc == _call_stub_return_address;
36 }
37 
38 // emit enum used to size per-blob code buffers
39 
40 #define DEFINE_BLOB_SIZE(blob_name, size) \
41   _ ## blob_name ## _code_size = size,
42 
43 enum platform_dependent_constants {
44   STUBGEN_ARCH_BLOBS_DO(DEFINE_BLOB_SIZE)
45 };
46 
47 #undef DEFINE_BLOB_SIZE
48 
49 class riscv {
50  friend class StubGenerator;

51 #if INCLUDE_JVMCI
52   friend class JVMCIVMStructs;
53 #endif
54 
55   // declare fields for arch-specific entries
56 
57 #define DECLARE_ARCH_ENTRY(arch, blob_name, stub_name, field_name, getter_name) \
58   static address STUB_FIELD_NAME(field_name) ;
59 
60 #define DECLARE_ARCH_ENTRY_INIT(arch, blob_name, stub_name, field_name, getter_name, init_function) \
61   DECLARE_ARCH_ENTRY(arch, blob_name, stub_name, field_name, getter_name)
62 
63 private:
64   STUBGEN_ARCH_ENTRIES_DO(DECLARE_ARCH_ENTRY, DECLARE_ARCH_ENTRY_INIT)
65 
66 #undef DECLARE_ARCH_ENTRY_INIT
67 #undef DECLARE_ARCH_ENTRY
68 
69   static bool _completed;
70 

31 // definition. See stubRoutines.hpp for a description on how to
32 // extend it.
33 
34 static bool returns_to_call_stub(address return_pc) {
35   return return_pc == _call_stub_return_address;
36 }
37 
38 // emit enum used to size per-blob code buffers
39 
40 #define DEFINE_BLOB_SIZE(blob_name, size) \
41   _ ## blob_name ## _code_size = size,
42 
43 enum platform_dependent_constants {
44   STUBGEN_ARCH_BLOBS_DO(DEFINE_BLOB_SIZE)
45 };
46 
47 #undef DEFINE_BLOB_SIZE
48 
49 class riscv {
50  friend class StubGenerator;
51  friend class StubRoutines;
52 #if INCLUDE_JVMCI
53   friend class JVMCIVMStructs;
54 #endif
55 
56   // declare fields for arch-specific entries
57 
58 #define DECLARE_ARCH_ENTRY(arch, blob_name, stub_name, field_name, getter_name) \
59   static address STUB_FIELD_NAME(field_name) ;
60 
61 #define DECLARE_ARCH_ENTRY_INIT(arch, blob_name, stub_name, field_name, getter_name, init_function) \
62   DECLARE_ARCH_ENTRY(arch, blob_name, stub_name, field_name, getter_name)
63 
64 private:
65   STUBGEN_ARCH_ENTRIES_DO(DECLARE_ARCH_ENTRY, DECLARE_ARCH_ENTRY_INIT)
66 
67 #undef DECLARE_ARCH_ENTRY_INIT
68 #undef DECLARE_ARCH_ENTRY
69 
70   static bool _completed;
71 
< prev index next >