69 _safepoint_offset(safepoint_offset) {}
70 int max_size() const;
71 void emit(C2_MacroAssembler& masm);
72 };
73
74 // We move non-hot code of the nmethod entry barrier to an out-of-line stub
75 class C2EntryBarrierStub: public C2CodeStub {
76 private:
77 Label _guard; // Used on AArch64 and RISCV
78
79 public:
80 C2EntryBarrierStub() : C2CodeStub(),
81 _guard() {}
82
83 Label& guard() { return _guard; }
84
85 int max_size() const;
86 void emit(C2_MacroAssembler& masm);
87 };
88
89 #endif // SHARE_OPTO_C2_CODESTUBS_HPP
|
69 _safepoint_offset(safepoint_offset) {}
70 int max_size() const;
71 void emit(C2_MacroAssembler& masm);
72 };
73
74 // We move non-hot code of the nmethod entry barrier to an out-of-line stub
75 class C2EntryBarrierStub: public C2CodeStub {
76 private:
77 Label _guard; // Used on AArch64 and RISCV
78
79 public:
80 C2EntryBarrierStub() : C2CodeStub(),
81 _guard() {}
82
83 Label& guard() { return _guard; }
84
85 int max_size() const;
86 void emit(C2_MacroAssembler& masm);
87 };
88
89 class C2CheckLockStackStub : public C2CodeStub {
90 public:
91 C2CheckLockStackStub() : C2CodeStub() {}
92
93 int max_size() const;
94 void emit(C2_MacroAssembler& masm);
95 };
96
97 #ifdef _LP64
98 class C2LoadNKlassStub : public C2CodeStub {
99 private:
100 Register _dst;
101 public:
102 C2LoadNKlassStub(Register dst) : C2CodeStub(), _dst(dst) {}
103 Register dst() { return _dst; }
104 int max_size() const;
105 void emit(C2_MacroAssembler& masm);
106 };
107 #endif
108
109 #endif // SHARE_OPTO_C2_CODESTUBS_HPP
|