1 /*
2 * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
792 //=============================================================================
793 uint MachCallRuntimeNode::size_of() const { return sizeof(*this); }
794 uint MachCallRuntimeNode::cmp( const Node &n ) const {
795 MachCallRuntimeNode &call = (MachCallRuntimeNode&)n;
796 return MachCallNode::cmp(call) && !strcmp(_name,call._name);
797 }
798 #ifndef PRODUCT
799 void MachCallRuntimeNode::dump_spec(outputStream *st) const {
800 st->print("%s ",_name);
801 MachCallNode::dump_spec(st);
802 }
803 #endif
804 //=============================================================================
805 // A shared JVMState for all HaltNodes. Indicates the start of debug info
806 // is at TypeFunc::Parms. Only required for SOE register spill handling -
807 // to indicate where the stack-slot-only debug info inputs begin.
808 // There is no other JVM state needed here.
809 JVMState jvms_for_throw(0);
810 JVMState *MachHaltNode::jvms() const {
811 return &jvms_for_throw;
812 }
813
814 uint MachMemBarNode::size_of() const { return sizeof(*this); }
815
816 const TypePtr *MachMemBarNode::adr_type() const {
817 return _adr_type;
818 }
819
820 //=============================================================================
821 #ifndef PRODUCT
822 void labelOper::int_format(PhaseRegAlloc *ra, const MachNode *node, outputStream *st) const {
823 st->print("B%d", _block_num);
824 }
825 #endif // PRODUCT
826
827 //=============================================================================
828 #ifndef PRODUCT
829 void methodOper::int_format(PhaseRegAlloc *ra, const MachNode *node, outputStream *st) const {
830 st->print(INTPTR_FORMAT, _method);
831 }
832 #endif // PRODUCT
|
1 /*
2 * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
792 //=============================================================================
793 uint MachCallRuntimeNode::size_of() const { return sizeof(*this); }
794 uint MachCallRuntimeNode::cmp( const Node &n ) const {
795 MachCallRuntimeNode &call = (MachCallRuntimeNode&)n;
796 return MachCallNode::cmp(call) && !strcmp(_name,call._name);
797 }
798 #ifndef PRODUCT
799 void MachCallRuntimeNode::dump_spec(outputStream *st) const {
800 st->print("%s ",_name);
801 MachCallNode::dump_spec(st);
802 }
803 #endif
804 //=============================================================================
805 // A shared JVMState for all HaltNodes. Indicates the start of debug info
806 // is at TypeFunc::Parms. Only required for SOE register spill handling -
807 // to indicate where the stack-slot-only debug info inputs begin.
808 // There is no other JVM state needed here.
809 JVMState jvms_for_throw(0);
810 JVMState *MachHaltNode::jvms() const {
811 return &jvms_for_throw;
812 }
813
814 //=============================================================================
815 #ifndef PRODUCT
816 void labelOper::int_format(PhaseRegAlloc *ra, const MachNode *node, outputStream *st) const {
817 st->print("B%d", _block_num);
818 }
819 #endif // PRODUCT
820
821 //=============================================================================
822 #ifndef PRODUCT
823 void methodOper::int_format(PhaseRegAlloc *ra, const MachNode *node, outputStream *st) const {
824 st->print(INTPTR_FORMAT, _method);
825 }
826 #endif // PRODUCT
|