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 //--------------------------------------------------------------------- 2265 bool no_operands(LIR_Op* op); 2266 #endif 2267 2268 // LIR_Op visitor functions use these to fill in the state 2269 void do_input(LIR_Opr& opr) { append(opr, LIR_OpVisitState::inputMode); } 2270 void do_output(LIR_Opr& opr) { append(opr, LIR_OpVisitState::outputMode); } 2271 void do_temp(LIR_Opr& opr) { append(opr, LIR_OpVisitState::tempMode); } 2272 void do_info(CodeEmitInfo* info) { append(info); } 2273 2274 void do_stub(CodeStub* stub); 2275 void do_call() { _has_call = true; } 2276 void do_slow_case() { _has_slow_case = true; } 2277 void do_slow_case(CodeEmitInfo* info) { 2278 _has_slow_case = true; 2279 append(info); 2280 } 2281 }; 2282 2283 2284 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 //--------------------------------------------------------------------- 2270 bool no_operands(LIR_Op* op); 2271 #endif 2272 2273 // LIR_Op visitor functions use these to fill in the state 2274 void do_input(LIR_Opr& opr) { append(opr, LIR_OpVisitState::inputMode); } 2275 void do_output(LIR_Opr& opr) { append(opr, LIR_OpVisitState::outputMode); } 2276 void do_temp(LIR_Opr& opr) { append(opr, LIR_OpVisitState::tempMode); } 2277 void do_info(CodeEmitInfo* info) { append(info); } 2278 2279 void do_stub(CodeStub* stub); 2280 void do_call() { _has_call = true; } 2281 void do_slow_case() { _has_slow_case = true; } 2282 void do_slow_case(CodeEmitInfo* info) { 2283 _has_slow_case = true; 2284 append(info); 2285 } 2286 }; 2287 2288 2289 inline LIR_Opr LIR_OprDesc::illegalOpr() { return LIR_OprFact::illegalOpr; }; 2290 2291 #endif // SHARE_VM_C1_C1_LIR_HPP |