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_CODE_VMREG_HPP
26 #define SHARE_VM_CODE_VMREG_HPP
27
28 #include "asm/register.hpp"
29 #include "memory/allocation.hpp"
30 #include "utilities/globalDefinitions.hpp"
31 #include "utilities/macros.hpp"
32 #include "utilities/ostream.hpp"
33 #ifdef COMPILER2
34 #include "opto/adlcVMDeps.hpp"
35 #endif
36
37 //------------------------------VMReg------------------------------------------
38 // The VM uses 'unwarped' stack slots; the compiler uses 'warped' stack slots.
39 // Register numbers below VMRegImpl::stack0 are the same for both. Register
40 // numbers above stack0 are either warped (in the compiler) or unwarped
41 // (in the VM). Unwarped numbers represent stack indices, offsets from
42 // the current stack pointer. Warped numbers are required during compilation
43 // when we do not yet know how big the frame will be.
44
45 class VMRegImpl;
46 typedef VMRegImpl* VMReg;
47
48 class VMRegImpl {
49 // friend class OopMap;
|
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_CODE_VMREG_HPP
26 #define SHARE_VM_CODE_VMREG_HPP
27
28 #include "asm/register.hpp"
29 #include "utilities/globalDefinitions.hpp"
30 #include "utilities/macros.hpp"
31 #include "utilities/ostream.hpp"
32 #ifdef COMPILER2
33 #include "opto/adlcVMDeps.hpp"
34 #endif
35
36 //------------------------------VMReg------------------------------------------
37 // The VM uses 'unwarped' stack slots; the compiler uses 'warped' stack slots.
38 // Register numbers below VMRegImpl::stack0 are the same for both. Register
39 // numbers above stack0 are either warped (in the compiler) or unwarped
40 // (in the VM). Unwarped numbers represent stack indices, offsets from
41 // the current stack pointer. Warped numbers are required during compilation
42 // when we do not yet know how big the frame will be.
43
44 class VMRegImpl;
45 typedef VMRegImpl* VMReg;
46
47 class VMRegImpl {
48 // friend class OopMap;
|