1 /* 2 * Copyright (c) 1997, 2009, 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 * 23 */ 24 25 #include "incls/_precompiled.incl" 26 #include "incls/_machnode.cpp.incl" 27 28 //============================================================================= 29 // Return the value requested 30 // result register lookup, corresponding to int_format 31 int MachOper::reg(PhaseRegAlloc *ra_, const Node *node) const { 32 return (int)ra_->get_encode(node); 33 } 34 // input register lookup, corresponding to ext_format 35 int MachOper::reg(PhaseRegAlloc *ra_, const Node *node, int idx) const { 36 return (int)(ra_->get_encode(node->in(idx))); 37 } 38 intptr_t MachOper::constant() const { return 0x00; } 39 bool MachOper::constant_is_oop() const { return false; } 40 jdouble MachOper::constantD() const { ShouldNotReachHere(); return 0.0; } 41 jfloat MachOper::constantF() const { ShouldNotReachHere(); return 0.0; } 42 jlong MachOper::constantL() const { ShouldNotReachHere(); return CONST64(0) ; } 43 TypeOopPtr *MachOper::oop() const { return NULL; } 44 int MachOper::ccode() const { return 0x00; } 45 // A zero, default, indicates this value is not needed. 46 // May need to lookup the base register, as done in int_ and ext_format | 1 /* 2 * Copyright (c) 1997, 2010, 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 * 23 */ 24 25 #include "precompiled.hpp" 26 #include "gc_interface/collectedHeap.hpp" 27 #include "opto/machnode.hpp" 28 #include "opto/regalloc.hpp" 29 30 //============================================================================= 31 // Return the value requested 32 // result register lookup, corresponding to int_format 33 int MachOper::reg(PhaseRegAlloc *ra_, const Node *node) const { 34 return (int)ra_->get_encode(node); 35 } 36 // input register lookup, corresponding to ext_format 37 int MachOper::reg(PhaseRegAlloc *ra_, const Node *node, int idx) const { 38 return (int)(ra_->get_encode(node->in(idx))); 39 } 40 intptr_t MachOper::constant() const { return 0x00; } 41 bool MachOper::constant_is_oop() const { return false; } 42 jdouble MachOper::constantD() const { ShouldNotReachHere(); return 0.0; } 43 jfloat MachOper::constantF() const { ShouldNotReachHere(); return 0.0; } 44 jlong MachOper::constantL() const { ShouldNotReachHere(); return CONST64(0) ; } 45 TypeOopPtr *MachOper::oop() const { return NULL; } 46 int MachOper::ccode() const { return 0x00; } 47 // A zero, default, indicates this value is not needed. 48 // May need to lookup the base register, as done in int_ and ext_format |