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 }