Merge branch 'alexis/various-fixes' into wip
[nit.git] / c_src / hash._sep.c
1 /* This C file is generated by NIT to compile module hash. */
2 #include "hash._sep.h"
3 val_t hash___Object___hash(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t REGB0;
6 val_t REGB1;
7 val_t tmp;
8 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9 fra.me.file = LOCATE_hash;
10 fra.me.line = 20;
11 fra.me.meth = LOCATE_hash___Object___hash;
12 fra.me.has_broke = 0;
13 fra.me.REG_size = 1;
14 fra.me.REG[0] = NIT_NULL;
15 fra.me.REG[0] = p0;
16 REGB0 = CALL_kernel___Object___object_id(fra.me.REG[0])(fra.me.REG[0]);
17 REGB1 = TAG_Int(8);
18 REGB1 = TAG_Int(UNTAG_Int(REGB0)/UNTAG_Int(REGB1));
19 /* ./../lib/standard//hash.nit:24 */
20 goto label1;
21 label1: while(0);
22 stack_frame_head = fra.me.prev;
23 return REGB1;
24 }
25 val_t hash___Int___hash(val_t p0){
26 struct {struct stack_frame_t me;} fra;
27 val_t REGB0;
28 val_t tmp;
29 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30 fra.me.file = LOCATE_hash;
31 fra.me.line = 28;
32 fra.me.meth = LOCATE_hash___Int___hash;
33 fra.me.has_broke = 0;
34 fra.me.REG_size = 0;
35 REGB0 = p0;
36 /* ./../lib/standard//hash.nit:28 */
37 goto label1;
38 label1: while(0);
39 stack_frame_head = fra.me.prev;
40 return REGB0;
41 }
42 val_t hash___Char___hash(val_t p0){
43 struct {struct stack_frame_t me;} fra;
44 val_t REGB0;
45 val_t tmp;
46 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47 fra.me.file = LOCATE_hash;
48 fra.me.line = 32;
49 fra.me.meth = LOCATE_hash___Char___hash;
50 fra.me.has_broke = 0;
51 fra.me.REG_size = 0;
52 REGB0 = p0;
53 REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
54 /* ./../lib/standard//hash.nit:32 */
55 goto label1;
56 label1: while(0);
57 stack_frame_head = fra.me.prev;
58 return REGB0;
59 }
60 val_t hash___Bool___hash(val_t p0){
61 struct {struct stack_frame_t me;} fra;
62 val_t REGB0;
63 val_t REGB1;
64 val_t tmp;
65 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66 fra.me.file = LOCATE_hash;
67 fra.me.line = 36;
68 fra.me.meth = LOCATE_hash___Bool___hash;
69 fra.me.has_broke = 0;
70 fra.me.REG_size = 0;
71 REGB0 = p0;
72 /* ./../lib/standard//hash.nit:38 */
73 if (UNTAG_Bool(REGB0)) {
74 REGB0 = TAG_Int(1);
75 /* ./../lib/standard//hash.nit:39 */
76 goto label1;
77 } else {
78 REGB1 = TAG_Int(0);
79 REGB0 = REGB1;
80 /* ./../lib/standard//hash.nit:41 */
81 goto label1;
82 }
83 label1: while(0);
84 stack_frame_head = fra.me.prev;
85 return REGB0;
86 }