3261N/A * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 430N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 430N/A * This code is free software; you can redistribute it and/or modify it 430N/A * under the terms of the GNU General Public License version 2 only, as 2362N/A * published by the Free Software Foundation. 2362N/A * This code is distributed in the hope that it will be useful, but WITHOUT 430N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 430N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 430N/A * version 2 for more details (a copy is included in the LICENSE file that 430N/A * accompanied this code). 430N/A * You should have received a copy of the GNU General Public License version 430N/A * 2 along with this work; if not, write to the Free Software Foundation, 430N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 430N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 430N/A//==============================Register Allocation============================ 430N/A//------------------------------RegisterForm----------------------------------- 2285N/A // Provide iteration over all register definitions 2285N/A // in the order used by the register allocator 430N/A // Return register mask, compressed chunk and register # 430N/A // Check that register classes are compatible with chunks 430N/A//------------------------------RegDef----------------------------------------- 430N/A // The chunk and register mask bits define info for register allocation 430N/A // Bit pattern used for generating machine code 430N/A // Register number used in machine-independent code 430N/A//------------------------------RegClass--------------------------------------- 430N/A // Returns the lowest numbered register in the mask. 430N/A void reset();
// Reset the following two iterators 430N/A//------------------------------AllocClass------------------------------------- 430N/A//==============================Frame Handling================================ 430N/A//------------------------------FrameForm------------------------------------- 430N/A//==============================Scheduling===================================== 430N/A//------------------------------PipelineForm----------------------------------- 430N/A//------------------------------ResourceForm----------------------------------- 1061N/A unsigned _resmask;
// Resource Mask (OR of resource specifier bits) 430N/A//------------------------------PipeClassOperandForm----------------------------- 430N/A//------------------------------PipeClassResourceForm-------------------------- 430N/A//------------------------------PipeClassForm---------------------------------- 430N/A int _num;
// Used in name of MachNode subclass 430N/A//==============================Peephole Optimization========================== 430N/A//------------------------------Peephole--------------------------------------- 430N/A // Append a peephole rule with the same root instruction 430N/A // Store the components of this peephole rule 430N/A // Access the components of this peephole rule 430N/A // NameList _depth; // Depth of this instruction 430N/A // Insert info into the match-rule 430N/A // Access info about instructions in the peep-match rule 430N/A // Iterate through all info on matched instructions 430N/A // 'true' if current position in iteration is a placeholder, not matched. 430N/A // Check if constraints use instruction at position 430N/A // Add another constraint 430N/A // Access the next constraint in the list 430N/A // Add contents of peepreplace 430N/A // Access contents of peepreplace 430N/A const char *
_inst_op;
// Instruction's operand, NULL if number == -1 #
endif // SHARE_VM_ADLC_FORMSOPT_HPP