< prev index next > src/hotspot/share/opto/callnode.hpp
Print this page
static void print_regs(const GrowableArray<VMReg>& regs, outputStream* st);
public:
GrowableArray<VMReg> _arg_regs;
GrowableArray<VMReg> _ret_regs;
const int _shadow_space_bytes;
- const bool _need_transition;
CallNativeNode(const TypeFunc* tf, address addr, const char* name,
const TypePtr* adr_type,
const GrowableArray<VMReg>& arg_regs,
const GrowableArray<VMReg>& ret_regs,
! int shadow_space_bytes,
- bool need_transition)
: CallNode(tf, addr, adr_type), _arg_regs(arg_regs),
! _ret_regs(ret_regs), _shadow_space_bytes(shadow_space_bytes),
- _need_transition(need_transition)
{
init_class_id(Class_CallNative);
_name = name;
}
virtual int Opcode() const;
! virtual bool guaranteed_safepoint() { return _need_transition; }
virtual Node* match(const ProjNode *proj, const Matcher *m);
virtual void calling_convention( BasicType* sig_bt, VMRegPair *parm_regs, uint argcnt ) const;
#ifndef PRODUCT
virtual void dump_spec(outputStream *st) const;
#endif
static void print_regs(const GrowableArray<VMReg>& regs, outputStream* st);
public:
GrowableArray<VMReg> _arg_regs;
GrowableArray<VMReg> _ret_regs;
const int _shadow_space_bytes;
CallNativeNode(const TypeFunc* tf, address addr, const char* name,
const TypePtr* adr_type,
const GrowableArray<VMReg>& arg_regs,
const GrowableArray<VMReg>& ret_regs,
! int shadow_space_bytes)
: CallNode(tf, addr, adr_type), _arg_regs(arg_regs),
! _ret_regs(ret_regs), _shadow_space_bytes(shadow_space_bytes)
{
init_class_id(Class_CallNative);
_name = name;
}
virtual int Opcode() const;
! virtual bool guaranteed_safepoint() { return false; }
virtual Node* match(const ProjNode *proj, const Matcher *m);
virtual void calling_convention( BasicType* sig_bt, VMRegPair *parm_regs, uint argcnt ) const;
#ifndef PRODUCT
virtual void dump_spec(outputStream *st) const;
#endif
< prev index next >