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/hppa/hppaMask.sml
ViewVC logotype

Annotation of /sml/trunk/src/compiler/CodeGen/hppa/hppaMask.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 16 - (view) (download)

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

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