< prev index next >

src/hotspot/share/opto/callnode.hpp

Print this page

        

*** 761,771 **** --- 761,773 ---- }; //------------------------------CallRuntimeNode-------------------------------- // Make a direct subroutine call node into compiled C++ code. class CallRuntimeNode : public CallNode { + protected: virtual uint cmp( const Node &n ) const; + private: virtual uint size_of() const; // Size is bigger public: CallRuntimeNode(const TypeFunc* tf, address addr, const char* name, const TypePtr* adr_type) : CallNode(tf, addr, adr_type)
*** 784,802 **** //------------------------------CallLeafNode----------------------------------- // Make a direct subroutine call node into compiled C++ code, without // safepoints class CallLeafNode : public CallRuntimeNode { public: CallLeafNode(const TypeFunc* tf, address addr, const char* name, ! const TypePtr* adr_type) ! : CallRuntimeNode(tf, addr, name, adr_type) { init_class_id(Class_CallLeaf); } virtual int Opcode() const; virtual bool guaranteed_safepoint() { return false; } #ifndef PRODUCT virtual void dump_spec(outputStream *st) const; #endif }; --- 786,812 ---- //------------------------------CallLeafNode----------------------------------- // Make a direct subroutine call node into compiled C++ code, without // safepoints class CallLeafNode : public CallRuntimeNode { + private: + bool _preserves_fp_registers; + protected: + virtual uint cmp(const Node &n) const; + virtual uint size_of() const; // Size is bigger + public: CallLeafNode(const TypeFunc* tf, address addr, const char* name, ! const TypePtr* adr_type, bool preserves_fp_registers = false) ! : CallRuntimeNode(tf, addr, name, adr_type), ! _preserves_fp_registers(preserves_fp_registers) { init_class_id(Class_CallLeaf); } virtual int Opcode() const; virtual bool guaranteed_safepoint() { return false; } + bool preserves_fp_registers() const { return _preserves_fp_registers; } #ifndef PRODUCT virtual void dump_spec(outputStream *st) const; #endif };
< prev index next >