changeset 154:3edd10355434

fix assign_opt and conv.c
author kono
date Thu, 31 Jul 2003 20:57:39 +0900 (2003-07-31)
parents 33b39002ac58
children ccb2002d8a31
files Changes mc-codegen.c
diffstat 2 files changed, 69 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Changes	Mon Jul 21 15:13:37 2003 +0900
+++ b/Changes	Thu Jul 31 20:57:39 2003 +0900
@@ -3152,3 +3152,71 @@
 
 Frame pointer �ϻȤ���? �Ȥä����������󤸤�ʤ�?
 PowerPC �ϻȤ�ʤ��ä����ɡ�
+
+Tue Jul 22 08:12:48 JST 2003
+
+switch ʸ��table�˥���ѥ��뤹��ˤ�...
+
+�ǽ����ӤιԤ�����ǻ��ꤹ��褦�ˤ���
+        cmp reg,case_value
+        bne L_NEXT
+   ....
+   L_NEXT:
+��
+        cmp reg,case_value
+        bne L_CASE
+   ....
+   L_NEXT:
+      ....
+   L_CASE 
+�ǡ�case ʸ�����ä���table���롣table ������ʤ��褦���ä��顢
+   L_CASE = L_NEXT
+
+��case�������ϳФ��Ƥ�����
+      (list of (value, label))
+
+table �ϡ��ɤ���äƺ�뤫�ȸ����ȡ�
+
+   �ޤ����ͤ�ʬ�ۤ�����å�����
+   ̩�٤ι⤤ɽ����(ü�Τ����Ĥ��������Ϣ³���Ƥ��뤳��)
+   �Ȥ�������(�꺹ʬ��)Ϣ³���Ƥ�����ʬ�ˤ���ɽ������ɤ�����
+   table ��8entry�ʾ塣����ʲ��ϡ�2ʬˡ���餱�롣
+       (list of (number of entry, diff, (list of (value,label))))
+
+512 or 128kbyte �ޤ���ǧ���롣���٤Ϥʤ��Ƥ��ɤ�����Ϣ³���Ƥ���
+��ʬ�ˤ���ɽ�Ϻ��ʤ���
+
+Ϣ³���Ƥʤ���ʬ�ϡ�2ʬˡ�ˤ��롣
+
+2 ʬˡ�Ǥ⤤�����ɡ�2ʬˡ�ˤ���? ����������ñ���ʡ��Ǹ�Υ�
+�ơ����ϡ�(��������פ��Ƥ����...) ���Υ����ɤ��Ȥ��뤷����
+������ȡ�sort ���ơ����椫������Ӥ��ƹԤ����ɤ�����������
+��ɽ��ʬ�ۤȤ��ͤ��ʤ��Ƥ��ɤ����餤������͡�
+
+�����
+
+�ޤ�����äѤꡢ��ʸ�ڤ����ɤߤ򤹤�󤸤�ʤ���? ���������
+reference �ΤȤ��Ƥʤ��ѿ���狼�뤷��
+
+Wed Jul 23 16:21:12 JST 2003
+
+��äѤ깽¤�ΤΥ�����̾����name table�ˤ�����������͡�
+�ޤ�������ʤ��㤤���ʤ�������ɤ����ɤ�����?
+�ɤ�����äƤ��äƤ�...
+
+Thu Jul 31 15:07:08 JST 2003
+
+C �����Ѵ����������ɤ�ư�������ɡ��ޤ���cast ��ư���Τ�
+�ɤ�������ɡ����������Τ���ʤ��ơ�link ��Ȥä��Ѵ�
+�Ǥ⤤���󤸤�ʤ�? ��������С�spagety stack �Ǥ�Ok
+���ʡ�������GC ���ʤ��ȻȤ�ʪ�ˤʤ�ʤ�����������
+
+Link �ˤ���С�������Τ����Ѵ����ǽ����͡�������union
+�ϰ�̣�ʤ�����record ����ľ���ʤ��Ȥ͡�
+
+recursion �� loop ��detect �����static ��compile
+�Ǥ��롣���뤤�ϡ�recursion ����ʬ��������ˤǤ���
+�󤸤�ʤ����ʡ�
+
+���줾��������ȷ�����ͻ������CW���̤�󤸤�ʤ�?
+(�ܵ�?)
--- a/mc-codegen.c	Mon Jul 21 15:13:37 2003 +0900
+++ b/mc-codegen.c	Thu Jul 31 20:57:39 2003 +0900
@@ -993,7 +993,7 @@
 	case REGISTER: code_assign_register(cadr(e2),byte,reg); return;
 	}
 	g_expr(e2);
-	code_assign(e2,byte,reg);
+	code_assign(creg,byte,reg);
 	return;
     }
     /* e2 is register now */