source: branches/working-0711/ccl/lib/x8664env.lisp @ 11164

Last change on this file since 11164 was 11164, checked in by gz, 12 years ago

Another batch of changes from the trunk, some bug fixes, optimizations, as well as formatting unification

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.4 KB
Line 
1; -*- Mode:Lisp; Package:CCL; -*-
2;;;
3;;;   Copyright (C) 2005 Clozure Associates
4;;;   This file is part of OpenMCL. 
5;;;
6;;;   OpenMCL is licensed under the terms of the Lisp Lesser GNU Public
7;;;   License , known as the LLGPL and distributed with OpenMCL as the
8;;;   file "LICENSE".  The LLGPL consists of a preamble and the LGPL,
9;;;   which is distributed with OpenMCL as the file "LGPL".  Where these
10;;;   conflict, the preamble takes precedence. 
11;;;
12;;;   OpenMCL is referenced in the preamble as the "LIBRARY."
13;;;
14;;;   The LLGPL is also available online at
15;;;   http://opensource.franz.com/preamble.html
16
17(in-package "CCL")
18
19(defconstant $numx8664saveregs 4)
20(defconstant $numx8664argregs 3)
21
22
23(defconstant x8664-nonvolatile-registers-mask
24  (logior (ash 1 x8664::save0)
25          (ash 1 x8664::save1)
26          (ash 1 x8664::save2)
27          (ash 1 x8664::save3)))
28
29(defconstant x8664-arg-registers-mask
30  (logior (ash 1 x8664::arg_z)
31          (ash 1 x8664::arg_y)
32          (ash 1 x8664::arg_x)))
33
34(defconstant x8664-temp-registers-mask
35  (logior (ash 1 x8664::temp0)
36          (ash 1 x8664::temp1)
37          (ash 1 x8664::temp2)))
38
39
40(defconstant x8664-tagged-registers-mask
41  (logior x8664-temp-registers-mask
42          x8664-arg-registers-mask
43          x8664-nonvolatile-registers-mask))
44
45
46(defconstant x8664-temp-node-regs 
47  (make-mask x8664::temp0
48             x8664::temp1
49             x8664::temp2
50             x8664::arg_x
51             x8664::arg_y
52             x8664::arg_z))
53
54(defconstant x8664-nonvolatile-node-regs
55  (make-mask x8664::save0
56             x8664::save1
57             x8664::save2
58             x8664::save3))
59
60
61(defconstant x8664-node-regs (logior x8664-temp-node-regs x8664-nonvolatile-node-regs))
62
63(defconstant x8664-imm-regs (make-mask
64                             x8664::imm0
65                             x8664::imm1
66                             x8664::imm2))
67
68(defconstant x8664-temp-fp-regs (make-mask x8664::fp0
69                                           x8664::fp1
70                                           x8664::fp2
71                                           x8664::fp3
72                                           x8664::fp4
73                                           x8664::fp5
74                                           x8664::fp6
75                                           x8664::fp7))
76                               
77
78
79(defconstant x8664-cr-fields (make-mask 0))
80
81(defconstant $undo-x86-c-frame 16)
82
83
84(ccl::provide "X8664ENV")
Note: See TracBrowser for help on using the repository browser.