source: trunk/source/lib/x8664env.lisp @ 14423

Last change on this file since 14423 was 13067, checked in by rme, 10 years ago

Update copyright notices.

  • 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-2009 Clozure Associates
4;;;   This file is part of Clozure CL. 
5;;;
6;;;   Clozure CL is licensed under the terms of the Lisp Lesser GNU Public
7;;;   License , known as the LLGPL and distributed with Clozure CL as the
8;;;   file "LICENSE".  The LLGPL consists of a preamble and the LGPL,
9;;;   which is distributed with Clozure CL as the file "LGPL".  Where these
10;;;   conflict, the preamble takes precedence. 
11;;;
12;;;   Clozure CL 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.