Mercurial > hg > CbC > old > device
comparison mc-codegen.c @ 80:83d901658ce9 indirect-call
*** empty log message ***
author | kono |
---|---|
date | Mon, 03 Mar 2003 05:41:10 +0900 |
parents | 82d0e30f61dd |
children | f94ca1168520 |
comparison
equal
deleted
inserted
replaced
79:82d0e30f61dd | 80:83d901658ce9 |
---|---|
678 /* まず、サイズを計算しながら、決まった形に落す。 */ | 678 /* まず、サイズを計算しながら、決まった形に落す。 */ |
679 | 679 |
680 arg_size = 0; regs = 0; max_regs = MAX_REGISTER_VAR-1; | 680 arg_size = 0; regs = 0; max_regs = MAX_REGISTER_VAR-1; |
681 for (e3 = reverse0(caddr(e1)); e3; e3 = cadr(e3)) { | 681 for (e3 = reverse0(caddr(e1)); e3; e3 = cadr(e3)) { |
682 e2 = car(e3); sz = size(ty=caddr(e3)); | 682 e2 = car(e3); sz = size(ty=caddr(e3)); |
683 if (regs <= max_regs&&scalar(ty)) { | 683 if (regs <= max_regs&&sz==size_of_int) { |
684 target=list4(list2(REGISTER,register_var(regs++)), target,ty,e2); | 684 target=list4(list2(REGISTER,register_var(regs++)), target,ty,e2); |
685 } else { | 685 } else { |
686 target=list4(list2(LVAR,0), target,ty,e2); | 686 target=list4(list2(LVAR,0), target,ty,e2); |
687 arg_size += sz; | 687 arg_size += sz; |
688 } | 688 } |