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)