Mercurial > repos > rhope
comparison runtime/fib.c @ 58:4c22fe798779
Some small optimizations
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 08 Oct 2009 03:03:48 -0400 |
parents | 2174878a6e4b |
children | 4f1ae6eb71d8 |
comparison
equal
deleted
inserted
replaced
57:2174878a6e4b | 58:4c22fe798779 |
---|---|
61 | 61 |
62 ct = new_context(); | 62 ct = new_context(); |
63 cdata = alloc_cdata(ct, NULL, 0); | 63 cdata = alloc_cdata(ct, NULL, 0); |
64 cdata->num_params = 0; | 64 cdata->num_params = 0; |
65 cdata->func = END; | 65 cdata->func = END; |
66 resume = 0; | |
67 _dispatch: | 66 _dispatch: |
68 switch(func) | 67 switch(func) |
69 { | 68 { |
70 Method(_LT_) | 69 Method(_LT_) |
71 MethodDispatch(TYPE_INT32,_LT_,Int32) | 70 MethodDispatch(TYPE_INT32,_LT_,Int32) |
129 lv_Fib->____result__10__0 = NULL; | 128 lv_Fib->____result__10__0 = NULL; |
130 lv_Fib->____result__11__0 = NULL; | 129 lv_Fib->____result__11__0 = NULL; |
131 lv_Fib->out = NULL; | 130 lv_Fib->out = NULL; |
132 | 131 |
133 PrepCall(2) | 132 PrepCall(2) |
133 | |
134 SetParam(0, add_ref(cdata->lastframe->params[0])) | 134 SetParam(0, add_ref(cdata->lastframe->params[0])) |
135 SetParam(1, add_ref(_const_Whole_SP_Number__2)) | 135 SetParam(1, add_ref(_const_Whole_SP_Number__2)) |
136 Call(_LT_, | 136 Call(_LT_, |
137 NumParams 2, 1, Fib) | 137 NumParams 2, 1, Fib) |
138 lv_Fib->____result__1__0 = cdata->params[0]; | 138 lv_Fib->____result__1__0 = cdata->params[0]; |
139 FreeCall | 139 |
140 | |
141 PrepCall(2) | |
142 SetParam(0, add_ref(lv_Fib->____result__1__0)) | 140 SetParam(0, add_ref(lv_Fib->____result__1__0)) |
143 Call(If, | 141 Call(If, |
144 NumParams 1, 2, Fib) | 142 NumParams 1, 2, Fib) |
145 lv_Fib->____result__0__0 = cdata->params[0]; | 143 lv_Fib->____result__0__0 = cdata->params[0]; |
146 lv_Fib->____result__0__1 = cdata->params[-1]; | 144 lv_Fib->____result__0__1 = cdata->params[-1]; |
147 FreeCall | 145 |
148 | 146 if(lv_Fib->____result__0__1) |
149 if(lv_Fib->____result__0__1) | 147 { |
150 { | |
151 PrepCall(2) | |
152 SetParam(0, add_ref(cdata->lastframe->params[0])) | 148 SetParam(0, add_ref(cdata->lastframe->params[0])) |
153 SetParam(1, add_ref(_const_Whole_SP_Number__1)) | 149 SetParam(1, add_ref(_const_Whole_SP_Number__1)) |
154 Call(_MN_, | 150 Call(_MN_, |
155 NumParams 2, 3, Fib) | 151 NumParams 2, 3, Fib) |
156 lv_Fib->____result__7__0 = cdata->params[0]; | 152 lv_Fib->____result__7__0 = cdata->params[0]; |
157 FreeCall | 153 } |
158 } | 154 if(lv_Fib->____result__0__1) |
159 if(lv_Fib->____result__0__1) | 155 { |
160 { | |
161 PrepCall(2) | |
162 SetParam(0, add_ref(cdata->lastframe->params[0])) | 156 SetParam(0, add_ref(cdata->lastframe->params[0])) |
163 SetParam(1, add_ref(_const_Whole_SP_Number__2)) | 157 SetParam(1, add_ref(_const_Whole_SP_Number__2)) |
164 Call(_MN_, | 158 Call(_MN_, |
165 NumParams 2, 4, Fib) | 159 NumParams 2, 4, Fib) |
166 lv_Fib->____result__11__0 = cdata->params[0]; | 160 lv_Fib->____result__11__0 = cdata->params[0]; |
167 FreeCall | |
168 } | 161 } |
169 if(lv_Fib->____result__0__0) | 162 if(lv_Fib->____result__0__0) |
170 { | 163 { |
171 lv_Fib->out = add_ref(_const_Whole_SP_Number__1); | 164 lv_Fib->out = add_ref(_const_Whole_SP_Number__1); |
172 } | 165 } |
173 if(lv_Fib->____result__0__1) | 166 if(lv_Fib->____result__0__1) |
174 { | 167 { |
175 PrepCall(1) | |
176 SetParam(0, add_ref(lv_Fib->____result__7__0)) | 168 SetParam(0, add_ref(lv_Fib->____result__7__0)) |
177 Call(Fib, | 169 Call(Fib, |
178 NumParams 1, 5, Fib) | 170 NumParams 1, 5, Fib) |
179 lv_Fib->____result__6__0 = cdata->params[0]; | 171 lv_Fib->____result__6__0 = cdata->params[0]; |
180 FreeCall | 172 } |
181 } | 173 if(lv_Fib->____result__0__1) |
182 if(lv_Fib->____result__0__1) | 174 { |
183 { | |
184 PrepCall(1) | |
185 SetParam(0, add_ref(lv_Fib->____result__11__0)) | 175 SetParam(0, add_ref(lv_Fib->____result__11__0)) |
186 Call(Fib, | 176 Call(Fib, |
187 NumParams 1, 6, Fib) | 177 NumParams 1, 6, Fib) |
188 lv_Fib->____result__10__0 = cdata->params[0]; | 178 lv_Fib->____result__10__0 = cdata->params[0]; |
189 FreeCall | 179 } |
190 } | 180 if(lv_Fib->____result__0__1) |
191 if(lv_Fib->____result__0__1) | 181 { |
192 { | |
193 PrepCall(2) | |
194 SetParam(0, add_ref(lv_Fib->____result__6__0)) | 182 SetParam(0, add_ref(lv_Fib->____result__6__0)) |
195 SetParam(1, add_ref(lv_Fib->____result__10__0)) | 183 SetParam(1, add_ref(lv_Fib->____result__10__0)) |
196 Call(_PL_, | 184 Call(_PL_, |
197 NumParams 2, 7, Fib) | 185 NumParams 2, 7, Fib) |
198 lv_Fib->____result__5__0 = cdata->params[0]; | 186 lv_Fib->____result__5__0 = cdata->params[0]; |
199 FreeCall | 187 } |
200 } | 188 FreeCall |
201 if(lv_Fib->____result__0__1) | 189 if(lv_Fib->____result__0__1) |
202 { | 190 { |
203 lv_Fib->out = add_ref(lv_Fib->____result__5__0); | 191 lv_Fib->out = add_ref(lv_Fib->____result__5__0); |
204 } | 192 } |
205 if(lv_Fib->____result__0__0) | 193 if(lv_Fib->____result__0__0) |