// needs to match StubLocations in Java code. // placeholder locations to be filled in by // the code gen code class StubLocations { public: enum Location : uint32_t {
TARGET_ADDRESS,
RETURN_BUFFER,
CAPTURED_STATE_BUFFER,
LOCATION_LIMIT
}; private:
VMStorage _locs[LOCATION_LIMIT]; public:
StubLocations();
class JavaCallingConvention : public CallingConventionClosure { public: int calling_convention(const BasicType* sig_bt, VMStorage* regs, int num_args) const override;
};
class NativeCallingConvention : public CallingConventionClosure {
GrowableArray<VMStorage> _input_regs; public:
NativeCallingConvention(const GrowableArray<VMStorage>& input_regs)
: _input_regs(input_regs) {}
int calling_convention(const BasicType* sig_bt, VMStorage* out_regs, int num_args) constoverride;
};
class RegSpiller {
GrowableArray<VMStorage> _regs; int _spill_size_bytes; public:
RegSpiller(const GrowableArray<VMStorage>& regs) : _regs(regs), _spill_size_bytes(compute_spill_area(regs)) {
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.