Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/compiler/CodeGen/alpha32/alpha32Mask.sml
ViewVC logotype

Annotation of /sml/trunk/src/compiler/CodeGen/alpha32/alpha32Mask.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 16 - (view) (download)

1 : monnier 16 (* alpha32Mask.sml
2 :     *
3 :     * COPYRIGHT (c) 1996 Bell Laboratories.
4 :     *
5 :     *)
6 :    
7 :     (** This is temporary until we modify the runtime system with the new mask **)
8 :    
9 :     structure Alpha32Mask : REGMASK = struct
10 :     fun error msg = ErrorMsg.impossible ("Alpha32Mask." ^ msg)
11 :    
12 :     val nrRegs = 32
13 :    
14 :     val sentinel = Word.fromInt ~1
15 :     val regMap = Array.array(32, sentinel)
16 :     fun mapR(i,j) = Array.update(regMap,i,j)
17 :    
18 :     val _ = app mapR
19 :     [( 3, 0w0), (* stdlink *)
20 :     ( 2, 0w1), (* stdclos *)
21 :     ( 0, 0w2), (* stdarg *)
22 :     ( 1, 0w3), (* stdcont *)
23 :     ( 6, 0w4), (* misc0 *)
24 :     ( 7, 0w5), (* misc1 *)
25 :     ( 8, 0w6), (* ... *)
26 :     (16, 0w7),
27 :     (17, 0w8),
28 :     (18, 0w9),
29 :     (19, 0w10),
30 :     (20, 0w11),
31 :     (21, 0w12),
32 :     (22, 0w13),
33 :     (23, 0w14),
34 :     (24, 0w15),
35 :     (25, 0w16),
36 :     (27, 0w17)]
37 :    
38 :     fun regMask(reg, mask) = let
39 :     val bit = Array.sub(regMap, reg)
40 :     in
41 :     if bit=sentinel then error ("regMask - " ^ Int.toString reg)
42 :     else Word.orb(mask,Word.<<(0w1,bit))
43 :     end
44 :    
45 :     fun memMask _ = error "memMask"
46 :     end
47 :    
48 :    
49 :     (*
50 :     * $Log: alpha32Mask.sml,v $
51 :     * Revision 1.2 1997/07/17 12:35:23 george
52 :     * The constant type used to specialize MLTrees is now done more compactly.
53 :     *
54 :     # Revision 1.1 1997/04/19 18:17:44 george
55 :     # Version 109.27
56 :     #
57 :     * Revision 1.1.1.1 1997/01/14 01:38:33 george
58 :     * Version 109.24
59 :     *
60 :     *)

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0