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 class BlockBegin; 26 class BlockList; 27 class LIR_Assembler; 28 class CodeEmitInfo; 29 class CodeStub; 30 class CodeStubList; 31 class ArrayCopyStub; 32 class LIR_Op; 33 class ciType; 34 class ValueType; 35 class LIR_OpVisitState; 36 class FpuStackSim; 37 38 //--------------------------------------------------------------------- 39 // LIR Operands 40 // LIR_OprDesc 41 // LIR_OprPtr 42 // LIR_Const 43 // LIR_Address 44 //--------------------------------------------------------------------- 2231 bool no_operands(LIR_Op* op); 2232 #endif 2233 2234 // LIR_Op visitor functions use these to fill in the state 2235 void do_input(LIR_Opr& opr) { append(opr, LIR_OpVisitState::inputMode); } 2236 void do_output(LIR_Opr& opr) { append(opr, LIR_OpVisitState::outputMode); } 2237 void do_temp(LIR_Opr& opr) { append(opr, LIR_OpVisitState::tempMode); } 2238 void do_info(CodeEmitInfo* info) { append(info); } 2239 2240 void do_stub(CodeStub* stub); 2241 void do_call() { _has_call = true; } 2242 void do_slow_case() { _has_slow_case = true; } 2243 void do_slow_case(CodeEmitInfo* info) { 2244 _has_slow_case = true; 2245 append(info); 2246 } 2247 }; 2248 2249 2250 inline LIR_Opr LIR_OprDesc::illegalOpr() { return LIR_OprFact::illegalOpr; }; | 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 #ifndef SHARE_VM_C1_C1_LIR_HPP 26 #define SHARE_VM_C1_C1_LIR_HPP 27 28 #include "c1/c1_ValueType.hpp" 29 30 class BlockBegin; 31 class BlockList; 32 class LIR_Assembler; 33 class CodeEmitInfo; 34 class CodeStub; 35 class CodeStubList; 36 class ArrayCopyStub; 37 class LIR_Op; 38 class ciType; 39 class ValueType; 40 class LIR_OpVisitState; 41 class FpuStackSim; 42 43 //--------------------------------------------------------------------- 44 // LIR Operands 45 // LIR_OprDesc 46 // LIR_OprPtr 47 // LIR_Const 48 // LIR_Address 49 //--------------------------------------------------------------------- 2236 bool no_operands(LIR_Op* op); 2237 #endif 2238 2239 // LIR_Op visitor functions use these to fill in the state 2240 void do_input(LIR_Opr& opr) { append(opr, LIR_OpVisitState::inputMode); } 2241 void do_output(LIR_Opr& opr) { append(opr, LIR_OpVisitState::outputMode); } 2242 void do_temp(LIR_Opr& opr) { append(opr, LIR_OpVisitState::tempMode); } 2243 void do_info(CodeEmitInfo* info) { append(info); } 2244 2245 void do_stub(CodeStub* stub); 2246 void do_call() { _has_call = true; } 2247 void do_slow_case() { _has_slow_case = true; } 2248 void do_slow_case(CodeEmitInfo* info) { 2249 _has_slow_case = true; 2250 append(info); 2251 } 2252 }; 2253 2254 2255 inline LIR_Opr LIR_OprDesc::illegalOpr() { return LIR_OprFact::illegalOpr; }; 2256 2257 #endif // SHARE_VM_C1_C1_LIR_HPP |