source: release/1.9/source/lisp-kernel/x86-constants.s @ 16083

Last change on this file since 16083 was 15370, checked in by gb, 7 years ago

Define assembly lisp-globals in lisp_globals.s, not in *constants.s
Provide _rnode and support, so that the lisp_globals structure can
have its elements defined in predecremented descending order.
Make managed_static_dnodes/_refbits new globals so that they can
be used on all platforms (even though the managed_static_area is only
used on x86 at the moment.
When disabling the EGC, set lisp_global(OLDSPACE_DNODE_COUNT) to 0
(not effectively to lisp_global(MANAGED_STATIC_DNODES), since the
new write barrier code doesn't overload a single set of refbits.

Hopefully, that's it for these changes.
(We'll see if the code even compiles on other platforms.)

-

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.8 KB
Line 
1/*   Copyright (C) 2005-2009 Clozure Associates  */
2/*   This file is part of Clozure CL.    */
3 
4/*   Clozure CL is licensed under the terms of the Lisp Lesser GNU Public  */
5/*   License , known as the LLGPL and distributed with Clozure CL as the  */
6/*   file "LICENSE".  The LLGPL consists of a preamble and the LGPL,  */
7/*   which is distributed with Clozure CL as the file "LGPL".  Where these  */
8/*   conflict, the preamble takes precedence.    */
9 
10/*   Clozure CL is referenced in the preamble as the "LIBRARY."  */
11 
12/*   The LLGPL is also available online at  */
13/*   http://opensource.franz.com/preamble.html  */
14
15
16
17       
18/* Indices in %builtin-functions%  */
19       
20_builtin_plus = 0       /* +-2   */
21_builtin_minus = 1      /* --2   */
22_builtin_times = 2      /* *-2   */
23_builtin_div = 3        /* /-2   */
24_builtin_eq = 4         /* =-2   */
25_builtin_ne = 5         /* /-2   */
26_builtin_gt = 6         /* >-2   */
27_builtin_ge = 7         /* >=-2   */
28_builtin_lt = 8         /* <-2   */
29_builtin_le = 9         /* <=-2   */
30_builtin_eql = 10       /* eql   */
31_builtin_length = 11    /* length   */
32_builtin_seqtype = 12   /* sequence-type   */
33_builtin_assq = 13      /* assq   */
34_builtin_memq = 14      /* memq   */
35_builtin_logbitp = 15   /* logbitp   */
36_builtin_logior = 16    /* logior-2   */
37_builtin_logand = 17    /* logand-2   */
38_builtin_ash = 18       /* ash   */
39_builtin_negate = 19    /* %negate   */
40_builtin_logxor = 20    /* logxor-2   */
41_builtin_aref1 = 21     /* %aref1   */
42_builtin_aset1 = 22     /* %aset1   */
43       
44
45ifdef(`X8664',`
46        include(x86-constants64.s)
47',`
48        include(x86-constants32.s)
49')                                             
50
51/* registers, as used in destructuring-bind/macro-bind   */
52ifdef(`X8664',`
53define(`whole_reg',`temp1')
54define(`arg_reg',`temp0')
55define(`keyvect_reg',`arg_x')
56',`
57define(`arg_reg',`temp1')
58define(`arg_reg_b',`temp1_b')
59define(`keyvect_reg',`arg_y')
60')
61
62define(`initopt_bit',`24')
63define(`keyp_bit',`25') /*  note that keyp can be true even when 0 keys.   */
64define(`aok_bit',`26')
65define(`restp_bit',`27')
66define(`seen_aok_bit',`28')       
67       
68       
69       
70               
71define(`TCR_STATE_FOREIGN',1)
72define(`TCR_STATE_LISP',0)
73define(`TCR_STATE_EXCEPTION_WAIT',2)
74define(`TCR_STATE_EXCEPTION_RETURN',4)
75
76tstack_alloc_limit = 0xffff
77       
78mxcsr_ie_bit = 0                /* invalid */
79mxcsr_de_bit = 1                /* denorm */       
80mxcsr_ze_bit = 2
81mxcsr_oe_bit = 3
82mxcsr_ue_bit = 4
83mxcsr_pe_bit = 5
84num_mxcsr_exception_bits = 6
85
86mxcsr_all_exceptions = ((1<<num_mxcsr_exception_bits)-1)
87
88TCR_FLAG_BIT_FOREIGN = fixnum_shift
89TCR_FLAG_BIT_AWAITING_PRESET = (fixnum_shift+1) 
90TCR_FLAG_BIT_ALT_SUSPEND = (fixnumshift+2)
91TCR_FLAG_BIT_PROPAGATE_EXCEPTION = (fixnumshift+3)
92TCR_FLAG_BIT_SUSPEND_ACK_PENDING = (fixnumshift+4)
93TCR_FLAG_BIT_PENDING_EXCEPTION = (fixnumshift+5)
94TCR_FLAG_BIT_FOREIGN_EXCEPTION = (fixnumshift+6)
95TCR_FLAG_BIT_PENDING_SUSPEND = (fixnumshift+7)       
96TCR_FLAG_BIT_FOREIGN_FPE = (fixnumshift+8)       
97
98CF_BIT = 0
99DF_BIT = 10
Note: See TracBrowser for help on using the repository browser.