annotate Changes @ 443:f2d2e27a00a0 inline-before

minor fix
author kono
date Sun, 21 Nov 2004 01:27:21 +0900 (2004-11-20)
parents 86b04fb4562e
children 8bec605d1701
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
2 Thu Nov 25 17:27:12 JST 1999
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
3
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
4 subroutine call ���ʤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
5 �ɽ��ѿ���ʤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
6 �������ꡢ����ѿ���¿�Ѥ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
7 ����ѿ��Υ������פ϶ɽ�Ū
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
8 Fortran ���Ѥ˶ɽ��ѿ�����Ū�˼��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
9 recursion ������ˤϡ���ʬ����¸����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
10 subroutine call���Υ쥸�����Υ����֤�ɽ�Ū�˹Ԥ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
11 ����ϡ�����ä��Ѥ���ʤ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
12 ��äѤ�ǥե���ȤΥե졼��ϻ����⤯��?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
13
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
14 recursive call �Ȥ����Ǥʤ��Τ���̤��뤫?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
15
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
16 fp ���Ѱդ��������ɤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
17
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
18 �ؿ������Ʊ���ˡ��������Ѥ�fp�ι�¤�Τ��Ѱդ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
19
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
20 C ��compile������ˤϡ�stack������⤯
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
21 fp = (struct func_state *)stack
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
22 ���äȡ��ɤ������������? ������������⤢��櫓�͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
23 ���㤢��fp������? ����ϵ�������ʤ��ʡ�static
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
24 ��fp�ˤ�����ɤ��櫓�͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
25
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
26 func(void *stack) {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
27 static struct func_state {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
28 static struct func_state *fp;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
29 int local1;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
30 brahbrah...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
31 } func_state; // �����ޤ� hidden
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
32 func_state.fp = (stack -= sizeof(struct func_state));
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
33 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
34
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
35 func_state ��ȤäƤ���黻�Ҥ����ä������ɤ�? �����͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
36 func.state
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
37 ���餤?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
38
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
39 fp->local1 �ߤ����ʤ��Ȥ�������ʤ顢C ��Ʊ���ˤʤ롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
40
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
41 call �������argument �⡢
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
42 static �� func_state ���֤�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
43 stack ��� func_state ���֤�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
44 �Ȥ������̤������褬���롣C�ȸߴ��ʤ顢��������ԡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
45
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
46 Recursive �ʤ��Ԥ��������θ���Ͼ������ܤ򵭽Ҥ��뤫�顢static
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
47 �ʤ�ΤǤ��ɤ��Ϥ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
48
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
49 Internal function ��? ���äƤ⤤���������...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
50
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
51 Recursive call ������ˤϡ� fp ��save����ɬ�פ�����͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
52 (--(struct func_state *)stack) = fp;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
53 call callee(&fp->arg,continuation,stack);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
54 call ���Ƥ⡢��ä���ʤ�����... continuation �ϰ���Ū�ˤ�code
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
55 ������... ����� Internal function �ˤ��뤫��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
56
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
57 continuation �˰���Ū��compile������ˡ��ͤ��ʤ��Ȥ����ʤ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
58 self ��ɬ�פʤ櫓��?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
60 �����̾����ͤ��ʤ��Ȥ�����ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
61
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
62 C ����Υ���ѥ����񤫤ʤ��Ȥ����ʤ��Τ�...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
63
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
64 Mon Dec 13 18:53:04 JST 1999
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
65
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
66 compiler based �ǡ������� partial evaluation �Ǥ���?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
67
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
68 func ��database�Ȥ��ư����ʤ��ʤ顢����ϤǤ��ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
69
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
70 ���������������ܤȤ��Ƥϼ�갷���롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
71
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
72 func.state
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
73 func.code
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
74
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
75 �ߤ����ʷ��ˤ���partial evaluation������ɤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
76
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
77 �Ǥ�ߤޤ�Τ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
78
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
79 textual �Ǥʤ������Ū�ʥ�����ɽ�������ä������ɤ�? <-> interpreter?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
80
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
81 Prolog �ǤϤʤ�Ǥ����ʤ���? --> Unification ���Ť�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
82
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
83 Sat Nov 27 13:50:41 JST 1999
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
84
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
85 func.state �Ȥ����Τ��ä��顢
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
86 struct {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
87 struct {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
88 int i;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
89 } state;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
90 state *code = {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
91 i = i+1;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
92 };
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
93 } name;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
94 �ߤ����ʷ��ǡ����켫�Τ�¤�������? �ǡ������������ʬɾ������롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
95 �������ǽ���ʤ�ۤɡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
96 *name.code;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
97 �ͤϤ���櫓? �ͤ� &state �Ǥ��礦�͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
98 self �������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
99 struct {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
100 struct {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
101 int i;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
102 } state,
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
103 *code = {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
104 self->i = self->i+1;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
105 };
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
106 } name;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
107 ���ʡ�self = state ����͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
108
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
109 union �γ�ĥ�⤢�碌�Ƶ��������...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
110
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
111 Partial evaluator �򥻥ޥ�ƥ�������¹ԷϤˤ���Ƥ������Ȥϲ�ǽ��?
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
112
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
113 byte code �Ȥ����ۥޥ�����ä����ǽ�������Ǥʤ�����?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
114
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
115 ������ˤ��衢��¤�ΤΥ�����unique���������ʤ��Ȥ�����ʡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
116
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
117 �إå��ե�����Ϥɤ������?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
118
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
119 Mon Dec 13 18:53:18 JST 1999
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
120
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
121 library �Ȥ���������?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
122
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
123 exec sequence �Ǥϡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
124 (--(struct func_state *)stack) = fp;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
125 call callee(&fp->arg);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
126 �Ȥ�������pointer�����Ϥ���? ������Ѥ���͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
127
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
128 ���Ϥ��ˤ���Ȥ���С�ʣ�����ͤ��Ϥ����ۤ����ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
129
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
130 func(void *stack) {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
131 static struct func_state {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
132 static struct func_state *fp;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
133 int local1;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
134 brahbrah...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
135 } func_state; // �����ޤ� hidden
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
136 func_state.fp = (stack -= sizeof(struct func_state));
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
137 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
138
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
139 �ΰ������Τ�����¤�ΤǤ���٤���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
140
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
141 func(
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
142 struct void *stack
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
143 ) {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
144 static struct func_state {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
145 static struct func_state *fp;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
146 int local1;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
147 brahbrah...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
148 } func_state; // �����ޤ� hidden
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
149 func_state.fp = (stack -= sizeof(struct func_state));
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
150 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
151
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
152 �ǡ���¤�Τ� register storage �������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
153
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
154 func(
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
155 static struct argument {
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
156 register void *stack;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
157 register void *continuation;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
158 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
159 ) {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
160 static struct func_state {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
161 static struct func_state *fp;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
162 int local1;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
163 brahbrah...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
164 } func_state; // �����ޤ� hidden
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
165 func_state.fp = (stack -= sizeof(struct func_state));
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
166 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
167
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
168 ����ȡ�caller �����⡢��¤�Τ�����Ȥ���Τ�������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
169
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
170 call caller(
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
171 static struct argument {
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
172 register void *stack;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
173 register void *continuation;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
174 } arg = {a,b};
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
175 )
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
176
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
177 �ߤ����ʡ�������󡢤��ι�¤�Τϥ��󥿥ե������ȸƤФ�롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
178
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
179 argument �ϡ�callee �ˤ��ä������ɤ����ɡ�caller ¦�ˤ��äƤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
180 �ɤ���register �ʤ󤫤ϡ�������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
181
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
182 caller(interface caller_arg = {a,b,c})
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
183 �ߤ�����syntax ���ʡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
184 caller->interface = {a,b,c};
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
185 *caller->code;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
186 ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
187 caller(a,b,c);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
188 �ȾΤ��롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
189
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
190 function �ˤϡ�interface �� code �� state �����뤳�Ȥˤʤ롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
191
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
192 state �˥��������������lock��? protected state? synchronized state ����?
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
193 �������sequential implementation�Ǥϡ�����ʤ�ΤϤ���ʤ���
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
194
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
195 function {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
196 interface:
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
197 register int a;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
198 register struct self self;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
199 state:
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
200 int b;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
201 serialized int c;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
202 code:
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
203 b = a;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
204 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
205
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
206 int ��void value ��������롣�����ϽŤ��ʤ뤱��...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
207
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
208 serialized �� semantics ��?
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
209
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
210 �⤦����micro-C�˶᤯!
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
211
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
212 carrying state �� static state��
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
213
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
214 Mon Dec 13 19:42:41 JST 1999
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
215
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
216 interface �� register keyword ��Ȥ��Τϡ����ޤ��
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
217 ������ꤹ���롣�Ǥ⡢�Ǥʤ��Ⱦ��֤ˤǤ��ʤ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
218 ����ʤ��ȤϤʤ�������äѤ�caller¦��static �ΰ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
219 ľ�ܽ񤭹���?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
220
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
221 ����C����٤������Ǥ⡢������40�ĤȤ������줿��...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
222
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
223 Wed Dec 15 14:09:49 JST 1999
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
224
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
225 C �ȸߴ��ˤ���?
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
226 goto function(arguments);
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
227 goto *continuation(arguments);
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
228 �ߤ����ʴ����ǡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
229
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
230 stack�δ�����? �ɤ�����library �Ȥθߴ��ϤȤ�ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
231 �����ʤ��������...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
232
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
233 local �ѿ���������� stack ��ư�������Ǥ⡢�᤹�ۤ����ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
234 closure �����뤫?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
235
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
236 return �������ε�ư��ʣ���ˤʤ롣���return����櫓���顣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
237
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
238 arguments ��static �ΰ�ˤ��������������ȸߴ������Ȥ�ʤ���
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
239 stack ��� frame pointer ��ˤʤ��ȥ�������顣
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
240
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
241 ξΩ������Τ�̵����? �Ĥޤꡢ������ȡ��ƤӽФ��줿����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
242 frame semantics �ϡ�C �ȸߴ��ˤʤ롣�����顢stack��ľ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
243 frame pointer ������ȻפäƤ��� (������? ) frame pointer
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
244 stack pointer �˱�äư�ư����ľ��ˡ����������offset
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
245 �ǰ��������뤳�Ȥˤʤ롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
246
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
247 �Ĥޤꡢ����Ϥ�����ä����Ȥ���ʤ�? �Ĥޤꡢgoto ���ȡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
248 frame pointer �ϡ�stack ��ľ��Ȥϸ¤�ʤ����顣����
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
249 frame pointer ���Ф˰����˥����������Ƥ������̤����ɤ͡�
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
250
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
251 stack �˰������Ѥ�Τ���ǧ���ơ�goto �ξ��ϡ�������¦��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
252 stack �����äƤΤ�? �Ȥ������Ȥϡ����̤δؿ��������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
253 ��ˡ���Ѥ���äƤ��Ȥ����ޡ������Ϥʤ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
254
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
255 ����ȡ�goto ��semantics �ϡ�C �ȸߴ��ˤʤ롣����������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
256 �����ۤʤ뤳�Ȥ򤹤롣����ϡ��ʤ󤫤��������ʡ�����ˡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
257 ������ȴؿ��ƤӽФ����ڤ��ʤ�ʤ�...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
258
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
259 �Ȥ������Ȥϡ���ϤꡢC ��call �ϡ�call function ��
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
260 �¸����ơ�����¾�θƤӽФ��ϡ����٤ơ�goto ������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
261 ����������������������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
262
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
263 ����ϡ����θ���δؿ���call���줿�����ʡ�dual entry �ˤ��ơ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
264 call �λ��ȡ�goto �λ�����̤��뤫��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
265 func: stack processing
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
266 func_goto: normal processing
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
267 ...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
268 �ߤ����ʴ������Ǥ⡢return �Ϥʤ�����...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
269
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
270 ���Τ�����⼫ʬ�ǵ��ҤǤ������Ǥ���٤�����͡������̤ꡣ
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
271 �ĤޤꡢC �Ȥ�stub �⼫ʬ�ǵ��Ҥ���ȸ������Ȥ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
272
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
273 protocol function {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
274 interface c {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
275 register "%esp" struct {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
276 entry code ret(int);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
277 void *fp;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
278 } *sp;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
279 register "%ebp" void *fp;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
280 };
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
281 code function_code {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
282 fp = sp;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
283 sp += sizeof(struct local);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
284 struct local *local = sp;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
285
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
286 local->i = 1;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
287 goto *fp->ret(local->i),sp=fp; // return(local->i);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
288 };
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
289 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
290
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
291 �ߤ����ʴ����Ǥ������ä�����������֥顣���ޤ���return���������ɡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
292 �ޤ���return �Ϥ��Τޤ�return�Ǥ⤤�����ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
293
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
294 ����������ɤ������Τ�ʤ���code ��ʣ�������뤫�顣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
295
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
296 state �ʳ��ϡ�consistent state �Ǥ��뤳�Ȥ��ݾڤ��ʤ����äƤΤ�?
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
297 local �ѿ��ϻȤäƤ��ɤ����ɡ�call/goto ������ǡ��ͤ��ݾڤ��ʤ���...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
298
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
299 �����󡢤�������������Ƥ�ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
300
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
301 �����顢�쥸�������Ф���ޥåԥ󥰤ε��Ҥȡ������Ǥʤ���ʬ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
302 ���Ҥ�ʬΥ����٤��Ǥ��礦�͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
303
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
304
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
305 �������դ˼�������櫓�ˤϤ����ʤ����餡...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
306
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
307 Thu Dec 16 13:44:21 JST 1999
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
308
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
309 lock �Ͼ������ܥ�٥�Ǽ¸�����Τ����顢self �ʤɤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
310 �Ȥä�lock����ɬ�פϤʤ��Ϥ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
311
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
312 ���Τ�ľ�󲽤ϡ��������ܥ�٥�ǡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
313 lock(storage) -> transition
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
314 �ߤ����ʷ��ǵ��Ҥ�����ɤ�������������򡢤ɤΤ褦�˵��Ҥ��뤫��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
315 �⤦���������ꤷ�褦��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
316
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
317
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
318 �����ϥ쥸�����Ϥ��ˤ��褦��Ĺ�������ϡ��ƤӽФ�¦���ΰ�ؤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
319 �ݥ��󥿤Ȥ��롣�������ꤷ�Ƥ��ɤ�����������С�varargs
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
320 �ߤ����ʤ�ΤϤʤ��ʤ롣�����������ʤ�ǡ�����ʤ�Τ�����������?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
321 ������Ϥ��Ф��������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
322
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
323 �ʤΤǡ������ϰ��(or ���)�˸¤�Ȥ�����ˡ�⤢�롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
324
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
325 �Ȥ���ȡ���Ϥꡢ����ä���Ū�ΰ��ưŪ�ΰ����ݤ��뤳�Ȥ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
326 �Ǥ��ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
327
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
328 ���θ���Ǥ�ưŪ�ΰ�ϼ�ʬ�dz��ݤ���櫓�����顢������������ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
329
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
330 Thu Dec 16 20:24:55 JST 1999
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
331
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
332 �Ȥ���ȴؿ��ƤӽФ��ϡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
333 # register save
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
334 # set 1st argument in register %eax
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
335 # set 2nd argument in register %ecx
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
336 # set extra arguments in save area
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
337 # set extra argument pointer in %edx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
338 jmp function
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
339 �Ȥ��������ˤʤ�櫓�͡�second ���������ΤϤ��ɤ�����������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
340 �ˤ��褦��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
341
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
342 �����ȡ�frame pointer �Ϥʤ����ɡ�����ѥ���μ�礫�餹���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
343 ���ä������ɤ�����������frame pointer ���Τ�Τ�static
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
344 �ˤȤ�ΤϤޤ����������顢frame pointer ��first argument
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
345 �Ȥ������Ȥˤ����������������Ȥ���Ȱ����ϡ�����ˡ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
346 ��ȸ����櫓����
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
347 f(fp,argument)
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
348 fp ���Ϥ��Τˤ����argument ��쥸�������Ϥ��ΤϤ��������������������ɡ�
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
349 �ޡ��ɤ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
350
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
351 return ���ʤ��ʤ顢return type �������Ȥ�Τ��Ѥ��ʡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
352
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
353 f(fp,arg1,arg2,arg3) �Ȥ���ȡ����줾�줬��ޤä��쥸���������äơ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
354 ¿��ʬ������ˤ���Ȼפ��롣�դ�դ�...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
355 fp->xx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
356 �ǥ�����������С����Τޤ޶ɽ��ѿ��ˤʤ롣�����������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
357 ���äƤ��ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
358
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
359 .set label,value
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
360
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
361 �� as ���ͤ򥻥åȤ���褦�Ǥ��͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
362
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
363 �ؿ�������θ����ä���ʤ����������ο��ۤϤ��ʤ��Ƥ褤��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
364 frame pointer ��Ȥä��鼫ʬ�����ݤ򸫤뤳�ȡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
365
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
366 ����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
367 a = atoi(s);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
368 �ߤ����ʤ��ȤϤǤ��ʤ�...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
369
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
370 ���̤�C������ȸ򤸤�ȴְ㤤�䤹����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
371
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
372 �Ȥ���ȡ�struct ��Ʊ�ͤˡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
373 protocol
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
374 code
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
375 interface
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
376 state
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
377 ���Ѱդ���櫓�͡����֤���Τ���?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
378
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
379 �Ȥꤢ������register �Ϥ���function �����gotoʸ��������롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
380
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
381 code name(register "%ebp" void *arg) {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
382 goto name(arg);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
383 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
384
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
385 ���餤����? �ǡ�first argument ��ɬ��register�ˤΤ�褦�ˤ��ʤ���
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
386 �����ʤ���register storage class ������ơ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
387 register "%ebp" void *arg
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
388 �Ȥ�����櫓�͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
389
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
390 �äƤ��Ȥϡ��ޤ����쥸������������ʤ��Ȥ����ʤ��櫓�͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
391
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
392 �ǡ�stack ��Ȥä��黻�ϡ���������Τޤޤˤ���? ����Ǥ�ư���Ϥ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
393 ���������goto�ϻȤ��ʤ�������顢����Ǥ����Ϥ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
394
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
395 �ǡ����줫�顢������ĥ���Ƥ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
396
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
397 interface c {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
398 register "%ebp" void *arg;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
399 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
400 code name(interface c) {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
401 goto name(c.arg); // c. �Ͼ�ά��ǽ
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
402 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
403
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
404 �Ȥ��͡�����ˡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
405
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
406 protocol name {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
407 interface c {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
408 register "%ebp" void *arg;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
409 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
410 code name(interface c) {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
411 goto name(arg);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
412 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
413 code name1(interface c) {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
414 goto name(arg);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
415 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
416 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
417
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
418 �ʤɤȤ���櫓�����ʤ�ȡ����줬 C �ȶ�¸����櫓�͡�������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
419
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
420 Fri Dec 31 11:44:03 JST 1999
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
421
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
422 code �Ǥʤ��ơ��̤�̾���Τۤ����ɤ��ʤ�? segment? action?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
423
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
424 �쥸����̾������Τϡ���äѤꤤ�䡣optional�ˤϵ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
425
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
426 interface �Ϲ�¤�ΤΤ褦�ʤ�Τ�����... ��¤�ΤǤ����󤸤�ʤ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
427 ��¤�Τξ���... malloc ����? ����������malloc ����Ȥ��ơ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
428 ����free �����?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
429
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
430 ��������Ȥ��ˤϡ�����ƤƤ����󤸤�ʤ�? multi-thread �Ǥʤ���Ф͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
431 multi thread �Ǥϡ����֤ϡ��쥸������ͳ�ޤ��ϡ�thread local �˻���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
432 ɬ�פ����롣static �ϡ������� thread local �˻����ʤ��ƤϤʤ�ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
433 ����ѿ��˳�꿶�ä�����ᡣ�Ǥ⡢���ޤϡ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
434
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
435 interface �ϡ��Ȥꤢ��������ĤޤǤ����Ϥ��ˤ��褦��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
436 self �� arg
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
437 �Ǥ��͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
438
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
439 �⤦������ĥ���䤹������ѥ��餬�����ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
440
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
441 code name (c,a)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
442 struct state *c; struct arg *a;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
443 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
444 goto name(arg);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
445 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
446
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
447 local �ѿ���? ���θߴ��������꤫����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
448
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
449 KL/1 ��ռ����ơ�interface �� heap ���֤����Ȥˤ��Ƥ��ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
450 GC �ϸ��������Ƥ����٤�������interface�� machine independent
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
451 �Ǥ���٤������Ȥ���� use/forget �ߤ�����ΤϤ����������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
452 �Ǥ⺣�ΤȤ����Ϲͤ���ɬ�פϤʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
453
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
454 �����ȡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
455 code name (c,a)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
456 struct state *c; struct arg *a;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
457 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
458 int i;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
459 goto name(arg);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
460 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
461 �λ��ΰ���ѿ�i�Ϥɤ������? ����Ū�ˤϥ쥸����������Ƥ�����...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
462 ���Ѥ����ʤ�? �󡼡������ʸ�ո����ޤ�����äѤ�heap�˳�����Ƥ��㤦
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
463 �Τ���ñ�����Ǥ⡢�ɤ���ȴ������ˤϤ���ʤ��ʤ�櫓������...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
464
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
465 �ۤ�餤�������ѿ��ϡ�����call�Ǥ�ɬ��̵���ʤ�Τ����̡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
466
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
467 �Ȥˤ������쥸�����ѿ���ɬ�פʤ�Ǥ��礦?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
468
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
469 �����顢GC �ȹ�碌�Ƹ�����߷פ��٤�����͡�API ���ꤷ�ơ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
470 �ۤʤ�GC������Ǥ���褦�ˤ��롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
471
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
472 Sat Jan 1 22:40:22 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
473
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
474 �ȡ��ˤ����� storage class register ��������褦��
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
475
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
476 stmode=REGISTER
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
477
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
478 �ǡ�local storage �Ȥ��ʤ������Ȥ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
479 static register? �ϡ��ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
480
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
481 symbol table �� storage class �򤿤���? dsp==EXTRN ��Ƚ�ꤷ�Ƥ��뤫�顢
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
482 local �ѿ���36�ʾ夢��Ȥ��������ʤ뤾?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
483
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
484 sc �� GVAR/LVAR �����ɡ�register �� LVAR ���ü���ۤ����顢
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
485 sc �������ۤ�����������...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
486
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
487 Sun Jan 2 01:47:17 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
488
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
489 register �ѿ��ϤǤ��ޤ��������ɡ�register ����ĻȤ��ȡ�
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
490 ���դˤʤäƤ��ޤ��Τǡ�REGISTER6 �ǥ���ѥ��뤷�ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
491 �빽�Ҥɤ�������register �ѿ���%esi,%edi �˳�����Ƥ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
492 ��������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
493
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
494 Sun Jan 2 04:43:04 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
495
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
496 �ǡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
497 code name (c,a)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
498 struct state *c; struct arg *a;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
499 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
500 goto name(c);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
501 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
502 �ΰ���ѿ�̵���ϼ����Ǥ��ޤ�����������ĤޤǤ͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
503
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
504 .file "tmp.c"
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
505 .version "01.01"
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
506 gcc2_compiled.:
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
507 .text
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
508 #
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
509 # code name(c,a)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
510 .align 2
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
511 .globl code
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
512 code:
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
513 .type code,@function
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
514 # struct state *c; struct arg *a;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
515 # {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
516 # goto name(c);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
517 movl %esi,%esi
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
518 jmp name
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
519 _5:
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
520 .size code,_5-code
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
521 .ident "Micro-C compiled"
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
522
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
523 ������������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
524
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
525 goto ʸ�����ɤ�������stack �򤿤���ǡ�jmp �����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
526 �褤��������..
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
527
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
528 Sun Jan 2 11:17:50 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
529
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
530 ���̤�call��continuation base�ˤ��뤳�Ȥ��Ǥ���?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
531
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
532 Sun Jan 2 20:28:45 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
533
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
534 goto ʸ�����ɡ���Ϥꡢ���١�expr ���������Ƥ��顢top level
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
535 �� jump code ���������褦��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
536
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
537 Tue Jan 4 03:32:55 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
538
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
539 code ��type�ˤ��ʤ��ȡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
540 code *p;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
541 �Ȥ��񤱤ʤ��͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
542 int *p();
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
543 ��Ʊ�������ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
544
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
545
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
546 main(ac,av)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
547 int ac;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
548 char *av[];
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
549 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
550 goto code1(ac,av);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
551 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
552
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
553 code code1(ac,av)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
554 int ac;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
555 char *av[];
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
556 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
557 if (ac)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
558 goto code1(ac,av);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
559 else
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
560 goto ac(ac,av);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
561 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
562
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
563 Tue Jan 4 04:56:56 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
564
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
565 �����󡢤ʤ󤫥쥸�����ˤĤ������㤦
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
566 ����ϡ�adecl ��reverse�ˤĤफ�顣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
567
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
568 code ��return
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
569
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
570 ��Ϥ�code��type�ˤ��ʤ��Ȥ��ᡣ
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
571
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
572 main()
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
573 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
574 goto code1();
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
575 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
576
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
577 �Ȥ����ȡ�main ����ä����ʤ����������code1() �ʹߤǡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
578 return ����櫓�ˤϤ����ʤ���(main �� disp ��code1 ���Τ����ʤ�)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
579 goto label ��code1����������?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
580
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
581 main()
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
582 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
583 goto code1(ret);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
584 ret:
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
585 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
586
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
587 ������ȡ�ret ��forward label���ɤ���ʬ����ʤ�����?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
588
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
589 code1 ��ǻȤ�����ѿ��� stack ��ˤȤ�Τϰ����ʤ����������������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
590 %ebp ��ͳ�ǥ�����������Ȥ������Ȥϡ�main ������ѿ�������Ȥ������ȡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
591 ������ɤ��ˤϡ�main ���goto code�ǡ�%ebp �������Ƥ����ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
592 (������ä���ʤ��Τ�����ʤ�)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
593
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
594 code1 ��goto �Ǥϡ���ä���ʤ����顢����ɬ�פϤʤ�����������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
595 label ��code1 ����Ϥ����ȡ�����äȵ��ޤ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
596
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
597 �Ȥ���ȡ�����϶ػߤ��ơ�main() ���stack�򤿤���Ǥ���goto���뤫?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
598 ��������ȡ�̵�¸��ष�ơ���ɡ�����ʤ����Ȥˤʤ�... ������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
599
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
600 main() ���local code ������С�����ϲ�褹�뤬..
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
601
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
602 main()
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
603 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
604 goto code1(code2);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
605 code code2() {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
606 return;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
607 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
608 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
609
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
610 �ߤ����ʴ������Ǥ⡢���������scope rule ���Ѥ���ɬ�פ�����ΤǸ�������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
611 �ޡ������Ϥʤ����ɤ͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
612
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
613 continuation ������������ˡ�⤢�롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
614
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
615 main()
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
616 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
617 goto code1(continuation);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
618 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
619 code code1(ret)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
620 code (*ret)();
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
621 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
622 goto *ret;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
623 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
624
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
625 ����? call/cc ?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
626
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
627 label �ؤ�goto������Τ⤤�����ɡ�
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
628 �Ǥ⡢label ������ȡ�������spaghetti�ˤʤ�ʤ�?
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
629
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
630
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
631 Tue Jan 4 11:47:24 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
632
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
633 continuation ����ʤ��ơ�return keyword ��Ȥ�����
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
634 (�ºݡ�continuation �Ⱦ����㤦��)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
635 type �������Ѥˤʤ뤱�ɡ��ޤ��ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
636
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
637 int
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
638 main()
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
639 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
640 goto code1(return);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
641 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
642 code code1(ret)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
643 code (*ret)(int);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
644 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
645 goto *ret(3);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
646 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
647
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
648 ���ʡ�prototype ���դ��ʤ��Ȥ����ʤ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
649
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
650 Tue Jan 4 12:21:44 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
651
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
652 �������method�����٤�static �ˤʤäƤ��ޤ���dynamic ��method
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
653 �ƤӽФ��ˤ���ˤ�? dispatcher ��ʬ�Ǻ�뤳�Ȥˤʤ롣���ʤ�
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
654 ���ɤ�������...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
655
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
656 code method(obj,arg)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
657 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
658 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
659
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
660 �������뤤�ϡ�inline �ˤ��뤫... #define �Τ����� inline �ͤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
661 ����Ϥ��Ȥǹͤ����ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
662
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
663 Tue Jan 4 14:22:19 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
664
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
665 main ���ѿ�����٤��Τȡ�goto (*reg)(123) �Ǥ��ͤϡ�
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
666 register �Ϥ��ǡ�current register �ˤΤ�ʤ��Τǡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
667 ��ɡ�return label �����Ѥ˺��ɬ�פ����롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
668
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
669 Tue Jan 4 18:14:07 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
670
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
671 stack ��Ѥ�­���ơ��ƤӽФ���������С�call by value
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
672 ��register �Ϥ������¤���ɬ�פ�̵���ʤ롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
673
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
674 ʣ�����ͤ��֤����Ȥ��ưפ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
675
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
676 .file "tmp.c"
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
677 .version "01.01"
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
678 gcc2_compiled.:
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
679 .text
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
680 #
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
681 # code name(a,b,c,d,e,f)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
682 .align 2
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
683 .globl code
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
684 code:
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
685 .type code,@function
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
686 # struct arg *a,*b,*c,*d,*e,*f;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
687 # {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
688 # int g;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
689 # goto name(a,b,d,e,f);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
690 jmp name
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
691 _5:
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
692 .size code,_5-code
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
693 .ident "Micro-C compiled"
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
694
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
695 ����?!
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
696 %esp new %esp = old %esp - 12 -4
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
697 %ebp-4 = g
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
698 %esi = a
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
699 %edi = b
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
700 %ebp = old %esp 0
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
701 %ebp+4 = c code_arg_offset=0
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
702 %ebp+8 = d
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
703 %ebp+12 = e
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
704 %ebp+16 = f
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
705
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
706 interface ���դ��褦! �Ȥ�������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
707 goto name(struct {xxxx})
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
708 �ߤ����ʴ������ɤ��櫓�͡��ɤ��register�ˤ���뤫�ȸ�������Ϥ��뤬��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
709
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
710 �ǡ��ɤ���ä�call����Ф����櫓? emit_push���뤫����push
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
711 ����?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
712
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
713 ����������Ǥϡ����ᤫ��code argument �ο����Ѥ��ȡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
714 ebp �򤤤�����ư�������Ȥˤʤ롣�����ˤ�old sp �����뤫��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
715 �����Ĥ⥳�ԡ�����ɬ�פ����롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
716
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
717 %esp new %esp = old %esp - 20
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
718 %ebp-20 = g
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
719 %esi = a
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
720 %edi = b
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
721 %ebp-16 = c code_arg_offset= -16 ((nargs-max_reg)*int_size)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
722 %ebp-12 = d
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
723 %ebp-8 = e
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
724 %ebp-4 = f
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
725 %ebp = old %esp 0
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
726
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
727 ��������function ����call������ˤϡ�local �ѿ�����٤����ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
728
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
729 # goto name(a,b,d,e,f);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
730
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
731 %esp new %esp = old %esp - 20
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
732 %ebp-20 = g
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
733 %esi = a
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
734 %edi = b
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
735 %ebp-16 = c code_arg_offset= -16 ((nargs-max_reg)*int_size)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
736 %ebp-12 = d
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
737 %ebp-8 = e
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
738 %ebp-4 = f
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
739 %ebp = old %esp 0 disp=0 (*)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
740 local1 <----16 local variable
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
741 %edx -12 <- disp_offset
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
742 %ecx -8
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
743 %ebx -4
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
744 %ebp = %esp 0
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
745 %eip 4 <- arg_offset
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
746
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
747 �Ȥʤ롣�Ȥ������Ȥϡ�pushl %ebp �ϡ��ְ㤤��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
748
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
749 �����ɡ�%ebp �򤽤Τޤ޻Ȥ��Τ��ɤ��ʤ���disp_offset �������äƤ��뤫�顣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
750 �����顢�⤦���� pushl %ebp �����ۤ����褤����������push ������ϡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
751 ���(*)��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
752 leave movl %ebp,%esp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
753 popl %ebp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
754 ����ʤ��ä���?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
755
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
756 Thu Jan 6 13:00:33 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
757
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
758 �Ǥ����͡�����ǤȤꤢ����ư���Ϥ���®�٤��������...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
759 ���Ȥϡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
760 ANSI-C prototype
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
761 ANSI-C prototype check
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
762 Interface Definition
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
763 GC support
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
764 Direct handling of Frame
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
765 ���͡���ñ�˽��褽��? ���֤�...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
766
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
767 Fri Jan 7 09:42:53 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
768
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
769 goto ʸ��ư���Ƥʤ��ä������� peep hole optimization version ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
770 ��뤫?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
771
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
772 continuation �Ȥ��� label �������褦�ˤ���٤���?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
773 ��������������ʤ�����ɡ�����äȡ������ץ�����ब
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
774 �����褦�ˤʤ롣���ȡ�����¦�δĶ�(frame)��ݻ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
775 ɬ�פ����롣�ޡ��Ǥ��ʤ��Ϥʤ���...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
776
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
777 ��������ȡ�label ���ͤ���Ĥ褦�ˤʤ롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
778 a = label:;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
779 �Ȥ���������label:(a,b,c) {}; �ߤ����ʷ��ǡ�parallel ����������ȸ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
780 ��⤢��͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
781
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
782 �����������C�Ȥ��������ɤ���... main() { label:(){ ... } }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
783 �ߤ�����nest��������ɤ����ȸ������꤬���롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
784 �ѿ��λ��Ȥ�����ʤ���С��ä�����Ϥʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
785
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
786 a = label: �ϡ���Ťΰ�̣������ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
787
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
788 �����̾����DinnerBell II �Ȥ�? join �������?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
789 code entry_a().entry_b() {}
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
790 �Ǥ���? parallel call ��?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
791
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
792 Fri Jan 7 19:53:53 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
793
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
794 ���ޤΤޤޤ��� return ���Ķ�����äƤʤ����顢���æ�ФǤ��ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
795 �ޤ����Ķ�������Ƥ⤤��������ɡ��ɤ����֤����ȸ������꤬
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
796 ����͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
797
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
798 ��������ʤ��ơ�return ¦��Ƚ�Ǥ��뤫?
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
799 return(ID)
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
800 �ߤ����ʷ���ID��Ƚ�Ǥ��롣��������С�return ¦��ID
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
801 �򸫤�Ƚ�ǤǤ��롣����...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
802
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
803 �ޤ����Ϥ�ꡢ�Ķ�����ä��⤯�����������ʤ����Ǥ⡢
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
804 �����Ϥ��Ƥ��뤫�顢��İ����Ϥ��ơ�������Ȥ�줿�Ȥ��ˡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
805 ȿ��¦���ä��Ƥ��ޤ��ΤϤ�������͡����Τޤޤʤ�С�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
806 �����������Ȥϵ�����ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
807
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
808 continuation ��ͭ��������򤱤�ʤ顢���ΤޤޤǤ⤤�������...
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
809 continuation ��Ķ��ϡ����Υ����ƥ�Ǥϼ�ʬ�Ǻ�뤳�Ȥ�
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
810 �Ǥ��뤫��͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
811
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
812 �����ʤ������.... retlabel �� retcont �ϼ¤ϥ��֥�������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
813 ���Τ˰�Ĥ�����ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
814
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
815 �������Ϥ��Ȥ��ˡ������˴Ķ��ؤΥݥ��󥿤򤤤�Ƥ����ɤ��Τǡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
816 ���ϳ�ȴ�ñ��������������ȡ���ι�¤�Τ�������Ϥ��ȸ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
817 ������褹��ɬ�פ����롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
818
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
819 �Ǥ⡢���μ����ʤ�С��ޤä���Ʊ���ѿ��ι����ʤ�Х��ԡ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
820 �ºݤˤϵ�����ʤ��櫓����������ʤ��Ϥ����äˡ�������ݾڤ��뤿��ˡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
821 interface ���������ɬ�פ����롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
822
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
823 return ->
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
824 (void *)old bp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
825 return address
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
826
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
827 bp ��ľ�����Ǥ���褦�ˤ���Ȥ����������....
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
828
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
829 Sat Jan 8 08:49:59 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
830
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
831 ���ϡ�code ��Ǥ�return�Ǥ��ʤ��櫓�����ɡ��¤ϡ�return �äơ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
832 code return0(i) int i; { return(i); }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
833 ��? ���϶ػߤ��Ƥʤ�����񤱤��㤦��͡��ɤ�����code���Ф�������?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
834
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
835 doreturn() �Ǥ� retpending �򥻥åȤ��Ƥ�����������顢control=1
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
836 �Τޤޡ��ǡ�code �ν���ˤ���Τǥ��顼�ˤʤ롣checkret �ϡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
837 statement �ΰ�����Ƚ�Ǥ���褦�ˤ����ۤ�������Ū��������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
838
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
839 ���æ�ФϷ빽����������͡�����򥹥��åפ���Ƥ��줷����?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
840 destructor ��Ʊ���ǡ������code�������ƤӤ����Τ����̤�������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
841
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
842 bp ��Ʊ���ˤʤ�ޤ� return ������ɤ��櫓����͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
843 return ��Ʊ���ǡ�����Ū�˴Ķ�������Ϥ��褦�ˤ��뤫��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
844 type �� void * ���ɤ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
845
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
846 return �������stack�ξ�¤�ۤ��Ƥ��뤫�ɤ�����ʬ�ǥ����å�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
847 ɬ�פ�����͡�ï��return���뤫��code������������ɤ��櫓�����ɡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
848
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
849 code return0(i) int i; { return(i); }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
850
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
851 ������ơ������ǡ�frame pointer ����褢�뤤���Ϥ���������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
852 ��Ӥ��ƽ�������?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
853 code return0(i,env) int i; env *env; {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
854 if (env==self) return(i);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
855 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
856 ����? ����Ϥ���������͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
857 code return0(i,env) int i; env *env; {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
858 if (env!=self) {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
859 env->return();
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
860 return(i);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
861 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
862 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
863 �⡢�ʤ��Ѥ���ʤ����ƤӽФ��ȵս�˵��ꤿ���櫓����...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
864 �ºݡ��ս�ˤϵ��äƤ���櫓����͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
865
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
866 return ����Ǥ���������Ӥ���Ȥ������⤢�뤱�ɡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
867
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
868 ����ϡ�destructor ���Ϥ��������͡��������self ���ɤ��櫓������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
869 ���Τ�����ϡ����쳰������ǡ����������Ū�ˤ��������顢���θ����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
870 ��äƤ���櫓�ʤΤ����顢����������ǽ�������ΤϤ���������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
871
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
872 code return0(i) int i; { return(i); }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
873
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
874 ������ȡ�return �η������ʤ��ȸ������꤬������ʡ���ñ�ˤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
875 �����å��Ǥ��ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
876 int
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
877 main() {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
878 code a() {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
879 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
880 code b() {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
881 return(i);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
882 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
883 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
884 �ˤ���С�check �ϤǤ���褦�ˤʤ롣�Ǥ⡢������ȡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
885 int
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
886 main() {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
887 a: {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
888 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
889 b: {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
890 return(i);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
891 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
892 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
893 �Ⱥ����ʤ���module ������쳰�Ǥ��Ȥ����Τ���ݤʤΤ����顢����Ǥ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
894 �ޤ���������Ϲ�饢����֥�ʤΤ����顣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
895
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
896 ����������return �ȡ����æ�л���abort�Ȥϡ��������㤦�������顢
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
897 �̤�code ��ƤӽФ��ʤ��Ȥ��ᡣ���뤤�ϡ��ͤǶ��̤��뤫������ϡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
898 logic programming ��fail/success �Ȼ��Ƥ��롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
899 main() { } abort { ... }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
900 �Ǥ⤤������?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
901 main() { code abort { ... }; code return { ... }}
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
902 ����?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
903
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
904 ���衢subroutine call���Τ������ʤ�ξ�ά���ʤ櫓�����顢�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
905 �������ʤ������Τޤޤ��̾��subroutine call�򥷥ߥ�졼�ȤǤ���Τ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
906 code (struct arg {...},void *sp) {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
907 struct env;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
908 push(sp,arg);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
909 push(env,arg);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
910 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
911 �Ǥ��뤱�ɡ�����äȽŤ�����Ϥꡢframe pointer ��ľ�����ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
912 ���ᡣ
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
913
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
914 goto ʸ�Τۤ��ˡ�env ����������Τ��ä��ۤ��������Τ��⡣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
915 goto (*ret)(),environment;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
916 ���ʡ�type ��? (void *)?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
917 goto ret(),environment;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
918 �ˤϤʤ�ʤ���? ��������С���ʬ��thread������Ǥ��롣environment
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
919 ����������ɾ�����ʤ����ɤ���? �ޤ����ͤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
920
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
921 ����ϼ������ưפ���... goto �Ȥ��������񤯤Τ������ˤ����Τ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
922 env ���Ф���operation�����ä����������ʤ���push �Ȥ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
923
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
924 code return0(i) int i; { return(i); }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
925
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
926 ��ǧ���С�return ���ѿ��Ϥ���ʤ��ʤ롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
927
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
928 �Ǥ⡢�¤ϡ�return �ϡ�caller �ΰ����ο��Ȱ��פ��Ƥʤ��Ȥ����ʤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
929 �櫓�����顢 code return0(i) int i; { return(i); } �Ϥ��ᡣenv
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
930 �Ȱ��פ��Ƥʤ��Ȥ����ʤ����Ȥ������Ȥ�ʬΥ����Ȥޤ����󤸤�ʤ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
931 ����? ����ʤϤ��ʤ��ʡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
932
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
933 Sun Jan 9 01:15:56 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
934
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
935 ��ϤꡢʬΥ���ƤϤޤ�������Ȥ�ȡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
936 goto func(arg);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
937 ������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
938 goto func(arg) with current.env
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
939 �ߤ����ʤ�Τ����Ĥޤꡢ����ϡ�DinnerBell �Ρ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
940 self message: arg
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
941 ��Ʊ����self->func(arg); �Ǥ��ɤ�������function call�ȶ��̤��դ��ʤ��Τ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
942 �ɤ��ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
943
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
944 ��������ȡ�type code ��size int �Ǥʤ��ʤ롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
945 code *p = func;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
946 �ǤϤ����ʤ��ơ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
947 code p = {func,env};
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
948 �Ǥʤ��Ȥ����ʤ����ºݡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
949 goto func(arg)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
950 �Ǥϡ�current environment �� pushl %ebp ��stack = current env
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
951 ���Ѥ�Ǥ���櫓�����顣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
952
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
953 ������ˤ��衢
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
954 struct p = q;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
955 �ϼ�������ɬ�פ����롣local�ʡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
956 code p = {func,env};
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
957 ��ư���Ϥ�����...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
958
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
959 code (*p)();
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
960 goto (*p)(arg);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
961
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
962 �Ϥ����龯����������������ϡ�goto ��env ����äƤ���ȹͤ���٤���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
963
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
964 ���Τ褦�ˤ���ȡ���ˡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
965 func,env
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
966 ���Ȥ�code�Ȥߤʤ����Ȥˤʤ롣����ϡ�object �ȸƤ֤٤�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
967 ��������¸��object�Ȥ��̤���ʡ�actor �������ɤ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
968
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
969 �����󡢤����join�������С�������DinnerBell���ʡ����������Ϥʤ����ɡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
970
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
971 Sun Jan 9 01:40:05 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
972
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
973 local �ѿ��ν������allocation �θ���٤餻��ɬ�פ����롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
974 nptr ���������Ϥ������? nptr �˽�����ե饰��­����?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
975
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
976 ʸ����ǽи�����local�ѿ��ν������������ư���Ƥ����?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
977
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
978 ��¤�Τ�copy�ϡ�lcheck �������٤��Ǥʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
979
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
980 Sun Jan 9 08:49:43 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
981
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
982 �����󡢤ʤ󤫽�����¿���ʤ������ȡ��ؿ��ƤӽФ���goto ʸ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
983 ��¤�Τؤ��б�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
984
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
985 goto (*code)();
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
986
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
987 ����self env ��Ȥ��Τ���code ������ͤ�Ȥ��Τ�����̤���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
988 ɬ�פ����롣�⤷*��Ȥ�ʤ��Ȥ����label(FNAME)�Ȥζ��̤�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
989 �Ĥ��ʤ����������Ǥ⡢�Ķ�������⤯���Ȥˤ������顢label
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
990 �ؤ�jump���褦�Ȼפ��ФǤ���͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
991
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
992 ���������Ϥʤ��Ƥ⡢���ι����ʤ��statementñ�̤��������򸡽Ф���Τ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
993 �ưפ�������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
994
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
995 ���ФǤ��뤱�ɡ����ν������̤���1�����㽪��ʤ����ʤ���
188
4303255fc3cf minor fix
kono
parents: 187
diff changeset
996 ��ư�������������ΤǤ��礦?
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
997
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
998 Mon Jan 10 09:00:12 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
999
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1000 �����˹�¤�Τ�����ˤϡ�ɬ��ANSI-C�ˤ���ɬ�פ����롣�񤷤���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1001 �ʤ���...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1002
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1003 goto ʸ�ˤ� label, code, continuation ��3�Ĥ���롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1004 continuation = code + env
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1005 | label +env
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1006 �ʤΤ�����code/label �Ǥϡ�env �����Ƥ��ۤʤ롣�Ǥ�������򤤤���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1007 ���β��ͤϤ���Τ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1008
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1009 ��������code , env ��ʬΥ����Ȥ��ޤ�˴��������롣�ɤ���goto
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1010 �������ʤ�����餤����? ����������ñ����ñ�ʤ顢���ä�����ˡ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1011 �Ȥ�٤�����ʤ�? ������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1012
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1013 return �δؿ���¸���Ϥʤ����������ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1014 ��Ĥˤ���Τϡ�pop �����꤬����Τ��ɤ��ʤ���...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1015
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1016 ��������ret ��env����ꤷ�����褦�ˤ������顢leave ����ɬ�פ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1017 �ʤ��ʤä��������ơ�push %ebp ������������ʬ�ϡ�lea -disp(%ebp),%sp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1018 �Ǿõ��Ƥ��롣�Ȥ������Ȥϡ�jump ��function��¸��ʬ�Ϥ���ʤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1019 �Ȥ������Ȥ��͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1020
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1021 �Ǥ⡢�����ʤ���read only°����hardware support�Ǥ���Фʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1022
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
1023 sched_yields() ������񤱤뤫��? lock ��?
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1024
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1025 ������Ǥ������ɡ���äѤ������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1026
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1027 Wed Jan 12 16:12:27 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1028
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1029 ���ϡ�ANSI prototype �Ϥ��ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1030 bexpr()
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1031 �ǡ��ؿ��Ǥΰ����ν���ȡ����Τ��Ȥ�����ν�����Ѥ�뤳�Ȥ����롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1032 ��������ȡ�������������ͥ�褵��Ƥ��ޤ�������ϡ����ޤ롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1033
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1034 ��������code_arg_offset �Τ褦����ˡ���ȡ�ANSI style �Ǥϡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1035 ���äƤ��ޤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1036
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1037 Thu Jan 13 04:46:12 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1038
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1039 # goto name(a,b,d,e,f);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1040 code name { int g; ...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1041
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1042 %esp new %esp = old %esp - 20
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1043 %ebp-20 = g code's local variable
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1044 %ebp-12 = f <- new_disp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1045 %ebp-8 = d
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1046 %ebp-4 = d
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1047 %ebp-0 = c
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1048 %edi = b
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1049 %esi = a
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1050 %ebp = old %esp 0 disp=0 new env
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1051 local1 <----16 old local variable ( to be erased )
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1052 %edx -12 <- disp_offset
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1053 %ecx -8
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1054 %ebx -4
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1055 %ebp = %esp 0 <- old env
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1056 %eip 4 <- arg_offset
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1057
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1058
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1059 Thu Jan 13 13:38:24 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1060
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1061 ���������Ǥ������ɡ�test/tmp7.c ��printf ��type mismatch ��
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
1062 �ʤ�ʤ������? ANSI �������Ѥ������ʤ���
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1063
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1064 ������ȡ��ץ����������ؤ��ΤȤ��ˤϡ��빽���̤Υǡ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1065 ���ԡ����뤳�Ȥˤʤ롣����Ǥ⤤���������...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1066
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1067 ���줴�ȡ��ɤä��ˤȤä��֤���continuation�ؤλ��Ȥߤ����ʤ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1068 ���Ǥ��ʤ����ʡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1069
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1070 ���ԡ����Ǥ���С�environment/return ���Ȥ�ư���櫓�����顢
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1071 ����ؤλ��Ȥ����ؤ������äƤ��ɤ���͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1072
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1073 Fri Jan 14 12:03:35 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1074
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1075 Libretto ��keyboard�����줿... control key �������ʤ�...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1076
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1077 printf �λ��Ȥ�����ϲ�褷�ޤ�����list2 ��local��heap
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1078 �˳�����ƤƤ���Τ������ʤ��ä��͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1079
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1080 return �ν����ϡ�goto ʸ�ǽ��������ꡢenvironment ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1081 returnto ���������ɤ��Ϥʤ���?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1082
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1083 environment �ϼ¤�������Ǥ���ʤ�ν�����ɬ�ס�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1084 new-environment() �ߤ�����library ������С�thread �ˤǤ��롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1085
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1086 join ��?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1087
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1088 funcall ���Ѱդ�����ɤ��͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1089
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1090 Mon Jan 17 15:23:34 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1091
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1092 struct aa f1() {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1093 return bb;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1094 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1095
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1096 �ߤ����ʤΤ�? �ؿ��η��������η��򸫤ơ�crn ��pointer���Ϥ��ơ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1097 ���Ȥ�copy���Ƥ��� stack ����ࡣ
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1098
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1099 # bb=f1(aaa);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1100 movl $bb,%eax
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1101 pushl %eax
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1102 movl $aaa,%eax
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1103 pushl %eax
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1104 call main2
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1105 popl %edx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1106 copy %eax,%edx,$400
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1107 addl $400,%esp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1108 # return a1;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1109
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1110 �����Ǥ⡢������ȡ�local�ѿ����֤����Ȥ��˺���͡�leave; ret;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1111 ���ƤϤ����ʤ���...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1112
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1113 ������äѤꡢ�����������ϥ��ԡ����main2�˰����Ϥ��Ƥ���ߤ����͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1114 void f1(struct aa *ret) {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1115 *ret = bb ;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1116 return;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1117 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1118 ��Ʊ����������ϴ�ñ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1119 f1().a[55]
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1120 �ߤ����ʾ��ϡ��ɽ��ѿ��˶���Ū�˼�äƤ��ޤ��ߤ����͡�����Ϥ�����...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1121 ���������μ������Ȥ���äȸ���������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1122 leal $-sizeof(struct),%esp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1123 pushl %esp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1124 �ʤ�����ɡ��ؿ��ƤӽФ�������ǤϤǤ��ʤ�����....
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1125
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1126 # main(ac,av)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1127 # int ac;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1128 .align 2
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1129 .globl main
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1130 main:
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1131 .type main,@function
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1132 pushl %ebp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1133 movl %esp,%ebp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1134 pushl %ebx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1135 pushl %ecx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1136 pushl %edx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1137 # char *av[];
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1138 # {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1139 # register int i;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1140 # register char *p;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1141 # int j = 3;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1142 # struct { int b; void (*c)(struct aa); } q = {3,main1},r;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1143 #
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1144 # j = 3;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1145 subl $20,%esp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1146
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1147 ����subl��夫����ꤷ�Ƥ���Ok��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1148
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1149 �Ǥ⡢������� jump �λ��ˤ���ʤ�? ����뤫? �����͡�������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1150 �¹Ի��˥����å����Ƥ��Τ��Ѥ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1151
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1152 �ޤ�������ۤ�ɬ�פʵ�ǽ�ǤϤʤ�������ɡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1153
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1154 �����continuation���Ϥ��Ƥ��ȸ�����ˡ���Ȥ��ʤ����ȤϤʤ������...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1155
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1156 �ؿ��ƤӽФ��κǽ�ˤ�äƤ��Ф�����������ǤǤ��뤫��?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1157
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1158
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1159 Sun Feb 20 23:59:16 JST 2000
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1160
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1161 MIPS ��call frame
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1162
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1163 $sp = $fp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1164 local variables
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1165 saved register (including $31 = return address)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1166
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1167 mask �ϻ��Ѥ����쥸������bit pattern
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1168 -4 �ϲ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1169
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1170 18 .mask 0xc0000000,-4
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1171 19 .fmask 0x00000000,0
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1172 20 0000 D0FFBD27 subu $sp,$sp,48
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1173 21 0004 2C00BFAF sw $31,44($sp)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1174 22 0008 2800BEAF sw $fp,40($sp)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1175 23 000c 0000000C move $fp,$sp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1176 24 0010 21F0A003 jal __main
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1177 25 0014 03000224 li $2,0x00000003 # 3
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1178 26 0018 000082AF sw $2,a
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1179 27 001c 04000224 li $2,0x00000004 # 4
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1180 28 0020 00C082AF sw $2,b
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1181 29 0024 05000224 li $2,0x00000005 # 5
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1182 30 0028 000082A3 sb $2,c
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1183 31 002c 06000224 li $2,0x00000006 # 6
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1184 32 0030 08C082A3 sb $2,d
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1185 33 $L1:
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1186 34 0034 21E8C003 move $sp,$fp # sp not trusted
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1187 here
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1188 35 0038 2C00BF8F lw $31,44($sp)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1189 36 003c 2800BE8F lw $fp,40($sp)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1190 37 0040 0800E003 addu $sp,$sp,48
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1191 38 0044 3000BD27 j $31
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1192 39 .end main
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1193
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
1194 �����Ʊ���褦�ˤ���ʤ�С�register�λ��ѿ���ǽ��Ĵ�٤�ɬ�פ�
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1195 ����Τ����ɡ�one path compiler �Ǥ��� micro-C �Ǥϡ������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1196 �Ǥ��ʤ����������äơ�enter �ϸ���Ǥ��������ɤ���
67
254a0c576114 argument type list
kono
parents: 66
diff changeset
1197
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1198 Mon Jan 20 18:25:27 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1199
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1200 3ǯ�֤���äƤʤ��Τ��衣����äƤ��?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1201
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1202 goto ʸ�ΥХ���Ȥ�ʤ��Ȥ����ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1203
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1204 �ޤ����ؿ������ι�¤�Τ�Ÿ��������ϡ��ɤ��äƤ��Ȥʤ��Ϥ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1205
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1206 goto (*code)(i+1,j,...)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1207
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1208 �ޤ���������ʤ��Ƥ����ѿ���Ŧ�Ф��롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1209
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1210 foreach arg
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1211 compare
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1212
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1213 ñ��黻 ( op+const , pointer , const assign ) �ʤɤϡ������Ǹ��Ф��롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1214 ��Ⱦ�ϡ����Τ褦�ˤʤ�Ϥ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1215 �쥸�����˾褻��ʬ�����뤫��... ����ˤϿ���ʤ��Ȥ���...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1216
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1217 ʣ���ʤ�Τϡ�����äƷ׻����Ƥ�����(get_register ����)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1218 �����å��夫�쥸������˺�롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1219
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1220 �Ĥ�����������Ȥʤ롣�Ƶ�Ū�˷׻����롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1221
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1222 �����ȡ��礭�ʽ�ˤ�����ä�? �����ʽ�ˤ�����ä�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1223 code f( int a, int b, int c ) {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1224 goto g(b,c,a);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1225 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1226 �ߤ����ʤ�Ĥ���͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1227
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1228 ��ư�����Τ��ĸ��Ф��롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1229 ���Τ���˰�ư��ɬ�פʤ�Τ��ư���Ƥ���(�Ƶ�)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1230 ��������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1231
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1232 ����ʤ�Ǥ����Τ�? �롼�פ��ʤ�? �����͡��롼�פ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1233 get_register ���롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1234
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1235 ��������ȡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1236
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1237 g(b,c,a) ��b�����ܤ��롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1238 b���������륳���ɤ�Ф��ȡ�a ������롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1239 a ��ɬ�פ��ɤ�����Ĵ�٤롣����ϡ������Υꥹ�Ȥ򸫤�Ф狼�롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1240 �������ˡ�a ���ư���롣a �ΰ�ư��򸫤ơ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1241 �����Ƥ���С���ư����Ok����������c
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1242 �ʤΤǡ� c �򸫤롣�� b �ˤʤ�Τǡ��롼�פ���Τ��狼��Τǡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1243 b �� get_register ���롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1244 �ǡ�c ����ư�Ǥ��롣�ǡ�a���ư���ơ��ȤäƤ�����b��������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1245
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1246 Tue Jan 21 22:45:09 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1247
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1248 �Ȥꤢ������jump ��ʣ�������롣��äȴ�ñ�ˤ��뤳�Ȥ�ͤ��롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1249 parser ¦�Ǥ������ٽ����Ǥ��ʤ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1250
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1251 goto f(a+3,b(),c);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1252
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1253 �ʤɤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1254
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1255 a = a+3;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1256 b = b();
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1257 goto f(a,b,c);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1258
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1259 ���٤˴�ά�����롣���λ���f(a,b,c) ��(�Ǥ������)������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1260 �ؿ��ΰ����ꥹ�Ȥ˶��դ��롣�Τ�̵���ʤΤǡ�ñ���ѿ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1261 �ޤ����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1262
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1263 ���ޤ�ط��ʤ���������ѿ��Ϥɤ�������櫓�������äƤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1264 �ߤ����͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1265
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1266 ���Ȥ���ȡ����Υ����ɤȡ������Ѥ���͡����Τ⡢����ʤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1267 �����ʤ��äƤ��Ȥ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1268
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1269 Wed Jan 22 14:33:12 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1270
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1271 ��äѤꡢ����Ƕɽ��ѿ������䤷������͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1272
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1273 Fri Jan 31 20:30:36 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1274
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1275 �ʤ� #ifdef / #if ���ʤ��Ȥ�����ʡ���������?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1276 ���ޤ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1277
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1278 Tue Feb 4 01:04:12 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1279
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1280 ## while ((*chptr++ = c = getc(filep->fcb)) != '\n') {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1281 _1120:
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1282 movl $10,%eax
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1283 movl $8,%ecx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1284 movl filep,%edx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1285 addl %ecx,%edx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1286 movl (%edx),%edx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1287 pushl %edx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1288 xchg %edx,%eax .... edx ��$10������ (�ʤ��xchg?)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1289 call getc
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1290 addl $4,%esp
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1291 movl %eax,-20(%ebp) c ������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1292 movl $chptr,%ecx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1293 pushl %ecx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1294 popl %ebx
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1295 movl (%ebx),%ecx ecx ��chptr�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1296 addl $1,(%ebx)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1297 movb %al,(%ecx)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1298 subl %edx,%eax eax-edx ($10)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1299 je _1119
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1300
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1301 ���������ͳ�ʤ������...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1302
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1303 edx,ecx ���˲�������㤦�ߤ����͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1304
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1305 Tue Feb 4 12:17:07 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1306
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1307 �褦��ä�ľ������...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1308
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1309 use_pointer �äơ��ʤˤ⤷�ʤ��Ƥ���������? eax,ebx ���򤱤�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1310 �äƤ��Ȥ餷�����ɡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1311
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1312 inline/�����դ� #define �ߤ����ʤ�? �֤������ϡ�local name stack ���Ѥ󤸤㤦��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1313 Ÿ���� function �ǹԤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1314
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1315 getch ���פ���ɬ�פϤ��뤬���֤����������å���ɬ�ס�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1316
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1317
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1318 Wed Feb 5 01:16:00 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1319
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1320 ����������줿 struct field ������ѿ��ȽŤʤäƤ��������롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1321 ����㤽�������ɡ��ɤ������? (ľ�������������������ɤʤ�...)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1322 struct ��� field ̾��offset/type ���Ȥ���ƤФ��ɤ������͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1323
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1324 �ʤ�����ɡ�����̵���ι�¤�Τ⤢�뤫�顢��̾�������դ���ɬ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1325 �⤢�롣�Ȥ����Τϡ���̾�Τʤ���¤�Τ⤢�뤫�顣����̾�ˤϡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1326 ������ꥹ�Ȥ��Ĥ��Ƥ��롣�ʤ󤫤˻Ȥ�ɬ�פ����ä���Ǥ��礦
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1327 �͡��������ɤ���̵���ˤ�äƤ�����ѿ�̾������Τ�ľ����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1328 ���񤷤���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1329
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1330 ����äȡ���������ɡ��ַ�̾.�ե������̾�פ���Ͽ���Ƥ��ޤ��ΤϤɤ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1331 ��̾����ǽФ����Ȥ��������ޤ�����...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1332
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1333 def ����Ͽ����Ȥ��ˡ�nptr��disp�����������ˡ�struct field list
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1334 (����ѿ�) ������ơ�type �����ˡ�field list (list3(nptr,offset,
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1335 type)) ���������ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1336
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1337 ���Ȥϡ�strop ������type��list�򸫤�褦�ˤ�����ɤ��櫓����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1338
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1339 ����ʤ顢��ñ��ľ����Ϥ���LUSTR/GUSTR�ʤɤζ��̤�ʤ��ʤ뤷��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1340
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1341 Wed Feb 5 02:10:14 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1342
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1343 ��ư�������ͤ���������ANSI C�ˤ���Τ����ѡ��Ǥ⡢
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1344 ��ư���������餤�ʤ��ȡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1345
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1346 code generation part �򡢤����ʬ�䤷�ơ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1347 ʣ���Υ������б��ˤ��䤹���褦�ˤ��롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1348 �����餯������ۤɶ�ͭ������ʬ�Ϥʤ����ɤ͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1349
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1350 Sample C code �򥳥�ѥ��뤷�ơ����η�̤���(Ⱦʬ��ư��)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1351 Micro CbC code generation part ������������ˡ���Ѱդ��롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1352
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1353
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1354
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1355 Thu Feb 6 11:47:03 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1356
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
1357 Code Segment ��ñ�̤Ȥ��ƻȤ��Ȥ��ˡ�����ѿ��Ϥɤ�����
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1358 �褦��ʬ�����? static �ʤ󤫤ϰ�̣�ʤ���͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1359
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1360 ������󡢼����˥��롼��ʬ�������櫓�����ɡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1361
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1362 ���ȥǡ����ե�������͡��ǡ����ե����˴ؤ��Ƥϡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1363 ����ޤ��äƤʤ��ʤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1364
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1365 Fri Feb 7 14:36:15 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1366
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1367 inline �Ǥϡ�ɬ�餺���ɽ��ѿ������ä����롣�ޤ���inline
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1368 �����̤δؿ��Ȥ���Ÿ�����Ƥ���ɬ�פ⤢��餷����(����?)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1369
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1370 #define �ͤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1371
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1372 #define c(a,b) g(a+1,b+1)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1373 #define g(a,b) printf("%d %d\n",a+1,b+1);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1374
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1375 main() {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1376 int a,b;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1377 a =1; b = 3;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1378 c(a,b);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1379 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1380
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1381 local #define ����������͡�g ����� a ���Ф��褿���ˤϡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1382 c ��a ���֤������ϵ����äƤϤ����ʤ����Ȥ������Ȥϡ�c
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1383 ���֤�������g ���Ϥޤ����˽��äƤ���ɬ�פ����롣dynamic
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1384 scope �ʤ�����顢assoc �ξ�褻���ɤ��Ϥ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1385 macro ��level��������ơ������٥�Ǥϡ����������Ÿ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1386 ��Ԥ�ʤ��Ȥ�����ˡ���ɤ����ʡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1387
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1388 c(a,b) => a=>"a+1", b=>"b+1"
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1389 g(a,b) => (a=>"a+1+1",a=>"a+1"), (b=>"b+1+1",a=>"a+1")
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1390
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1391 �ߤ����ʴ���?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1392
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1393 ��äѤ�ؿ����Ϥǥޥ����������餻��Τ�̵������? ���ɤߤ�����㤦����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1394
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1395 Sat Feb 8 00:53:52 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1396
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1397 macro ������ޤǽ񤭤ޤ������֤�������ޥ������ƤӽФ��줿
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1398 ������ cheap ���֤��ȡ�������ä��륿���ߥ󥰤��ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1399 ��������malloc���Ƥ��ɤ���..
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1400
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1401 chptrsave ��list�ˤ���ɬ�פ����롣list ���ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1402
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1403 ��äѤ�macro level�򸫤ơ���ʬ�Ȱ��פ���assoc value�ޤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1404 �귫�ä��ִ������Ǥ��礦����������С��֤�������ɬ�פ�̵����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1405 �Ȥ������Ȥϡ�local_define ��mflags���Ǽ����ɬ�פ����롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1406
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1407 c(a,b) => a=>"a", b=>"b"
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1408 a=>"a" .. mflag == 1
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1409 g(a,b) => (a=>"a+1+1",a=>"a+1"), (b=>"b+1+1",a=>"a+1")
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1410 a=>"a+1" .. mflag == 2
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1411
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1412 macro �Τ�Ȥ�nptr ���ĤäƤʤ��ȡ����ꥸ�ʥ���֤��ʤ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1413 �ꥸ�ʥ�ϡ�sc �ʤɤ��˲�����Ƥ��ޤ����äƤ��Ȥϡ�local macro
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1414 �ϡ�local table ������ƤϤ����ʤ��äƤ��Ȥ���͡��äƤ��Ȥϡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1415 macro table �ϡ���ȤΤȤ��̤��Ѱդ���ɬ�פ����롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1416
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1417 #define c(a,b) g(a+1,b+1)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1418 #define g(a,b) printf("%d %d\n",a+2,b+2);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1419
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1420 main() {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1421 int a,b; a ... local
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1422 a =1; b = 3;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1423 #ifndef a
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1424 c(a, a = "a".. macro mflag==1
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1425 g(a,
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1426 a="a+1" mflag==2
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1427 ^ a = "a" mflag==1
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1428 While replacing a in g's body, a should not
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1429 be replaced to (original) "a", should be c's a.
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1430 b);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1431 /* 3,5 expected */
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1432 #endif
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1433 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1434
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1435 �����ࡣ��䤳������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1436
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1437 main()
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1438 c(a,b) mflag++
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1439 a=>"a" mflag ==1
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1440 g(a,b) mflag++;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1441 a=>"a+1" mflag ==2
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1442 ^ is replaced by c's "a" not g's a;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1443 ���ä��� mflag level n ��Ÿ�������顢����� mflag level n-1 �Ȥʤ롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1444
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1445 Sat Feb 8 18:13:43 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1446
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1447 ����������mflag �ޤǤϥǥХå�������.... mflag ���ᤷ�Ƥʤ��󤸤�ʤ���?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1448
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1449 ---c(a,b)----------------------- mflag ==1
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1450 a=>hoge, b=>hoga (mflag==1)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1451 ----g(ac,bc)----------------- mflag ==2
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1452 ac=>goge, bc=>goga(mflag==2)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1453 ----printf(a,b)---------- mflag ==3
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1454 a=>poge, b=>poga(mflag==3)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1455
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1456 g ���ƤӽФ����ȡ�ac,bc �� mflag==1 �ǤΤ��ִ�����롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1457
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1458 ����ƥ����Ȥ��֤�������ȡ�������֤��������ޥ�����mflag level
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1459 (�Ĥޤ��ľ��ʤ���٥�)�ˤʤ롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1460 �֤��������ä��顢����level���᤹��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1461
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1462 mflag==2��level �Ǥϡ�mflag==2��local macro��Ÿ���������ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1463
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1464 �֤�������ȡ�mflag level 1 �ˤʤ�Τǡ������� mflag==1 ��local
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1465 macro ��Ÿ�����롣mflag==0 �Ͼ��Ÿ����Ԥ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1466
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1467 Sun Feb 9 11:35:23 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1468
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1469 �����󡢤ʤ�type����list ��CHAR�ʤɤ��������äƤ��뤸���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1470 int save = chptrsave;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1471 �ǡ�chptrsave ����$chptrsave �ˤʤäƤ��ޤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1472
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1473 Sun Feb 9 22:33:36 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1474
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1475
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1476 #define car(e) (heap[(int)(e)])
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1477 #define cadr(e) (heap[((int)(e))+1])
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1478 car(cadr(e))
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1479
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1480 ������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1481 car ->
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1482 #define e cadr(e) (mleve=1)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1483 cadr ->
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1484 #define e e (mleve=2)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1485
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1486 �थ�����졢���ޤ������ʤ��󤸤�󡣤��ޤä��ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1487
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1488 #define c(a,b) g(a+1,b+1)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1489 #define g(a,b) printf("%d %d\n",a+1,b+1);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1490 c(a, b);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1491
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1492 ���ä�����ᤸ��󡣤ա��ࡣlisp interpreter �Τ褦��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1493 ���Ф����Ϥ��ʤ�����ɡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1494
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1495 Mon Feb 10 08:10:25 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1496
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1497 ��ɡ�list base ��interpreter ��������ޤ�����������ʤ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1498 ������ˡ�Ǥ⡢��ĥ��ФǤ����Ǥ��礦���ɤ͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1499
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1500 Tue Feb 11 13:50:03 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1501
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1502 struct copy ������... �ؿ���struct���֤��Ȥ��ˡ�����������ä�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1503 �Ѥ�Ǥ����ΤǤϡ��������ͤ����ԡ�����Ƥ��ޤ��������Ȥǡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1504 �����å��򤿤�����֤��Ȥ��ˤ��ޤ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1505
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1506 function call �λ��ˡ������η��Υ����å��򤷤Ƥʤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1507
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1508 type �� -1 ��heap�ΰ��������ߤ��Ƥ����Ĥ�����..
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1509 ��äѤޤ����󤸤�ʤ���?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1510
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
1511 temporal struct �Ϻ����ѤǤ��������ɡ�disp���ѹ����Ǥ��ʤ��Τ�
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1512 ��������뤷���ʤ����礭���Ȥ��������������ʤ�Ƥ���������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1513 ���Ϥ��뤱�ɡ�(��������ȡ����ä��褿�ͤؤΥݥ��󥿤�Ȥ��ʤ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1514 �ʤ뤬.... �̤ˤ�����͡�����ͤ��켫�Ȥ�ľ�� return ����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1515 ����������礦�֤ʤϤ�)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1516
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1517 ��ɡ��ƽ�¦�ǡ��ΰ����ݤ��ư����Ϥ����Ȥˤ��ޤ�����������ˡ���ȡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1518 �����ΤȤ������٥��ԡ�����ɬ�פ�ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1519
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1520 register ����Ѥ��Ƥ��뤫��������ʤ��ơ��ºݤ�creg/dreg��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1521 �ͤ����뤫�ɤ����򵭲�����ɬ�פ����롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1522
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1523 Wed Feb 12 11:09:22 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1524
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1525 ��������ɤ�... ��äѤꥢ�ɥۥå��˼¸�����Τ��񤷤��󤸤�ʤ���?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1526
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1527 �ޤ��ͤ���register �ξ��γ��ݤȡ���̿���̤����顢�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1528 ����������ɡ�regs flag �����Ǥʤ�Ȥ��ʤ�ʤ��Τ��ʡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1529 ���������ѹ��ϤϤޤ뤬��������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1530
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1531 Thu Feb 13 18:37:36 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1532
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1533 ���ơ��������� jump �ˤȤ꤫����ޤ�����
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1534
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1535 ��¤�Τΰ����Ϥ��Υ��������󥹤˻Ȥ��ɽ��ѿ��ΰ��֤�gcc�Ȱ㤦...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1536
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1537 �������� register �Ϲ�¤�Τˤ��٤����͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1538 struct register {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1539 int used;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1540 int valued;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1541 char *name;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1542 char *wname;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1543 char *bname;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1544 int type; /* register variable or not */
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1545 int number;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1546 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1547 virtual/real �ϡ��ɤ����롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1548
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1549 Sat Feb 15 14:00:03 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1550
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1551 fdecl_struct ��ʸŪ�˰������и�����Ȥ��˹Ԥ��ȡ�int *f(int
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1552 a) �ʤɤǡ�* ��ɾ�����������ˡ�int a��ɾ�����줷�ޤ���*obj
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1553 ��obj ��ɾ��������ʤ���f�Υ����פ����ꤷ�ʤ���int*f()[] ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1554 �����ʾ�礬���뤫�顣(?) �ʤΤǡ�gcc �ȡ��������뤿��ˤϡ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1555 arg ����Ƭ�� fdecl_struct ��Ԥ���ˡ�ǤϤ���ǡ�fdecl ��Ǥ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1556 �Ȥ��齤�����������ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1557
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1558 fix ���褦�ˤ�����ꥹ�Ȥʤ�ơ�¸�ߤ��ʤ������!
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1559
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1560 varargs ���������ΤϤ��ɤ���������...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1561
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1562 rvalue(expr(),type) �Ǥϡ�expr() ��type��rvalue�˰����Ϥ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1563 �����Ǥ⡢type ������ѿ��ˤ���ȡ�rvalue��ۤʤ륿���פǸ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1564 �ӽФ��Ȥ���type���ѹ�����ɬ�פ����롣����rvalue��type �ΰ�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1565 ���ϡ����ʤ�Ϥޤä����Ȥ�����Τǡ�rvalue(int e,int type)��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1566 �����ɤ����ȤϳΤ��ʤ����...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1567
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1568 struct_push ��register�ΰ�����ʣ���������ʤ󤫡���ä�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1569 ��ñ�ˤʤ�ʤ���?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1570
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1571 Sun Feb 16 07:58:23 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1572
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1573 �������ʤ����ɤ�����ȸ��äơ�������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1574 �Υꥹ�Ȥ�������Ƥϡ���񤭤��ɤ��ʤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1575
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1576 Sun Feb 16 22:55:58 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1577
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1578 vdisp �äƤʤ���ä����?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1579
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1580 Mon Feb 17 12:35:39 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1581
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1582 ���������Ͻ��褿�ߤ����������Ͼ�������Τ���ˤ��٤��ʤΤ�?
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1583 �ޤ����Ǥ���㤤��������ɡ������򤱤��Τ��礭���ΤϤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1584 ����͡�
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1585
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1586 Tue Feb 18 11:56:10 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1587
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
1588 overlapped �Ѥ� emit_copy
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1589 float/double
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1590 long long
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1591
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1592 Tue Feb 18 19:34:31 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1593
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1594 code argument ������ȿž������ȡ�list2(LVAR,offset)
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1595 ��offset�����ɥ쥹�������Ȱ��פ��Ƥ���Ȥ�������
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1596 ����롣����ǡ���¤�Τγ�Ǽ���������Ƥ��ޤ�...
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1597
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1598 �Ȥ������Ȥ�... def(n) ��code�λ���argument�ϡ��ɽ��ѿ���Ʊ��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1599 �����ǥޥ��ʥ����ǽ������������ɤ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1600
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1601 �Ǥ����ߤ������Ǥ⤵��
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1602
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1603 int main( int ac, char *av[])
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1604 {
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1605 int n;
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1606 goto arg1(0,1,2,3,4,return,environment);
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1607 }
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1608
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1609 �äơ����ä� return ʸ���ʤ��ȡ�ʸ���
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1610 �������͡����ࡣ
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1611
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
1612 post processing �������overlap���Ƥʤ��Ȥ����ݾڤ��ʤ���
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1613
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1614 Wed Feb 19 15:38:55 JST 2003
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1615
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
1616 ��ʬ���ȤȤ�overlap�򸫤Ƥʤ��Τǡ�
59
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1617 struct a a,int i
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1618 int i,struct a a
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1619 �ߤ����ʻ��˼�ʬ���Ȥ�����Ƥ��ޤ����ʤΤǡ�emit_copy
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1620 ���������������򸫤Ʋ����ʤ��褦�˽�������ɬ�פ����롣
eeca07d1b1c2 *** empty log message ***
kono
parents:
diff changeset
1621
75
92dcf107a837 c code output
kono
parents: 73
diff changeset
1622 call bcopy �Ǥ�������󡣤ޤ͡�
64
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1623
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1624 Wed Feb 19 20:42:07 JST 2003
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1625
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1626 �̤���� C2CbC �� CbC2C ��micro C �˼����ࡣ�ƽ�ˡ�
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1627 conv->func(); �������ࡣconv �ϡ���¤�Ρ�
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1628
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1629 conv: original
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1630 c2cbc
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1631 cbc2c
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1632
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1633 �Ȥ��롣�ʤ�ۤɡ�
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1634
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1635 Thu Feb 20 05:34:58 JST 2003
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1636
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1637 �थ��code-ia32 �Ƿ빽�Ϥޤä������ȡ�stack �Υ��饤���Ȥ�
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1638 �����ߤ�����6809�Ǥ�����ˤʤ�ʤ��ä�������ɤ͡�
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1639 leave ��Ĵ������٤���
262c8059e5df *** empty log message ***
kono
parents: 59
diff changeset
1640
66
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1641
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1642 Thu Feb 20 14:42:46 JST 2003
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1643
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1644 c2cbc,cbc2c �ʤ�����ɡ����ä��󡢹�ʸ�ڤˤ��Ƥ����Ѵ�����ȡ�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1645 �빽��������󤬤��뤱�ɡ�������? �ä˶ɽ��ѿ���̾���Ȥ���
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1646 �ξ���Ȥ���macro �⤽�������ɡ� indent ���餤��¸�Ǥ��ʤ���
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1647 �ʤ������������function call��������갷��ɬ�פ������
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1648 �ǡ���ʸ�ڤˤ��Ƥ���׻����뤷���ʤ����ʡ�gexpr ���������
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1649 ������褦�ˤ��뤫����������ȡ���������Τϡ�statement �ȡ�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1650 gexpr �ˤʤ롣�Ǥ⡢��ɡ���ʸ�ڤǷ�������⤯�����ʤ��󤸤�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1651 �ʤ���? ��äѤ��Ѥ��衣���ξ��󤬤ʤ��Τϡ�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1652
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1653 �����ǤϤʤ��ơ�exprN() ���Ѵ����Ƥ�����ˡ�⤢�롣��������
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1654 ���󤬷���ʤ��Τdzڤ���������������ȡ���������Τϡ�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1655 exprN(),doXXXX()
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1656 �Ȥʤ롣����ϡ��̤�¿�������ɡ��ޤ��������������������
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1657 ���ꥸ�ʥ����¸���䤹����
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1658
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1659 ����ѿ���������ɲä���ȡ������������äƽ��ϤǤ��ʤ�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1660 �ʤ롣{int a;...} ��ǧ�����ɤ��櫓���ɡ��������񤷤��ʤ���
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1661 ���㡢����? �Ǥ⡢�����ʤ�ʤ������Ϥ򤤤ä���Хåե�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1662 ��������? �ɤ���? cheapp �Ǥ���? ����ѿ��Ϥ���ʤ���
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1663 ����ʤ���?
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1664 a = g(i)+a;
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1665 �Ǥ��硣
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1666 goto g_1(i,f_1,save_a); }
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1667 code g_1(i,f_1,save_a) { .... goto f_1(ret_value,save_a); }
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1668 code f_1(ret_value,save_a) { a = ret_value+a; ...}
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1669 ����󡣤���ʤ�����󡣡�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1670
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1671
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1672 ����ɽ������롼����ɬ�פ��͡�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1673
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1674 ���ɤ������ʤ���CbC��Prolog version �Ȥ��ۤ����ʤ�����������С�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1675 �Ѵ��ϴ�ñ���Ǥ⡢������Ȥ��ƤǤ��ʤ��ä����ȤǤ⤢��ʡ�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1676
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1677
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1678 Thu Feb 20 21:13:23 JST 2003
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1679
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1680 MC6809 �� mc-codegen.c version ��? (����äȵ���������?)
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1681 X �� D �ǡ�use_data_register, use_pointer ���Ƥ�롣
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1682 tosop �ǡ�X �� D �δ֤�­���������̰������롣
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1683 (�ʤ�ۤ�...) MAX_MAX=0�Ǥ��ޤ�ư���Τ�? ��äѤꡢ1��
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1684 �����͡��Ǥ���С�2����͡�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1685
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1686 �빽����ư���������ñ���⡣
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1687
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1688 ���Ѥν񤭴����ġ��������������
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1689
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1690 �Ǥ⡢Prolog version �äƤΤ����򤽤���
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1691 code(name,interface(....)) :-
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1692 p()....,goto(name,interface(....)).
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1693 �ߤ����ʴ���? �빽����ñ��interpreter��񤱤뤫���Τ�ʤ���
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1694 ����ϡ�������͡�thread diagram interpreter �Ȼ��Ƥ��롣
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1695
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1696 Fri Feb 21 13:34:17 JST 2003
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1697
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1698 ��ʸ���ǤǤν񤭴��������ɡ��ɤ줯�餤��ǽ�Ϥ������?
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1699 ���ξ�Ǥν񤭴����������ȡ�����ä��㤹���ʤ�? ����ǡ�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1700 cbc2c,c2cbc �ϤǤ���Ȥϻפ���
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1701
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1702 �ޤ���������.. chk ��̵�뤷�Ƥ���Ȥ������빽�����Ǥ����ɡ�
0b068058dd67 *** empty log message ***
kono
parents: 64
diff changeset
1703 jmp,enter,leave ...
67
254a0c576114 argument type list
kono
parents: 66
diff changeset
1704
254a0c576114 argument type list
kono
parents: 66
diff changeset
1705 Sat Feb 22 13:05:04 JST 2003
254a0c576114 argument type list
kono
parents: 66
diff changeset
1706
254a0c576114 argument type list
kono
parents: 66
diff changeset
1707 type �������...
254a0c576114 argument type list
kono
parents: 66
diff changeset
1708
254a0c576114 argument type list
kono
parents: 66
diff changeset
1709 conv �Ϥ���Ⱦ��default conv���ƤФ�롣�ʤΤǡ�c.c
254a0c576114 argument type list
kono
parents: 66
diff changeset
1710 �äƤ������ϡ�default.c����͡�ɬ�פʤȤ���������
254a0c576114 argument type list
kono
parents: 66
diff changeset
1711 ��ʬ����������ȸ�����ˡ���ɤ�����������������
254a0c576114 argument type list
kono
parents: 66
diff changeset
1712 �إå����ĤǺѤष���������object �ظ��ʤ�
254a0c576114 argument type list
kono
parents: 66
diff changeset
1713 ��ñ�ʤ����...
254a0c576114 argument type list
kono
parents: 66
diff changeset
1714
254a0c576114 argument type list
kono
parents: 66
diff changeset
1715
254a0c576114 argument type list
kono
parents: 66
diff changeset
1716 Sun Feb 23 19:47:41 JST 2003
254a0c576114 argument type list
kono
parents: 66
diff changeset
1717
254a0c576114 argument type list
kono
parents: 66
diff changeset
1718 struct ��type��������������ɡ������������顢���Ȥϰ���
254a0c576114 argument type list
kono
parents: 66
diff changeset
1719 ���ʤ������ɤ����դ����񤯤ʤ顢tag̾type̾�ϡ�����ʤ���
254a0c576114 argument type list
kono
parents: 66
diff changeset
1720 ����
254a0c576114 argument type list
kono
parents: 66
diff changeset
1721
254a0c576114 argument type list
kono
parents: 66
diff changeset
1722 �Ȥ����type�β��Ϥ���ndecl�ǽ�������? �����Ǥϡ������
254a0c576114 argument type list
kono
parents: 66
diff changeset
1723 �����櫓�����ɡ�
254a0c576114 argument type list
kono
parents: 66
diff changeset
1724
254a0c576114 argument type list
kono
parents: 66
diff changeset
1725 ���Υ����פΰ������ȺƵ����ϰ�������λ���ʤ��󤸤�ʤ���?
254a0c576114 argument type list
kono
parents: 66
diff changeset
1726 ���ʤ��͡�
69
dba8d111b7a0 c output
kono
parents: 67
diff changeset
1727
dba8d111b7a0 c output
kono
parents: 67
diff changeset
1728 Mon Feb 24 02:31:06 JST 2003
dba8d111b7a0 c output
kono
parents: 67
diff changeset
1729
dba8d111b7a0 c output
kono
parents: 67
diff changeset
1730 strings ��\n�ʤɤ򸵤��᤹ɬ�פ����롣
dba8d111b7a0 c output
kono
parents: 67
diff changeset
1731
dba8d111b7a0 c output
kono
parents: 67
diff changeset
1732 �ʤ󤫳�̤����ˤʤäƤ�ʡ�
70
2e84590720a6 typedef name
kono
parents: 69
diff changeset
1733
2e84590720a6 typedef name
kono
parents: 69
diff changeset
1734 Mon Feb 24 11:02:07 JST 2003
2e84590720a6 typedef name
kono
parents: 69
diff changeset
1735
73
2f613f0ef130 *** empty log message ***
kono
parents: 72
diff changeset
1736 typedef ���줿�����פϡ��������Ȥ������ɤ������ɡ����󤬼�
2f613f0ef130 *** empty log message ***
kono
parents: 72
diff changeset
1737 ���Ƥ��ޤäƤ���Τǡ��ɤ����ˤȤäƤ����ʤ��Ȥ�����͡�dsp
2f613f0ef130 *** empty log message ***
kono
parents: 72
diff changeset
1738 ?
70
2e84590720a6 typedef name
kono
parents: 69
diff changeset
1739
73
2f613f0ef130 *** empty log message ***
kono
parents: 72
diff changeset
1740 �����ࡢ����Ϥʤ��ʤ��񤷤��������������Ƥ⤤���󤸤�ʤ���
2f613f0ef130 *** empty log message ***
kono
parents: 72
diff changeset
1741 �ʡ��٤����ɡ����ʤ��Ȥ�gnptr��������줿��Τϥ��������٤�
2f613f0ef130 *** empty log message ***
kono
parents: 72
diff changeset
1742 �Ǥ��礦��
72
3b5d293cea36 type def etc
kono
parents: 70
diff changeset
1743
3b5d293cea36 type def etc
kono
parents: 70
diff changeset
1744 indirect function type ��ɽ�����ʤ�....
3b5d293cea36 type def etc
kono
parents: 70
diff changeset
1745
73
2f613f0ef130 *** empty log message ***
kono
parents: 72
diff changeset
1746 sdecl �Ǥ�conv ��Ԥ��Τǡ�type_print �Ǥ�sdecl���ͳ������
2f613f0ef130 *** empty log message ***
kono
parents: 72
diff changeset
1747 ���ɽ����ԤäƤϤ����ʤ���
72
3b5d293cea36 type def etc
kono
parents: 70
diff changeset
1748
73
2f613f0ef130 *** empty log message ***
kono
parents: 72
diff changeset
1749 �ʤ󤫴ؿ��ΰ����η����ͤ���̯���Ѥ���Ǥ�����... ����ʤ�...
75
92dcf107a837 c code output
kono
parents: 73
diff changeset
1750
92dcf107a837 c code output
kono
parents: 73
diff changeset
1751 �ޤ����ؿ������typedef��struct���Ѥ�äƤ��ޤ���gtypedefed
92dcf107a837 c code output
kono
parents: 73
diff changeset
1752 �����ޤ�ư���Ƥ��ʤ�?
92dcf107a837 c code output
kono
parents: 73
diff changeset
1753
92dcf107a837 c code output
kono
parents: 73
diff changeset
1754 Mon Feb 24 17:24:31 JST 2003
92dcf107a837 c code output
kono
parents: 73
diff changeset
1755
92dcf107a837 c code output
kono
parents: 73
diff changeset
1756 �ޤ��ͤ�����äѤ괰���˹�ʸ�ڤ���ƹ�����������
92dcf107a837 c code output
kono
parents: 73
diff changeset
1757 �����ǤϤ����͡��ä� getsym (����ʤ�)�� conv->x_()
92dcf107a837 c code output
kono
parents: 73
diff changeset
1758 �Ȥ�������ѤϤ��ɤ�������
92dcf107a837 c code output
kono
parents: 73
diff changeset
1759
92dcf107a837 c code output
kono
parents: 73
diff changeset
1760 ���Τ���ˤϡ��ɽ��ѿ�̾��tree��ǻ����⤯ɬ�פ����롣
92dcf107a837 c code output
kono
parents: 73
diff changeset
1761 �ޤ�������������ɤ����������ɡ�
92dcf107a837 c code output
kono
parents: 73
diff changeset
1762
92dcf107a837 c code output
kono
parents: 73
diff changeset
1763 �ºݡ����Υ��åȤǽ���뤫�ɤ����ϡ�����äȲ�������
92dcf107a837 c code output
kono
parents: 73
diff changeset
1764 ���֤�buffer �˽��Ϥ���äƤΤ򤤤��Ф����餯��
92dcf107a837 c code output
kono
parents: 73
diff changeset
1765 �Ѵ��Ǥ����������
92dcf107a837 c code output
kono
parents: 73
diff changeset
1766
76
fb3fb9e9a462 *** empty log message ***
kono
parents: 75
diff changeset
1767 ��������ǤθƤӽФ��Ȥ���ͤ���ȡ���äѤ�
fb3fb9e9a462 *** empty log message ***
kono
parents: 75
diff changeset
1768 ��ʸ�������������ʤ��Ȥ���������͡�
fb3fb9e9a462 *** empty log message ***
kono
parents: 75
diff changeset
1769 (�äƤ��Ȥϡ��ޤ������ʤ�κ�Ȥ�����äƤ���.... �थ...)
fb3fb9e9a462 *** empty log message ***
kono
parents: 75
diff changeset
1770 tmp2.c �ϡ��̤�ʤ���...
78
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1771
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1772 Fri Feb 28 20:32:46 JST 2003
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1773
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1774 �ǡ�c2cbc �ϡ������ float ��������ˤ��櫓?
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1775
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1776 Sat Mar 1 22:05:43 JST 2003
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1777
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1778 creg_destroy �ϡ����󤼤���ᡣ����ϴ���Ū�ʥ����ǥ������ᡣ
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1779
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1780 long long ��struct�Ǥ����󤸤�ʤ�? ����? �� struct �黻���̤�
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1781 ������Ƥ�롣����ϡ������ˤ��뤫��
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1782
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1783 float,long long�ʤ�����ɡ�
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1784 FRGVAR DRGVAR LRGVAR
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1785 �ʤɤ��롣����ˡ�
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1786 FMUL DMUL LMUL
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1787 �ʤɤ⤤�롣�����Ѵ��� binop �Dz�᤹�롣�Ѵ���黻�ˤʤ롣
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1788 D2F, D2I, F2D, F2I, I2D, I2F, U2D, U2F
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1789 ���餤�Ǥ���?
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1790
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1791 emit_push�ϡ�����ɬ�פȤ��뤱��? �������ͤ���emit_fpush, emit_dpush
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1792 ����?
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1793
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1794 creg ��float register(or stack) ���ͤ������Ф����󤸤�ʤ���?
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1795 ����򸫤ơ�emit_push�η�����롣creg �ϡ����ä�����������
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1796 ��Τ����Ƥ���Τǡ�������ʤ�������������ʤ����ʤ���
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1797 �����͡�FMUL�Ȥ�������ʤ顢�����Ƚ�ǤǤ�������
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1798
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1799 ��ʸ�ڤˤϷ���ޤ�ʤ��äƤΤ����ء�����������? ��������С�
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1800 RGVAR CRGVAR FRGVAR DRGVAR LRGVAR
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1801 �ǤϤʤ���
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1802 RGVAR
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1803 �Ǥ��ष�����������ѷ���ڤ����͡����ϡ�
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1804 CHAR,UNSIGNED, UNSIGNED CHAR, INT, FLOAT, DOUBLE, LONGLONG
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1805 ���餤�Ǥ�����
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1806
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1807 emit_data
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1808
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1809 �Ȥ���ȡ��񤭴������빽���뤱�ɡ�
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1810
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1811 Sun Mar 2 12:58:38 JST 2003
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1812
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1813 ���Ȥ�constant���͡�FCONT,DCONST���ʡ�binop�Ǥ�
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1814 �Ѵ��Ȥ���ɬ�פʤ櫓�����ɡ�
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1815
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1816 ���������С�shot ��load/store��ʤ��͡�SRGVAR,SASS�Ȥ��Ǥ���? SASS
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1817 �ϡ����Ǥˤ���ʤ���
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1818
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1819 Sun Mar 2 22:01:58 JST 2003
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1820
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1821 ����?
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1822 conv->_sm();
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1823 (*conv->_sm)();
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1824 �ξ��ϡ�
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1825 *conv->_sm ���ͤ�call����
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1826 ������ɡ�
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1827 goto exit1();
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1828 goto (*exit1)();
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1829 �ξ��ϡ�
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1830 exit1
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1831 ���ͤ�jump���������? ����? �ʤ󤫴��㤤���Ƥ�? �ʤ��exit1()
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1832 ����indirect���Фơ�(*exit1)���ȽФʤ��������?
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1833
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1834 ��������ϡ�
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1835 void (*_sm)();
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1836 �Ǥ��äơ�
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1837 void _sm();
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1838 �ϤǤ��ʤ�? �ʤ��?
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1839
8418d4b7caa7 *** empty log message ***
kono
parents: 76
diff changeset
1840 �������ޤ����������������ɤ�������
79
82d0e30f61dd *** empty log message ***
kono
parents: 78
diff changeset
1841
82d0e30f61dd *** empty log message ***
kono
parents: 78
diff changeset
1842 ��äѤꡢarglist �κƵ�Ū�����������Ȥ��Ƥʤ��Ȥ��ᡣ
81
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1843
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1844 �����ࡢ enum �ʤ�ƤΤ⤢��Τ͡��䤵�������ɡ�����Τ�?
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1845
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1846 code (code *) * �ߤ����ʤΤ�����Τǡ�conv �ϼ�ľ����ɬ�ס�
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1847
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1848 Mon Mar 3 12:38:08 JST 2003
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1849
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
1850 float/double �Ͻ�Ĵ�˿ʤ�Ǥ뤱�ɡ�3���Ϥ�����Ǥ��礦��
81
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1851
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1852 binop ��񤤤��㤦��mc-parse.c �ϡ��ۤȤ�ɽ���?!
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1853 �����ȴؿ��ƤӽФ����ĤäƤ��뤫������ single �⤢��͡�
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1854
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1855 emit_push base �ǽ񤯤�����ɡ�¾��CPU�ǤϤ��������꤬
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1856 �㤦��������ʡ�
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1857
f94ca1168520 float first try...
kono
parents: 79
diff changeset
1858 dreg/creg ��floating version��ɬ�פǤ���( �Ǥ�? )
82
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1859
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1860 Tue Mar 4 14:56:28 JST 2003
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1861
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1862 double ��current register ��387�Υ����å���Ȥ���(?)
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1863 �ؿ��ƤӽФ�����387�Υ����å�����¸�����Ȥ���
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1864 �ݾڤ�̵���Τǡ�emit_dpush�Ǥϡ�%esp ����¸���롣
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1865
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1866 �Ǥ⡢��������ȡ������θ�ʤɤ�387�Υ����å���
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1867 ��˻Ĥ뤳�Ȥˤʤ롣�����Ĥ򥯥ꥢ���륳���ɤ�
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1868 �ɤ��ˤ����? free_register �Ǥ⤤���������....
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1869 �������ࡢ�Ĥ������餤��ġ�ld ����ʤ��ơ�
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1870 stack top ���������륪�ڥ졼�����Ϥʤ���?
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1871
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1872 (�������Ǥ⡢�ʤ󤫡�float�ϡ��⤦�������ä��㤦��... �ʤ󤫡�
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1873 ���Ӥ�...)
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1874
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1875 Tue Mar 4 23:58:07 JST 2003
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1876
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1877 fmulp �Ȥ��Ǥϡ�fpp ��stack�ΤĤ��ĤޤϤ�����fstl �Ȥ����ȡ�
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1878 ���ʤ���fstpl ����Ф�������������������Ϣ³�����Ǥޤ����ʤ롣
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1879 �ͤ�Ȥ����ɤ��������������Τ뤳�Ȥ��Ǥ�����ɤ��������
85
3789aef7331d minor fix
kono
parents: 82
diff changeset
1880 (use flag ��Ƚ�Ǥ��뤳�Ȥˤ���)
82
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1881
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1882 ��ɡ�freg �ϡ��Ȥ�ʤ��ä��͡�0�������äƤ���Τ�ľ���ʤ��Ȥޤ�������
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1883 freg�򸫤ơ�stack ��ľ���äƤΤϡ���äѤꡢ�ޤ������...
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1884
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1885 �Ǥ⡢��ư�������쥸���������CPU�ξ��Ϥ���󤸤�ʤ���?
25654dc29ecc First Floating Point coding done.
kono
parents: 81
diff changeset
1886
85
3789aef7331d minor fix
kono
parents: 82
diff changeset
1887 Wed Mar 5 11:25:11 JST 2003
3789aef7331d minor fix
kono
parents: 82
diff changeset
1888
3789aef7331d minor fix
kono
parents: 82
diff changeset
1889 printf �Ǥ� ������double�����줹��ɬ�פ����롣goto() �Ǥϡ�
3789aef7331d minor fix
kono
parents: 82
diff changeset
1890 ����򤹤�ΤϤޤ������ɽ��ѿ���Ʊ�������顣�äƤ��Ȥϡ�
3789aef7331d minor fix
kono
parents: 82
diff changeset
1891
3789aef7331d minor fix
kono
parents: 82
diff changeset
1892 �ؿ��ΰ�����double�ˤ��ʤ��Ȥ���ʤΤ͡��ץ��ȥ����פ�
3789aef7331d minor fix
kono
parents: 82
diff changeset
1893 ������ϡ����θ¤�Ǥʤ���(������...)
3789aef7331d minor fix
kono
parents: 82
diff changeset
1894
87
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1895 (�����������Ĥ������Ѥ��빽�Ф��...)
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1896
85
3789aef7331d minor fix
kono
parents: 82
diff changeset
1897 ���ȡ�fpp �Υ����å�����äƤ���Τǡ�overflow��������
3789aef7331d minor fix
kono
parents: 82
diff changeset
1898 ����ʤ���? �ۤȤ�ɤξ��Ǥ������礦�֤�����������ä�
3789aef7331d minor fix
kono
parents: 82
diff changeset
1899 ����error���餤�Ф���? �Ǥ�¹Ի��ˤ����狼��ʤ���...
3789aef7331d minor fix
kono
parents: 82
diff changeset
1900
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
1901 I2D �Ǥ���signed/unsigned �ζ��̤�����͡�
85
3789aef7331d minor fix
kono
parents: 82
diff changeset
1902
3789aef7331d minor fix
kono
parents: 82
diff changeset
1903 ��äѤ� FCONST ����󤸤�ʤ���?
87
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1904
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1905 Wed Mar 5 19:51:59 JST 2003
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1906
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1907 �����Ѱʳ��Ͻ��ä�����.... ���ȡ�name space ���빽�ŤʤäƤ���
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1908 �����͡�
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1909 struct tag, struct field
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1910 ���ŤʤäƤ���ΤϷ빽���äȤ�������gsearc/lsearch �Τ������
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1911 ��ľ���ʤ��Ȥ��ᤫ�⡣
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1912
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1913 ���ȡ�list ��ʤ���mode �κ�����ˤ����Ǥ��礦���ɡ�
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1914
1738f313f98b floating point (at most) done.
kono
parents: 85
diff changeset
1915 ���ȡ��빽���������...
88
5c8553d7f984 *** empty log message ***
kono
parents: 87
diff changeset
1916
5c8553d7f984 *** empty log message ***
kono
parents: 87
diff changeset
1917 Wed Mar 5 21:15:34 JST 2003
5c8553d7f984 *** empty log message ***
kono
parents: 87
diff changeset
1918
5c8553d7f984 *** empty log message ***
kono
parents: 87
diff changeset
1919 �Ǥ����衣�ޤ����ƥ��Ȥ��Ƥʤ���ʬ�Ϥ��뤱�ɡ��ɽ��ѿ��ν�����Ȥ���
5c8553d7f984 *** empty log message ***
kono
parents: 87
diff changeset
1920 FCONST �Ȥ���3���ǽ��褿�͡�
5c8553d7f984 *** empty log message ***
kono
parents: 87
diff changeset
1921
5c8553d7f984 *** empty log message ***
kono
parents: 87
diff changeset
1922 (gcc �������ä������������ʤ�...)
89
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1923 goto.c ���̤�ʤ��ʤäƤ�ʡ�
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1924
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1925 Thu Mar 6 14:00:13 JST 2003
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1926
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1927 PowerPC��non-lazy pointer�äơ��ơ��֥�����äƤ��Ƥ������
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1928 �߹�������ʤΤ͡����ä��󡢥쥸�������ɤ߹�����顢������
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1929 ���Ѥ�������ɤ��餷�����Ȥ������Ȥϡ�code_gvar �˥���å���
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1930 ����ʤ��Ȥ����ʤ��������� RLU �Ǥ���? (���ɤ�����)
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1931 �Ǥ⡢�������ʤ��ȡ�
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1932 i = i+1;
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1933 �ʤ�ƤΤǤ⡢�Ҥɤ��ܤˤ��äƤ��ޤ���
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1934
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
1935 local variable ��ǽ�� move multiple register ����Ⱦ��
89
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1936 �쥸�������ɤ߹��󤸤㤦�ߤ����͡�pointer �ǻ��Ȥ�����
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1937 �����Ǥ��礦���ɡ��ޤ���31�Ĥ⤢��С������������Ȥ�
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1938 ���Ƥ⤢�ޤ�����ʤ��Τ����Τ�ʤ����ɡ�
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1939
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1940 creg ���˲����ʤ������ˤ���С������Ϥޤ��ˤʤ�󤸤�ʤ�?
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1941 (IA32�Ǥϡ�������񤷤�����)
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1942
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1943 Thu Mar 6 20:50:24 JST 2003
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1944
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1945 ��äѤꡢ�Ȥä�ʬ����register����¸����褦�ʥ����ɤ�
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1946 �ʤ�ߤ�����one path �ǡ�����򤹤뤿��ˤϡ�
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1947 .align 2
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1948 _main0__:
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1949 lwz r5,2136(r1)
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1950 addi r1,r1,2128
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1951 lmw r23,-36(r1)
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1952 mtlr r5
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1953 blr
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1954 .align 2
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1955 .globl _main0
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1956 _main0:
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1957 mflr r2
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1958 stmw r30,-8(r1)
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1959 stw r2,8(r1)
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1960 li r11,0
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1961 stwu r1,-480(r1)
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1962 li r2,100
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1963 mtctr r2
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1964 mr r30,r3
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1965 addi r0,r1,64
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1966 mr r9,r0
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1967 b _main0__;
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1968 �Ȥ����������ˤ��뤷���ʤ��͡�
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1969
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1970 ���Ȱ����ϡ��쥸�������Ѥ�褦�ˤʤäƤ���ߤ���������... r3 ����?
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1971
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1972 mflr r31
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1973 li r0,7
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1974 stw r0,56(r1)
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1975
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1976 ������8�ĤޤǤϥ쥸�������Ѥ�ߤ����͡�
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1977 r3-r10 ���͡�
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1978
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1979 ��¤�Τ�register�˥��ԡ������Τ��������ơ�����¦�Ǽ����
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1980 ���ԡ���Ԥ��櫓���͡���Ƭ��return struct�ؤΥݥ��󥿤�����Τ�
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1981 Ʊ����
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1982
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1983 (������memcpy���ޤ����...)
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1984
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1985 ��ư��������쥸�����Ϥ���������f1���顣(�ʤ�ۤ�)
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1986
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1987 saveFP�äƤΤ�ƤӽФ��ơ� f24-f31��save����餷����
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1988 (31-24)*8 �����ʤ���?
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1989
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1990 pointer �Τ��Ȥ�ͤ���ȡ��쥸�������Ȥޤ�����Τ⤢��
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1991 �櫓�����ɡ����ɥ쥹�����Ƥ���Ǵ֤˹礦�󤸤�ʤ�?
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1992 ����ʤɤϡ���Ȥ�Ȥ��������������(?)�ϳ��ݤ���Ȥ��ơ�
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1993
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1994 ���������դˡ�r3-r10 �ϰ����Ǥʤ���в����Ƥ��ɤ��櫓����
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1995 (�����r9�Ȥ��ɤ��Ȥ��Ƥ���櫓��...)
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1996 �Ȥ������Ȥ�­��ʤ��ʤä��顢�����򥻡��֤�����ɤ��櫓�͡�
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1997 (�äƤ��Ȥϡ�LVAR ���� REGISTER �äƤ�������������󤸤��...
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1998 �ޤ������������ɤ�...)
917947ffeb7c power pc version
kono
parents: 88
diff changeset
1999 ����� get_register �����ɤ�������
917947ffeb7c power pc version
kono
parents: 88
diff changeset
2000
917947ffeb7c power pc version
kono
parents: 88
diff changeset
2001 �ɤ��⡢r11-r12 ������ϼ�ͳ�˻ȤäƤ���餷����
917947ffeb7c power pc version
kono
parents: 88
diff changeset
2002
917947ffeb7c power pc version
kono
parents: 88
diff changeset
2003 �������äƤ�������Ǵؿ��ƽФ�����Ȥ��ϡ��ɤ������?
917947ffeb7c power pc version
kono
parents: 88
diff changeset
2004 r30�ʤɤ˰�ư����Τ�?
917947ffeb7c power pc version
kono
parents: 88
diff changeset
2005
917947ffeb7c power pc version
kono
parents: 88
diff changeset
2006 �ʤ��Τ�󤱤ɡ�in file call name �� out file call name ��
917947ffeb7c power pc version
kono
parents: 88
diff changeset
2007 �㤦�ߤ����͡�(sigh...) ����ʤΤʤ�Ȥ��ʤ�Τ��ʤ���
917947ffeb7c power pc version
kono
parents: 88
diff changeset
2008 ������stub �ˤ��Ƥ����ơ�.set �ǽ񤭴�����Ȥ�����⤢�뤱�ɡ�
917947ffeb7c power pc version
kono
parents: 88
diff changeset
2009
917947ffeb7c power pc version
kono
parents: 88
diff changeset
2010 (�������˰����ǤϤǤ��ʤ���...)
90
07e3113c3c13 *** empty log message ***
kono
parents: 89
diff changeset
2011
07e3113c3c13 *** empty log message ***
kono
parents: 89
diff changeset
2012 �ʤ�����������ư�������ؤ��Ѵ��Ϥ��֤�Ǥ��ʤ��Ȥ���ʤΤ͡�
92
e7f8515ba882 *** empty log message ***
kono
parents: 90
diff changeset
2013 ����ϥ��֥롼�����Ƥ�������ޤ�����
e7f8515ba882 *** empty log message ***
kono
parents: 90
diff changeset
2014
e7f8515ba882 *** empty log message ***
kono
parents: 90
diff changeset
2015 get_register �����м��Ԥ��ʤ��褦�ˤǤ���󤸤�ʤ���?
e7f8515ba882 *** empty log message ***
kono
parents: 90
diff changeset
2016
e7f8515ba882 *** empty log message ***
kono
parents: 90
diff changeset
2017 label ������ȡ�code_base cache ��clear���ʤ��Ȥ����ʤ���
e7f8515ba882 *** empty log message ***
kono
parents: 90
diff changeset
2018 �����Ƚ�Ǥ���ˤ� fwddef ��hook����ɬ�פ����뤱�ɡ�
93
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2019
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2020 Fri Mar 7 09:17:10 JST 2003
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2021
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2022 ����ϡ�
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2023 register allocation
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2024 ��
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2025 function call/goto call
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2026 �ι������ʡ�goto ������ machine dependent�ʤȤ�����
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2027 �ۤȤ�ɤʤ���register ��save����ɬ�פʤ����顣
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2028
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2029 register allocation �����ɡ�
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2030 r0
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2031 r1 frame pointer (or stack pointer )
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2032 r30 jj
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2033 r31 relocation register
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2034 r0,r1,r2 �����ƥ�ǻȤ�
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2035 r0-r10 ����
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2036 �����Ǥʤ��Ȥ�����ͥ��Ū�˻Ȥ�
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2037 r20-r29 �����֤��ƻȤ��ΰ�
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2038
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2039 r10-r19 �Ϥɤ��ʤ������? �����֤��ʤ��Τ�?
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2040
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2041 ia32 �����Ǥ�fpp�Υ����å���ؿ��ƤӽФ��ΤȤ����Ǥ��Ф�������
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2042 �ɤ���
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2043
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2044 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2045 r10 r11 r12 r13 r14 r15 r16
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2046 r28 r29 r30 r31
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2047
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2048 �ʤΤǡ���ΤΤߤ��Ȥˡ�17-27 �ޤǤ��Ȥ��Ƥʤ��͡�
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2049
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2050 �Ȥ������Ȥϡ��ؤ��ƽФ����ˤϡ���¸�����쥸�����Ϥʤ���
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2051 �פä������ɤ��äƤ���? ���뤤�ϡ�r17-r28 ����¸������
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2052 �פä��ɤ��Τ��ʡ�
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2053
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2054 Sat Mar 8 19:28:42 JST 2003
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2055
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2056 �ؿ��ƤӽФ����Υ쥸���������֤��򤱤뤿��ˤϡ��ؿ��ƤӽФ�
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2057 ��ͥ�褷�Ƽ¹Ԥ��Ƥ����ɤ����ؿ��ƤӽФ��η�̤϶ɽ��ѿ���
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2058 �����֤��롣
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2059 f(g(h(a)+1)+2)
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2060 �ϡ�
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2061 a1=h(a)
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2062 a2=g(a1+1)
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2063 f(a1+2)
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2064 �Ȥʤ롣��������С��ؿ��ƤӽФ��ΤȤ��Υ����å��Ϥ��ʤ餺0�ˤʤ롣
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2065
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2066 �Ǥ⡢��ɡ������ϴؿ��ƤӽФ������˥����֤���Τ͡����ä��顢
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2067 ����ʤ��Ȥ��ʤ��ǡ������֤�����ɤ��Τ���
8f5d61239b93 *** empty log message ***
kono
parents: 92
diff changeset
2068
94
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2069 Mon Mar 10 11:42:40 JST 2003
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2070
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2071 �ǡ��쥸�����Υ����֤ʤ�����ɡ�mc-codegen.c ���ѹ����ʤ�
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2072 �Ȥ���С������Υꥹ�Ȥ�Ȥä��ѹ����Ƥ����Τ��ɤ���
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2073 �ؿ��ƤӽФ��ϴ���Ū�ˤ����������ˤʤ롣���������Ǥ�
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2074 �Ƥ�Ǥ��ʤ��Ƥ⡢�����֤���ɬ�פϤ��롣������������
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2075 �롼����ΤǤ����ɤ��ʤ��Τǡ���Ʊ�����ɤ����פ���
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2076 Ƚ�Ǥ���Τ��ɤ��ΤǤϤʤ���?
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2077
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2078 �ؿ��ƤӽФ������˼��Ѥ˥쥸�������Ѥޤ줿�ͤϥ����֤���
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2079 �����ɤ��������֤������lvar�Ȥ��ƥ����������뤳�Ȥˤʤ롣
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2080 �����å��Ǥ⤤�����ɡ�
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2081 ��������ȡ�stack ����ˤϡ�
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2082
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2083 �쥸���� �쥸�����ֹ� (>0)
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2084 �����å� -1
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2085 lvar lvar�ֹ�
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2086
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2087 �λ����ब���뤳�Ȥˤʤ롣����˹�碌��tosop/assop���ľ
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2088 ��ɬ�פ����롣emit_pop �����Ǥ������⡣�����å���ߤ���ޤ�
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2089 �Τ��ǤϤ��뤬��ia32�����Ǹ�Ψ����������äѤ껰���ॵ�ݡ�
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2090 �Ȥ���Τ��ɤ���������
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2091
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2092 (���ä���������������ʤ�... �ɤ��������դ��뤫...)
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2093
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2094 Tue Mar 11 14:23:57 JST 2003
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2095
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2096 save_stacks ����ȡ��쥸�����ϤۤȤ�ɻȤ��ʤ��ʤä�
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2097 ���ޤ������������ɤθ��̤����ɤ��ʤ롣
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2098
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2099 ������դ˻��äƹԤ���save_stacks��save�����̤����롣����
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2100 ���ˤ��ɤ������͡�ȿ��Χ������Ω���ʤ��黻�Ҥ˴ؤ��Ƥϡ�tosop
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2101 ������ǤȤ���뤳�Ȥˤʤ�Τ�... ���ȥ����å����Ѥ�������
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2102 �ˤʤäƤ��ޤ����ޤ�����Ȥ��ǤǤϹԤ��Ƥ������Ȥ���...
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2103 CMP�Ǥ�rexpr ��ȿž�����������ž������������ñ����SUB�Ǥϡ�
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2104 ADD + (-CONST) �ˤ��������ɤ��͡�
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2105
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2106 je _xxx
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2107 �������ȡ�current register ��regv[]���ĤäƤ��ޤ�������ϡ�
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2108 �Ѥ���͡�gexpr_init �� regv ���Ĥ�Τϡ�case ʸ����Ӥ�����
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2109 ���Ȥ�����0�ˤ����ɤ���(�ޤ�������̵���������)
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2110
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2111 (case ʸ��jump�ϡ�switch ʸ��������˽�������С�index jump
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2112 �ˤ��뤳�Ȥ��Ǥ����)
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2113
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2114 Wed Mar 12 12:58:47 JST 2003
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2115
1ad7045741a7 float dbinop fix
kono
parents: 93
diff changeset
2116 ��Ӥ����촹����Ȥ�����ϼ㴳�㤦��͡�
96
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2117
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2118 Thu Mar 13 19:39:48 JST 2003
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2119
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2120 ���������С�doif �Ǿ�郎������ä��Ȥ��Ȥ��κ�Ŭ����
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2121 ���Ƥʤ�����͡��䤵�������ɡ�chk ��Ȥ����ɤ��Τǡ�
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2122
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2123 f(g(1,2,3),g(1,2,3),g(1,2,3))
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2124
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2125 �Ȥ����ȡ���ɡ�g ���֤��ͤϰ�ö���������ʤ��Ȥ��ᤸ���
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2126 �ʤ�����ɡ��ºݤϡ�r29-r22 ��ȤäƤ���褦�Ǥ��͡�
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2127
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2128 �äƤ��Ȥϡ�function call �λ��ˡ�r3-r10 �����ΰ������ɤ�����
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2129 �����å����ơ��������ä���r29-r22�˰ܤ���Ȥ�����櫓����͡�
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2130 ���ä���r3�Ȥ�������Ƥ��ޤä�����ȡ���ʣ���Ƥ��ޤ���...
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2131 ����äƴؿ��ƽФ������뤫�ɤ����ϡ�Ĵ�٤뤳�Ȥ��Ǥ��뤫�顢
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2132 �ؿ��ƤӽФ������ä��顢��������褦�ˤ���?
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2133
7d8de41390d8 *** empty log message ***
kono
parents: 94
diff changeset
2134 �����������ɤ������ʤ�... (���ä��������Ĥʤä���Ǥ�����?)
98
07c2554e1cfa *** empty log message ***
kono
parents: 96
diff changeset
2135
07c2554e1cfa *** empty log message ***
kono
parents: 96
diff changeset
2136 Fri Mar 14 10:38:25 JST 2003
07c2554e1cfa *** empty log message ***
kono
parents: 96
diff changeset
2137
07c2554e1cfa *** empty log message ***
kono
parents: 96
diff changeset
2138 function �� dsp ����arglist �� extern flag ��ξ��������Ƥ��ޤäƤ��롣
07c2554e1cfa *** empty log message ***
kono
parents: 96
diff changeset
2139 ����� sc �Ƕ��̤���٤�ʪ����͡�
07c2554e1cfa *** empty log message ***
kono
parents: 96
diff changeset
2140
07c2554e1cfa *** empty log message ***
kono
parents: 96
diff changeset
2141 �ʤ󤫡�emit_pop_free ��xreg��LVAR�λ��ΥХ�����Τ˶�ϫ����...
07c2554e1cfa *** empty log message ***
kono
parents: 96
diff changeset
2142 gdb �� top level �Ǥ�while ������դ��ʤ��ơ�define ���Ƥ�ʤ�ʤ���
07c2554e1cfa *** empty log message ***
kono
parents: 96
diff changeset
2143 ����ߤ����͡�
99
53899975154c *** empty log message ***
kono
parents: 98
diff changeset
2144
53899975154c *** empty log message ***
kono
parents: 98
diff changeset
2145 Fri Mar 14 15:50:28 JST 2003
53899975154c *** empty log message ***
kono
parents: 98
diff changeset
2146
53899975154c *** empty log message ***
kono
parents: 98
diff changeset
2147 �ʤ�... �񤤤Ƥ�񤤤Ƥ�񤤤Ƥ⡢�����!
53899975154c *** empty log message ***
kono
parents: 98
diff changeset
2148
53899975154c *** empty log message ***
kono
parents: 98
diff changeset
2149 Fri Mar 14 19:43:44 JST 2003
53899975154c *** empty log message ***
kono
parents: 98
diff changeset
2150
53899975154c *** empty log message ***
kono
parents: 98
diff changeset
2151 jump ����� input register ���꿶��Ȥ��� floating point register ��
53899975154c *** empty log message ***
kono
parents: 98
diff changeset
2152 ���Ȥ�ͤ��Ƥʤ��ä�������� register_var �Ȥϰۤʤ�Τǰۤʤ�
53899975154c *** empty log message ***
kono
parents: 98
diff changeset
2153 ���Ȥߤdz�꿶��ɬ�פ����롣�äƤ��Ȥϡ�get_input_register_var
53899975154c *** empty log message ***
kono
parents: 98
diff changeset
2154 ���פ�äƤ���?
53899975154c *** empty log message ***
kono
parents: 98
diff changeset
2155
100
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2156
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2157 0x9001a544 <saveFP+4>: stfd f15,-136(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2158 0x9001a548 <saveFP+8>: stfd f16,-128(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2159 0x9001a54c <saveFP+12>: stfd f17,-120(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2160 0x9001a550 <saveFP+16>: stfd f18,-112(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2161 0x9001a554 <saveFP+20>: stfd f19,-104(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2162 0x9001a558 <saveFP+24>: stfd f20,-96(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2163 0x9001a55c <saveFP+28>: stfd f21,-88(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2164 0x9001a560 <saveFP+32>: stfd f22,-80(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2165 0x9001a564 <saveFP+36>: stfd f23,-72(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2166 0x9001a568 <saveFP+40>: stfd f24,-64(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2167 0x9001a56c <saveFP+44>: stfd f25,-56(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2168 0x9001a570 <saveFP+48>: stfd f26,-48(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2169 0x9001a574 <saveFP+52>: stfd f27,-40(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2170 0x9001a578 <saveFP+56>: stfd f28,-32(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2171 0x9001a57c <saveFP+60>: stfd f29,-24(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2172 0x9001a580 <saveFP+64>: stfd f30,-16(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2173 0x9001a584 <saveFP+68>: stfd f31,-8(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2174 0x9001a588 <saveFP+72>: stw r0,8(r1)
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2175 0x9001a58c <saveFP+76>: blr
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2176
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2177 �ʤΤ����Ȥ������Ȥϡ�
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2178 f%d ���Ф��ơ�"saveFP+%d",68-(31-f)*4
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2179 ����?
a9e6f2a2946f Wrote all code for PowerPC and no compile error. Let's fix all bugs...
kono
parents: 99
diff changeset
2180
101
05f197a4573a *** empty log message ***
kono
parents: 100
diff changeset
2181 �����󡢤���ǡ������񤤤��������롣�Ǥ⡢�ۤȤ��������
05f197a4573a *** empty log message ***
kono
parents: 100
diff changeset
2182 �ؿ��˥Х�������������ʤ�����İ�ļ�äƤ��������ʤ�����
102
3cf2f8c120b9 *** empty log message ***
kono
parents: 101
diff changeset
2183
3cf2f8c120b9 *** empty log message ***
kono
parents: 101
diff changeset
2184 Sat Mar 15 16:04:09 JST 2003
3cf2f8c120b9 *** empty log message ***
kono
parents: 101
diff changeset
2185
3cf2f8c120b9 *** empty log message ***
kono
parents: 101
diff changeset
2186 �䤡... �ޤ�.... �Х����餱���ʡ�
103
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2187
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
2188 function call �Υ쥸�����ν������Ǥ���ᡣRISC�ξ��ϡ�parallel_assign
103
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2189 �������������󤸤�ʤ���?
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2190
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2191 Sun Mar 16 20:59:10 JST 2003
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2192
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2193 �������ޤ��ޤ��������ꤽ����....
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2194
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2195 �������Ƥʤ��ؿ�/�����extern�����ˤ���ɬ�פ����롣(�ʤ�ǡ�PIC�ʤ�?)
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2196
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2197 function �� c0(n->ty)==FUNCTION �Ǽ��̤��롣n->sc �ˤϡ�FUNCTION/EXTRN[1]
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2198 �����롣����͡�(CODE)�⡣�����ɡ�n->ty ����귿�����äƤ����礬
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2199 ���ä�������餷����
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2200
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2201 (������������ϡ��빽�������...)
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2202
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2203 Mon Mar 17 12:02:22 JST 2003
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2204
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2205 function ��nptr�����ɡ�
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2206 nptr->ty function �� return type
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2207 list3(FUNCTION,return_type,arg_type_list);
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2208 nptr->sc �����FUNCTION/CODE (EXTRN/EXTRN1)
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2209 nptr->dsp �����Υꥹ��
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2210 �ȸ��������ʤ櫓����͡��ǡ������Υꥹ�Ȥ�type�Ͻ�ʣ���Ƥ��롣
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2211
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2212 ¾��nptr�Ȥ���������ͤ���ȡ�
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2213 nptr->ty return type
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2214 nptr->sc FUNCTION/CODE
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2215 nptr->dsp �����Υꥹ��
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2216 ���ɤ����ǡ������Υꥹ�Ȥ�EXTRN�ξ������������������󤸤�ʤ���?
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2217 (�ɤä��ˤ�������...)
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2218
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2219 �ץ��ȥ����פȼºݤΰ����ꥹ�Ȥ��������ϥ����å����ʤ�����
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2220 �����ʤ��櫓�����顢�̤����������󤸤�ʤ���? �Ȥ���ȡ�
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2221 ��äѤ����Ԥ�...
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2222
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2223
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2224 extern �ȡ������Ǥʤ���ΤȤθƽФ��򡢸ƽФ��λ�����
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2225 ���̤��ʤ��Ȥ����ʤ�����������prototype ���������Ƥ���
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2226 ��Τ� default extern �ζ��̤ϡ��ǽ��λ����Ǥ���Ƚ�̤Ǥ��ʤ���
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2227 �Ǥ��ʤ���͡��������Ƥʤ���Τ� default extern �ʤ�����顣
f849af4b5ea9 *** empty log message ***
kono
parents: 102
diff changeset
2228 �äƤ��Ȥϡ��Ǹ�ˡ�.set ��������뤷���ʤ�����(sigh...)
104
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2229
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2230 Mon Mar 17 14:34:12 JST 2003
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2231
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2232 �����ȡ�input register �� regv/regs �򥻥åȤ��ʤ��Ȥ��ᡣ
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2233 �ؿ��ƤӽФ��ΰ�����ɾ���������� save ����ɬ�פ����롣
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2234 ����ˡ�������ɾ���θ�ˡ�save ���줿�ѿ���ƤӽФ�ɬ�פ�
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2235 ���롣(�äƤ��Ȥϡ����ޤޤǤΤϡ��ޤä����ΤǤ���ᤫ..)
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2236
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2237 register �ѿ��ξ��ϡ�����ʤ����äƤ��Ȥϡ�ia32 ¦��
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2238 �ѹ����Ƥ��ޤä��Τǡ����������ʤäƤ���͡���äȤ⡢
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2239 code �ξ��ϡ���������save�Ȥ���ɬ�פʤ������ɤ��Τ���
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2240
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2241 (11���ܤ�...)
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2242
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2243 mr creg,hoge
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2244 mr hoge2,creg
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2245
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2246 �Ȥ��ϡ�g_expr_u �Ǻ�Ŭ������٤���set_freg/set_creg �ǥ쥸
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2247 �����ѿ��˳�꿶��ȡ�set_freg ��free����Ƥ��ޤ���
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2248
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2249 ��ư����������ζ�ͭ�Ϥ�ä������ɤ�?
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2250
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2251 input register ��save��˺��Ƥ��롣
c21aeb12b78b *** empty log message ***
kono
parents: 103
diff changeset
2252 input register �γ������ս硣
105
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2253
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2254 Mon Mar 17 23:38:14 JST 2003
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2255
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2256 ��������������input-register �Υ��ɥ쥹���ä��Ȥ��ϡ�
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2257 �����LVAR���Ѥ��ʤ��Ȥ��ᡣ
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2258
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2259 �ʤ�����ɡ������ʬ���äƤ⡢loop ��������뤳�Ȥ�����Τǡ�
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2260 ���٤�Ǥ����Ȥ������Ȥϡ�one path �ǤϤǤ��ʤ��͡�
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2261
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2262 �थ... function call �� save_input_register ��Ʊ���ּ��٤��
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2263 �����꤬����Τ͡�function argument �ϡ����Ǥ� parse �����
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2264 ���ơ����ΰ����ϡ�register �˸��ꤵ��Ƥ��ޤäƤ��롣
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2265 save_input_register �ǡ�save ���륳���ɤ�Ф��Ƥ⡢
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2266 ������򸫤�褦�ˤϽ���Ƥʤ���(�ɤ�����Ф������?)
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2267
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2268 function call����Ƭ�ǡ�����������stack��save���Ƥ��ޤ��С�
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2269 ���Τ����������ϲ�褹�롣���ɡ�����ޤ�ʵ��⤹��͡�
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2270 �Ǥ⡢stmw ��Ȥ��뤷��...
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2271
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2272 ��ɡ�input_register �ϡ�LVAR �Τޤ޽������ơ���ǽ�ʤ��
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2273 register ��Ȥ��ä����������󤸤�ʤ����ʤ�.... �Ǥ⡢
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2274 ��������ȡ����ޤǽ񤤤������ɤϡ��ۤȤ��̵�̤���...
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2275
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2276 ������ˤ��衢����ޤ��ñ�ʲ��Ϥʤ��͡�
7e3d59e56a53 save register ( incomplete )
kono
parents: 104
diff changeset
2277
106
3618c0efe9d3 fix save_input_register
kono
parents: 105
diff changeset
2278 Tue Mar 18 10:46:48 JST 2003
3618c0efe9d3 fix save_input_register
kono
parents: 105
diff changeset
2279
3618c0efe9d3 fix save_input_register
kono
parents: 105
diff changeset
2280 ��ɡ����� stack ��save ���ޤ�������������С��ѹ���1�ԡ�
3618c0efe9d3 fix save_input_register
kono
parents: 105
diff changeset
2281
3618c0efe9d3 fix save_input_register
kono
parents: 105
diff changeset
2282 ��äѤꡢ�ؿ����Τ�ʸ�ڤ���Ƥ���gexpr����٤�����͡�
3618c0efe9d3 fix save_input_register
kono
parents: 105
diff changeset
2283 ���켫�Τϡ�����ʤ��񤷤��ʤ�����
108
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2284
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2285 Tue Mar 18 12:41:42 JST 2003
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2286
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2287 COND(����黻��)�ǻȤ��쥸�������ؿ��ΰ������˲����Ƥ��ޤ���
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2288 input register �ˤʤ�ʤ��ͤ�Ȥ����ɤ�������ɡ�r15
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2289 ��ȤäƤ��������ɡ�����Ǥ�����?
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2290
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2291 virtual ��ȤäƤ����Ȥ��ϡ�use_register �Dz����˲�����ʤ��ä�
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2292 ������ɡ��Ȥ�ʤ��Ȥ���ȡ��빽�˲�����Ƥ��ޤ����ʤΤǡ�
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2293 ����äȱ��ο������꤫��͡�����黻�Ҥη��ϥ����å����Ƥʤ��ä�����
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2294
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2295 �ޤ�������ϡ�����쥸������Ȥ����ɤ��Ȥ���...
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2296
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2297 �����ƤӽФ���u2d �Ȥ� bcopy �Ȥ����˲������input �쥸����
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2298 �Ϥɤ�����? ����ϡ�ͽ¬�Ϻ������͡��Ȥ�ʬ����save����ä�
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2299 ������⤢�뤱�ɡ��������ɤ����褦... ���ФǤ���褦�ˤ����
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2300 �Ƥ�����⤢�롣(�ȡ��פä��顢get_register_var ���ְ�äƤ�
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2301 ��ߤ�����) ���ФϤ���äȽŤ��������Υ��르�ꥺ��ϡ�����
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2302 ��Ȥ������ʤ����Ȥ��äƤ⡢�����ˤʤ���������ƽ�¦��save
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2303 ����? bcopy ���ɤ줯�餤�Ȥ�������ۣ�档
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2304
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2305 ��ä��Ѷ�Ū��get_register_var ����äƤ�����⤢���͡���
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2306 ������С����ޤ굤�ˤ��뤳��̵�� library call �Ǥ��롣(����
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2307 �äȡ��񤭴�����¿����...) ���������ڤ��ʡ��Ȥ��쥸������
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2308 �餽���Ȼפ��ȡ�����ϸ��Ф���Τȡ�����ۤɺ��Ϥʤ��櫓����
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2309
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2310 ���Τ�����⹽ʸ�ڤ��������äƤ���в��Ǥ�������ʡ�
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2311
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2312 �����󡢤ޤ��ޤ������ʡ�
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2313
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2314 �ؿ����ؿ��ƤӽФ��Ƿ�ޤ���� input register ���˲���ͤ���
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2315 �ޤ���Ǥ���������⡢�ɤ�����Ф������... �ޤ���get_register_var
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2316 ����Τ���ñ����͡�
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2317
69e2e763cce5 object assemble first try.
kono
parents: 106
diff changeset
2318 save register �����äƤ���褦���͡�max_register_var ������?
110
fb502a0071f8 first binary run
kono
parents: 108
diff changeset
2319
fb502a0071f8 first binary run
kono
parents: 108
diff changeset
2320 Wed Mar 19 02:22:51 JST 2003
fb502a0071f8 first binary run
kono
parents: 108
diff changeset
2321
fb502a0071f8 first binary run
kono
parents: 108
diff changeset
2322 �ʤ������struct ��tag list����int a,b,c; �Τ褦�ˤʤäƤ���Τ�
111
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2323 ��Ĥȿ����Ƥ���餷�������ä���Τ������˸��ä��Τ������
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2324 �������褦��
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2325
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2326 macro �ΥХ��⸫�Ĥ�����ä���... �थ��
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2327
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2328 �Ǥ⡢�Ȥꤢ������a.out ��ư���ޤ�����
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2329
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2330 Wed Mar 19 12:59:01 JST 2003
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2331
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2332 �ʤ󤫡���ư��������printf�˰����Ϥ��Ȥ��ϡ�rn�쥸�����ˤ�
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2333 �ͤ򤤤�Ƥ��ơ������⡢���ä��򸫤�ߤ����͡�����ϡ�
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2334 ���ɤ�����....
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2335 r4,r5 ... f1
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2336 r6,r7 ... f2
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2337 r8,r9 ... f3
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2338 f4 �����ñ��
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2339 (�������ʤ󤫡�����ϰ۾�ˤ��ɤ�������... ����ʤ��Ȥ���ʤ�
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2340 f0 ���� r0 �˥��ԡ������Ƥ�...)
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2341
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2342 40(r1)�Ȥ���printf�ϡ��ɼ�ˤ֤ä��魯�褦�Ǥ��͡����ä���
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2343 �ɤ���������ɤ��������?
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2344
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2345 -112 ���餤? ����-72���٤���
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2346
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2347 (�ʤ����٤Ҥ���... ���⤬����Ȥ����Τ�...)
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2348
7aa449aff3e6 floating point
kono
parents: 110
diff changeset
2349 ��ư�������ΥХ����Ĵ�˼��Ƥ��ޤ���
112
fc7de4faedfd *** empty log message ***
kono
parents: 111
diff changeset
2350
fc7de4faedfd *** empty log message ***
kono
parents: 111
diff changeset
2351 �ʤ󤫡�save_stack ��;�פ�save���Ƥʤ�?
fc7de4faedfd *** empty log message ***
kono
parents: 111
diff changeset
2352 �ޤ�������ѿ����ɤ��Ȥ��Τ�free list���ä������ɤ�����͡�
113
a9261154cde9 integer operation debug
kono
parents: 112
diff changeset
2353
a9261154cde9 integer operation debug
kono
parents: 112
diff changeset
2354 �������������黻�Υ����å���ɬ�פ��ʡ�
114
e6cb1e293b35 float/int passed.
kono
parents: 113
diff changeset
2355
e6cb1e293b35 float/int passed.
kono
parents: 113
diff changeset
2356 Thu Mar 20 12:06:27 JST 2003
e6cb1e293b35 float/int passed.
kono
parents: 113
diff changeset
2357
e6cb1e293b35 float/int passed.
kono
parents: 113
diff changeset
2358 �ޤ���save �����쥸�������˲����Ƥ���ʡ�
e6cb1e293b35 float/int passed.
kono
parents: 113
diff changeset
2359 set L_98,244
e6cb1e293b35 float/int passed.
kono
parents: 113
diff changeset
2360 stw r15,lo16(-44+L_98)(r1)
e6cb1e293b35 float/int passed.
kono
parents: 113
diff changeset
2361 ���餤�ǡ��⤦������㤦�ߤ������äƤ��Ȥϡ�L_98 ����ä�
e6cb1e293b35 float/int passed.
kono
parents: 113
diff changeset
2362 �礭���ʤ��ȥ���ʤΤ���
e6cb1e293b35 float/int passed.
kono
parents: 113
diff changeset
2363
e6cb1e293b35 float/int passed.
kono
parents: 113
diff changeset
2364
116
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2365 Thu Mar 20 23:43:42 JST 2003
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2366
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2367 �褦��äȡ�self compile ���̤ꤽ����register save �Ϥ�
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2368 ��äѤ��񤷤��ߤ������͡�dynamic loader ��������ꤹ�뤷��
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2369
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2370 ����mod�����������ߤ����ǡ�hash���ͤ��㤦�餷�����ޥ��ʥ�����
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2371 �ˤʤ�unsigned�Τ������ͤ���int.c ��recursion���̤�ʤ���
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2372 �ޤ���offset �����������餷����
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2373
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2374 macro �ΥХ���Ȥ줿����
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2375
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2376 ����ϡ�self compile ���̤�ޤ�����
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2377
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2378 Fri Mar 21 03:18:26 JST 2003
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2379
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2380 ��äѤꡢr1 �� x(r30) �η׻������ʤ������äȡ�
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2381 �ƽ�¦�ǡ�������ʬ��offset ���Ѱդ��Ƥ���Τ�������
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2382 �����顢�ɤ줯�餤�ΰ����δؿ���ƤӽФ������Ȥ���
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2383 �ͤ�����ΤǤϤʤ���?
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2384
b14ff9671c90 register offset fix
kono
parents: 114
diff changeset
2385
117
2d5a203cc3a6 lvar reuse
kono
parents: 116
diff changeset
2386 Fri Mar 21 12:22:11 JST 2003
2d5a203cc3a6 lvar reuse
kono
parents: 116
diff changeset
2387
2d5a203cc3a6 lvar reuse
kono
parents: 116
diff changeset
2388 <------r1_offset------------------------------>
2d5a203cc3a6 lvar reuse
kono
parents: 116
diff changeset
2389 <------------lvar_offset------->
2d5a203cc3a6 lvar reuse
kono
parents: 116
diff changeset
2390 r+ +------------+---+---------------+----------+--------------+----+ -
2d5a203cc3a6 lvar reuse
kono
parents: 116
diff changeset
2391 caller arg xx register save local callee arg xx
2d5a203cc3a6 lvar reuse
kono
parents: 116
diff changeset
2392 reg_save disp max_func_args*size_of_int
2d5a203cc3a6 lvar reuse
kono
parents: 116
diff changeset
2393
2d5a203cc3a6 lvar reuse
kono
parents: 116
diff changeset
2394 �Ȥ������Ȥ��ä��ߤ����͡��褦��ä� self compile ���̤�ޤ�����
2d5a203cc3a6 lvar reuse
kono
parents: 116
diff changeset
2395
2d5a203cc3a6 lvar reuse
kono
parents: 116
diff changeset
2396 free_glist ���뤫....
119
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2397
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2398 Sat Mar 22 11:17:41 JST 2003
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2399
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2400 creg/freg �� g_expr �ΰ����ˤ����������쥸�����ޥ���ϤǤϡ���ľ��
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2401 �ߤ�������������С�
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2402 ## conv->static_();
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2403 addis r15,r31,ha16(_conv-L_242)
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2404 la r15,lo16(_conv-L_242)(r15)
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2405 lwz r3,0(r15)
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2406 lwz r3,244(r3)
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2407 mr r29,r3
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2408 mtctr r29
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2409 �ߤ����� mr �ϸ���͡���äȤ��̿������ɤ���3% �⤢��ߤ�����
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2410 ����ä�¿����... 386 �Ǥ� use_register ��ʤ��ʤ뤷�ʤ���
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2411 (�������Ǥ���Ⱦ�ϥݥ��󥿥���å�����ʡ����ä���ľ������
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2412 ��ñ��)
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2413
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2414 �ޤ�������������Ŭ���򤷤ʤ��äƤ����Τ������Υ���ѥ����Ω��
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2415 �ʤ櫓�����ɡ�
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2416
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2417
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2418 ��¤�Τΰ����Ϥ��Ǥϡ���¤�Τ��Τ�Τ�쥸�����˺ܤ���
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2419 �����Ϥ��Ƥ���ߤ������͡��ޤä���... ����ǡ�����Ƥ�
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2420 ������������Ƥ���櫓����
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2421
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2422 �ʤ� mtctr r2; bdn Lxx �Ȥ������Τ�����Τ͡�main frame �äݤ�!
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2423 ����ϥ٥���ޡ����Ѥäƴ������͡�
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2424
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2425
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2426 Sun Mar 23 16:06:29 JST 2003
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2427
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2428 Breakpoint 3, get_register () at mc-code-powerpc.c:235
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2429 235 for(i=MAX_TMP_REG;i>MIN_TMP_REG;i--) {
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2430 (gdb) c 9999
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2431 Will ignore next 9998 crossings of breakpoint 3. Continuing.
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2432 test/basic.c:67:Bug of compiler
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2433
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2434 Breakpoint 2, errmsg () at mc-parse.c:214
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2435 214 if(lineno==0) return;
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2436 (gdb) info b
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2437 Number Type Disposition Enabled Address WhatStackFrame Condition IgnoreCount Commands
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2438 2 breakpoint keep y 0x0000ca08 in errmsg at mc-parse.c :214
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2439 breakpoint already hit 1 time
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2440 3 breakpoint keep y 0x000028e4 in get_register at mc-code-powerpc.c :235
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2441 breakpoint already hit 69 times
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2442 ignore next 9930 hits
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2443 (gdb) run
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2444 The program being debugged has been started already.
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2445 Start it from the beginning? (y or n) y
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2446 Starting program: /Users/kono/src/device/mc -s test/basic.c
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2447 [Switching to process 24650 thread 0x2307]
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2448 test/basic.c:67:Bug of compiler
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2449
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2450 Breakpoint 2, errmsg () at mc-parse.c:214
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2451 214 if(lineno==0) return;
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2452 (gdb) c 69
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2453
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2454 ���ޤ�������͡�
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2455
b815fcd57b9d input var ( incomplete )
kono
parents: 117
diff changeset
2456 a+a+a....a ������Ƥ��ޤ����ޤ��ͤ���
124
f52805504ffa *** empty log message ***
kono
parents: 119
diff changeset
2457
f52805504ffa *** empty log message ***
kono
parents: 119
diff changeset
2458 ��ɡ�stack frame �����꤫��
f52805504ffa *** empty log message ***
kono
parents: 119
diff changeset
2459
f52805504ffa *** empty log message ***
kono
parents: 119
diff changeset
2460 Mon Mar 24 03:06:32 JST 2003
f52805504ffa *** empty log message ***
kono
parents: 119
diff changeset
2461
f52805504ffa *** empty log message ***
kono
parents: 119
diff changeset
2462 Intel ¦�ˤ������ embug ���Ƥ��ޤä��褦����
f52805504ffa *** empty log message ***
kono
parents: 119
diff changeset
2463
f52805504ffa *** empty log message ***
kono
parents: 119
diff changeset
2464 basic�Ȥ�float������٤�夲��������?
125
e537da31dce3 struct push
kono
parents: 124
diff changeset
2465
e537da31dce3 struct push
kono
parents: 124
diff changeset
2466 mc-code-power.c ��lvar �ϡ�
e537da31dce3 struct push
kono
parents: 124
diff changeset
2467 input arg > 0
e537da31dce3 struct push
kono
parents: 124
diff changeset
2468 local var < 0
e537da31dce3 struct push
kono
parents: 124
diff changeset
2469 output arg > ARG_OFF
e537da31dce3 struct push
kono
parents: 124
diff changeset
2470 �Ȥ���٤����͡�
e537da31dce3 struct push
kono
parents: 124
diff changeset
2471
e537da31dce3 struct push
kono
parents: 124
diff changeset
2472 Mon Mar 24 12:08:43 JST 2003
e537da31dce3 struct push
kono
parents: 124
diff changeset
2473
e537da31dce3 struct push
kono
parents: 124
diff changeset
2474 addi r27,r1,56
e537da31dce3 struct push
kono
parents: 124
diff changeset
2475 addi r29,r28,28
e537da31dce3 struct push
kono
parents: 124
diff changeset
2476 mr r3,r27
e537da31dce3 struct push
kono
parents: 124
diff changeset
2477 mr r4,r29
e537da31dce3 struct push
kono
parents: 124
diff changeset
2478 li r5,372
e537da31dce3 struct push
kono
parents: 124
diff changeset
2479 bl L_memcpy$stub
e537da31dce3 struct push
kono
parents: 124
diff changeset
2480 lwz r4,0(r28)
e537da31dce3 struct push
kono
parents: 124
diff changeset
2481 lwz r5,4(r28)
e537da31dce3 struct push
kono
parents: 124
diff changeset
2482 lwz r6,8(r28)
e537da31dce3 struct push
kono
parents: 124
diff changeset
2483 lwz r7,12(r28)
e537da31dce3 struct push
kono
parents: 124
diff changeset
2484 lwz r8,16(r28)
e537da31dce3 struct push
kono
parents: 124
diff changeset
2485 lwz r9,20(r28)
e537da31dce3 struct push
kono
parents: 124
diff changeset
2486 lwz r10,24(r28)
e537da31dce3 struct push
kono
parents: 124
diff changeset
2487 mr r3,r28
e537da31dce3 struct push
kono
parents: 124
diff changeset
2488 bl _main3
e537da31dce3 struct push
kono
parents: 124
diff changeset
2489
e537da31dce3 struct push
kono
parents: 124
diff changeset
2490
e537da31dce3 struct push
kono
parents: 124
diff changeset
2491 �����ࡢ������ۡ��ǽ��28byte�����쥸�����Ϥ��ʤΤ������ɥ쥹
e537da31dce3 struct push
kono
parents: 124
diff changeset
2492 ���Ѥ��ʤ���Ǥ��礦���ɡ��ޤ�����碌�ʤ��ƤⳲ��̵�����ɤ���
e537da31dce3 struct push
kono
parents: 124
diff changeset
2493 ���Τ����͡�(����ʤ��񤷤���̵����... �ޤ���function ��ʣ��
e537da31dce3 struct push
kono
parents: 124
diff changeset
2494 ����ˤʤ��) ��������ư�������쥸������Ȥ��Ȥ�����ʤ󤸤�ʤ���
e537da31dce3 struct push
kono
parents: 124
diff changeset
2495 �ɤ��ä����⡣
e537da31dce3 struct push
kono
parents: 124
diff changeset
2496
e537da31dce3 struct push
kono
parents: 124
diff changeset
2497
126
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2498 stwu r1,lo16(-L_9)(r1)
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2499 �Ȥ����Ƥ��뤫�顢�ɽ��ѿ���64k����äƤ��Ȥ��͡�ha���Ƥ⤤��������ɤ���
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2500
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2501 Mon Mar 24 17:07:59 JST 2003
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2502
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2503 ���ơ��褦��ä� fact-a.c �˼��ݤ����櫓�����ɡ����Τޤޤ��ȡ�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2504 input register -> ����ؤ�save
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2505 �äƤΤ���������͡�����Ϥ��������ʤ���sub routine call ����ȡ�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2506 r0-r10 ���˲�������㤦�����Ȥ������Ȥϡ�code segment �ΰ����ϡ�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2507 r29-r20 ���ɤ��󤸤�ʤ���? ��ư������f31-f20��ޤ�ơ�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2508
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2509 ����ϡ��ɤ���input register ����ꤹ�뤫�����ɡ�get_input_register_var
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2510 �� code �Ѥ��ɤ�������ꤹ��Τ��ɤ����ʡ�fnptr �Ǥϥ���ʤΤ���������
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2511 �����ɤ���������
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2512
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2513 r31, r1 �����꤬����ΤϤ������ޤ���r1=r30�Ǥ��ä������ɤ��Τ�������?
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2514 ��������function calll �λ����ѹ������ʤ���������
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2515
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2516 �����input register (���ξ���r29-r20,f21-f20������)���б���
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2517 �ɤ�����? �̾���ȸƽ�¦�����ݤ���櫓�����ɡ������Ϥ����ʤ��͡�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2518 �쥸������save����ɬ�פ�̵�����顢����������ñ�Ǥ��������
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2519
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2520 ���Ȥϡ�return/environment �ΰ��������ɡ�ia32 �����Ǥ⤤������
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2521 ư���ʤ��ʤäƤ���褦���ʡ�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2522
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2523 Mon Mar 24 21:56:47 JST 2003
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2524
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2525 �������̤˥ե졼����Ѥ��ʤ��ǡ����ΤޤޤǤ�������
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2526 ���������ڤ���͡�return ���褦�Ȼפ��Ȥ�������
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2527 frame �򤦤������ʤ��Ȥ����ʤ����ɡ�return ��
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2528 �̽������������顢����ʤ�����
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2529
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2530 Wed Mar 26 14:29:21 JST 2003
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2531
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2532 �ǡ��ե졼����Ѥ��ʤ��Ȥ���ȡ�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2533
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2534 <------r1_offset------------------------------>
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2535 * <------------lvar_offset------->
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2536 r+ +------------+---+---------------+----------+--------------+----+ -
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2537 callee arg xx register save ! local caller arg xx
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2538 reg_save disp max_func_args*size_of_int
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2539 lvar>0 lvar<0 lvar>0x1000 0000
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2540
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
2541 �ʤΤǡ�r1/r30 ���˰�ư������ɬ�פ����롣����code segment/
126
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2542 function ���ɤ���r1/r30����äƤ��������Τ���ʤϤʤ��Τǡ�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2543 jump �����������Ȥ��᤹ɬ�פ����롣r30������ʤ��r1�Τߤ�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2544 �������ɤ��������᤹ɬ�פϤʤ���
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2545
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2546 �Ǥ⡢r1_offset ʬ���᤻���ɤ������ʤ�����顢r30�� * �˸���
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2547 ���Ƥ��ɤ��󤸤�ʤ���? ! �Ǥ⤤��������ɡ����ä���������ñ
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2548 ����? code �ξ��� register_save �� 0 (�Ĥޤꡢ�ޥ��ʥ�)��
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2549 �櫓�����顣(�ޤ�����򳫤��Ƥ����Ƥ��ɤ�����)
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2550
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2551 Intel �ξ��Ϥɤ����ơ��������ʤ��ä��Τ�? (�Ǥ⡢�Ǹ�˥����å�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2552 �������ˤ�core dump���Ƥ�����...)
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2553
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2554 ebp <-----esp----------->
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2555 <------r1_offset------------------------------>
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2556 * <------------lvar_offset------->
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2557 r+ +------------+---+---------------+----------+--------------+----+ -
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2558 callee arg xx register save ! local caller arg xx
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2559 reg_save disp max_func_args*size_of_int
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2560 lvar>0 lvar<0 lvar>0x1000 0000
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2561
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
2562 �Ȥ����櫓�ʤΤǡ�* �ˤ����������� Intel �ǤȤ���פ��롣
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
2563 �äƤ��Ȥϡ�ebp �ΰ�ư�� Intel �Ǥ��äƤ����äƤ���?
126
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2564 ����function�ǤϤ����ʤäƤ��������ɡ�code �Ǥϰ㤦��
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2565
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2566
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2567 ebp <-----esp----------->
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2568 <------r1_offset------------------------------>
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2569 * <------------lvar_offset------->
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2570 r+ +------------+---+---------------+----------+--------------+----+ -
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2571 callee arg xx register save ! local caller arg xx
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2572 reg_save disp max_func_args*size_of_int
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2573 lvar>0 lvar<0 lvar>0x1000 0000
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2574
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2575 �äƤ櫓�����Ȥ���� powerpc �Ǥϡ�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2576
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2577 r30 <------r1_offset------------------------------> r1
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2578 # * <------------lvar_offset------->
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2579 r+ +------------+---+---------------+----------+--------------+----+ -
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2580 xx callee arg zz register save ! local caller arg zz
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2581 reg_save disp max_func_args*size_of_int
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2582 lvar>0 lvar<0 lvar>0x1000 0000
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2583
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2584 ��#��r30����ꤷ��r1�򤺤餹���Ȥˤʤ롣��äѡ����ä�����͡�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2585 zz �Ϥ��顣xx �ˡ�base �Ȥʤ�ؿ��ƤӽФ�����롣���顢
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
2586 callee arg ���˲�����롣
126
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2587
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2588 �ɤä����ǽ���ʡ�ξ����������? ��äѤ��Ԥ��餫�ʡ�gcc ��
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2589 ���Ԥ�������ñ��������
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2590
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2591 �����ѿ���쥸�����˳�꿶�äƤ��ޤ��ȡ������ϰϤǤ�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2592 ��ñ��ư���Ƥ��ޤ���(����㡢������...)
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2593
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2594 goto with environment �ǹ�¤�Τ��֤��Τˤ����դ�ɬ�ס�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2595 �ɤ��ǥ��ԡ�����? goto �������? return-continuation?
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2596 �����ͤ���return-continuation ¦�����̤Ǥ��礦��������
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2597 �Ǥ��֤���ϸ��δؿ��ƤӽФ��ΰ����������������ä�
1d1612fe705a *** empty log message ***
kono
parents: 125
diff changeset
2598 ���뤫��͡������顢�ȤäƤ��������������ɤ��櫓�͡�
127
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2599
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2600 (�ʤ� -O3 �ˤ���ȡ�mc1 ��������...)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2601
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2602 Sat Mar 29 16:35:18 JST 2003
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2603
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2604 r30 <------r1_offset------------------------------> r1
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2605 # * <------------lvar_offset------->
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2606 r+ +------------+---+---------------+----------+--------------+----+ -
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2607 xx callee arg zz register save ! local caller arg zz
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2608 reg_save disp max_func_args*size_of_int
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2609 lvar>0 lvar<0 lvar>0x1000 0000
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2610
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2611 ���Τޤޤ��ȡ�* �� previous r1/r30 �ˤʤ�Τǡ�function ����
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2612 goto �������������Ϥ�zz�ˤ���Ϥ���saved r31/r30���˲������
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2613 ���ޤ�������ϡ�����äȺ���Ȥ������Ȥϡ���ö��dummy subroutine
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2614 (���̤�stub �äƤ�����)��ƤӽФ������ɤ�? ������Ϥ�previous r1/r30
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2615 �ϻ����⤤�Ƥ���櫓������... �ޤ���r20-r29�ϤĤ֤���Ƥ��ޤ�
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2616 �Τǡ�����ä�save����ɬ�פ⤢�롣f31-f20�⡣(�빽¿����...)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2617
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2618 # * r30 <--------------r1_offset-----------> r1
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2619 r+ +--+----------+----------+-----------+----------+----+
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2620 xx zz reg save !callee arg!code local caller arg xx
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2621 r20-r29
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2622
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2623 ������� environment �ϻ�������ɬ�פϤʤ�? ���䡢����?
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2624 �դ�������Ϥ��������ɬ�פϤʤ��ʤ�櫓�͡����ä���
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
2625 �������줤���ʡ�goto-continuation �ߤ����ʴ�������
127
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2626
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2627 �֤�¦�ϡ�
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2628
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2629 lwz r1,continuation
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2630 lwz r1,0(r1)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2631 lwz r0,8(r1)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2632 mtlr r0
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2633 lmw r30,-8(r1)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2634 blr
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2635
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2636 ���٤��ɤ�? ����r30�äƤΤ�goto��Ǥ��Τ����ʤ������䡢�ԤƤ衢
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2637 ���ξ��ϡ�r20-r29�äƷ�ޤäƤ���櫓����
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2638
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2639 lwz r1,continuation
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2640 set r3/f1 as a return value
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2641 lwz r1,0(r1)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2642 lwz r0,8(r1)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2643 mtlr r0
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2644 lmw r20,-148(r1) (?!)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2645 blr
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2646
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2647 ���ɤ��櫓������ʸ��Ʊ����return address��̵�뤹�뤳�Ȥˤ��뤫��
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2648 �ƽ�¦�ϡ�
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2649
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2650 �̾�δؿ��ƤӽФ� (����0) (�ϡ����0������..)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2651 bl L_stub_NN
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2652 L_return: (���̤�retrun�⤢�뤫�顢ɬ�פʾ�礬����)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2653 lwz r1,0(r1)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2654 lwz r0,8(r1)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2655 mtlr r0
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2656 lmw r20,-8(r1)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2657 blr
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2658 L_stub_NN:
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2659 mflr r0
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2660 bl L_61
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2661 L_65:
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2662 lwz r1,0(r1)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2663 lmw r23,-108(r1)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2664 b restFP+36 ; restore f23-f31
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2665 L_61:
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2666 stmw r23,-108(r1)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2667 stw r0,8(r1)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2668 b saveFP+36 ; save f23-f31
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2669
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2670 ����ä�ʣ�������뤫�ʡ��ä� gcc �Ǥϡ��������������񤷤����⡣
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2671
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2672 ������������register save�ϡ�����y�ؿ����ƤӽФ��줿������
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2673 ��äƤ��ޤ����ɤ������������ɬ�פʤ���������Ϥ���� xx
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2674 �����äƤ��롣����͡�
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2675
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2676 * goto��ƤӽФ����ؿ���r1 ! r1(goto����r1)
128
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2677 # * r30<--r1_offset-------------> r1
127
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2678 r+ +----------+--+----------+----------------+-----------+----------+----+
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2679 cousin arg xx reg save !callee arg !code local caller arg xx
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2680 r20-r29 lvar>0 lvar<0 lvar>0x1000 000
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2681 f20-f31 <-my_func_args--><--disp-----><-max_func_arg->
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2682 *size_of_int *size_of_int
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2683
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2684 �Ȥ���� stub ��ɬ�פʤ���cousin arg ����¸����Ƥ��롣goto ��
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2685 �����Τߤ�local�ѿ����񤭤�����dz�Ǽ����롣����ǡ�original
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2686 ��IA32�����Ȱ��פ��뤳�Ȥˤʤ롣(��������¸������ơ����䡢
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2687 ���Τ���¸����Ƥ���󤸤�ʤ���?)
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2688
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2689 ����ǡ�code segment ����ؿ��ƽФ�����Ȥ���? (�äƤ��Ȥϡ�
eb4d8975926c Intel float fix
kono
parents: 126
diff changeset
2690 ����褦�Υƥ��Ȥ�ɬ�פʤ櫓��...)
128
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2691
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2692 Wed Apr 2 17:40:32 JST 2003
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2693
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2694 register �ѿ������˻Ȥ��Ƥ��Ƥ⡢�虜�虜save����ɬ�פϤʤ���
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2695 ��ä���ʤ����顣register ��Ȥä����Ȥˤ���ˤϡ�used_max_register_var
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2696 �����ꤷ�Ƥ����ɤ���
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2697
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
2698 Intel�Ǥ� goto ��ư���ʤ��ʤä��Τϡ�arg_offset ����register �ѿ�ʬ
128
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2699 ����褦�ˤʤä����顣save ���뤳�Ȥ�ͤ���ȡ����������ɤ����ºݡ�
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2700 function call �������save����Ƥ��ޤ����Ȥ������Ȥϡ��̤� r20-r29
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2701 �Ǥ���ɬ�פϤʤ��äƤ��Ȥ����̾��input register var���ɤ����Ȥ���ȡ�
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2702 register�ѿ���save����ɬ�פ�ʤ��͡�
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
2703 ������input register var �ϡ�function call�����ˤ� save����ɬ�פ�
128
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2704 ���롣�Ǥ⡢����ϡ���äѤ���٤줫���äƤ��Ȥϡ���äѤꡢ
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2705 r20-r29���ɤ��äƤ��Ȥ���
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2706
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2707 jump() �Ǥϡ��ƽФ������ϡ�-arg_size �Ĥޤꡢ�ɽ��ѿ���
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2708 Ʊ�������ˤʤäƤ��롣�äƤ��Ȥϡ�
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2709
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2710 * goto��ƤӽФ����ؿ���r1 ! r1(goto����r1)
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2711 # * r30<----r1_offset---------> r1
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2712 r+ +----------+--+----------+----------------+-----------+----------+----+
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2713 cousin arg xx reg save !callee arg !code local caller arg xx
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2714 r20-r29 lvar >0 lvar<0 lvar>0x1000 000
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2715 f20-f31 <-my_func_args--><--disp-----><-max_func_arg->
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2716 *size_of_int *size_of_int
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2717
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2718 r1 <----------------------r30 (return continuation)
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2719
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2720 �ǡ�callee arg ����¸���줿�ޤޡ�code local �����Ѥ��äƤ��Ȥ��͡�
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2721
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2722 return continuation �ǡ���¤�Τ��֤����Ȼפ����񤷤������⤽�⡢
d497c39add36 arg.c works (?)
kono
parents: 127
diff changeset
2723 ��ư�����������������֤�Τ�?
130
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2724
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2725 Thu Apr 3 13:47:23 JST 2003
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2726
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2727 r1 �� stack top ����¸���Ƥ����Τ򡢤��Τޤ�environment
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2728 �Ȥ����Ϥ��Τ��ɤ���
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2729
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2730 stack ��Υǡ�����64kbyte�ʤΤ����¤��������򤨤ޤ���
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2731
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2732 �Ȥ����櫓�ǡ�powerpc �Ǥ� CwC �ϤǤ������ꡣ
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2733
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2734 return continuation �Ǥι�¤�Τΰ��Ϥ�
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2735 function ��prototype�Ǥν�ʣ���������ξ�ά
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2736
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2737 �����꤬���ޤ����ƥ��Ȥ��Ƥ��ʤ������ȡ�
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2738
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2739 �ؿ�ñ�̤Ǥι�ʸ�ڤκ���
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2740 ����Υե졼�๽¤�κ����ѥС������
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2741
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2742 �����ǤϤ��롣
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2743
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2744
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2745 Fri Apr 4 10:41:22 JST 2003
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2746
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2747 ����������-O3 �ˤ���ȡ�mc-codegen.c �� arg_register ��
fea1b499d47b fix register var save
kono
parents: 128
diff changeset
2748 r14 �ޤǻȤ��衣����ϡ��ޤ�����Ǥʤ�����? ���ä��ʤ���
131
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2749
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2750 Mon Apr 7 14:29:51 JST 2003
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2751
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2752 ���������С�unsigned char �Ͻ������Ƥ��? crgvar �Ϥ��뤱�ɡ�
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2753 curgvar �Ȥ��Ϥʤ��ߤ��������ɡ�
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2754
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2755 ���ȡ�-1.0 �Ȥ��� d2i �Ȥ�����������Τ�ľ���Ƥʤ���Ǥʤ�����?
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2756
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2757 MIPS �����̿��ϡ�
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2758
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2759 beq $2,$3,$L18
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2760
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2761 slt $2,$2,$3
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2762 bne $2,$0,$L17
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2763
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2764 �Ȥ��������ʤ櫓�͡�(signed less than ��?)
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2765
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2766 ���Ȥ���Ⱥ�����ˡ�ǤϤ��ޤ��ʤ����⡣
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2767
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2768 PS2Linux�Υ�����֥餬��ǽ�����ơ�forward reference ������
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2769 ��褷�Ƥ���ʤ����ɤ�����㤤�����?
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2770
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2771 .include ��Ȥ����ɤ��餷����(����ʤ�Ǥ����Τ�?!)
09379ec2a74b *** empty log message ***
kono
parents: 130
diff changeset
2772
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
2773 csvalue() �Ǽ�ä��褿register��ï��free�����?
132
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2774
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2775 Tue Apr 8 14:52:06 JST 2003
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2776
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2777 MIPS�ˤ� bgez �Ȥ� bgtz �Ȥ�����̿�᤬����Τ͡��ʤ󤫤�
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2778 �Ȥ����? �Ȥ��뤱�ɤ������Υ���ѥ���ǻȤ���ˡ��?
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2779
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2780 gcc����ư�������쥸�������򤱤�褦�˥���ѥ��뤷�Ƥ���
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2781 �Τϲ��Τ�����? �٤�����? jal dcmp �Ȥ��ϡ���äѤ��ѡ�
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2782
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2783 double �� float �κ����ɤ��狼��ʤ���
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2784
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2785 Wed Apr 9 16:20:00 JST 2003
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2786
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2787 LOR LAND ������ΰ������ɲ�
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2788
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2789 ����ν��������뤫�顢�ѿ�*������餤��h��Ŭ����
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2790 ���줿�����ɤ����⡣���������쥸�����⾯�ʤ��Ȥ�����
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2791 (�ޤ�?)
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2792
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2793 ���ȤǻȤ��褦�ˡ��ޤ�����Ŭ���������Τ�ɬ�פ��ʡ�
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2794
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2795 MIPS����ư�������äƤ���single precision ����������̿�᤬
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2796 �ʤ�? dpsub �Ȥ���ƤӽФ��ΤäƤ��������ʤ�? (�ޤ���
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2797 ����������ɤ�)
07eb1249f07a *** empty log message ***
kono
parents: 131
diff changeset
2798
133
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2799 Fri Apr 11 14:36:33 JST 2003
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2800
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2801 (�������...)
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2802
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2803 �פ���ˡ�
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2804 ��ư�������쥸������ single float �����Ȥ��ʤ�
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2805 double �ϡ����٤ơ����ѥ쥸�������֤����׻��Ϥ��٤ơ� subroutine
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2806 �äƤ��Ȥ���͡�(������������)
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2807
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2808 single float �����Ǥα黻��Ƴ�����뤿��ˤϡ�DSUB��¾��FSUB
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2809 �ʤɤ�Ƴ������ɬ�פ����롣����ϡ֤������ס��Բ�ǽ����ʤ���
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2810 �ɡ����ʤ���ɤ������͡���ư����������������⤢�뤷������
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2811 double ���Ѵ����Ƥ���׻����������ʤ����ȸ����ȡ�����ʤ�
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2812 �ȤϤʤ��櫓����������ơ���ư�������쥸������Ǥα黻�򤪤�
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2813 �ʤ�subroutine�Ϥʤ���? (���뤫���Τ�ʤ�)
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2814
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2815 �ޤ��ʤ���FCOMP�Ȥ����Ф��������ʤ�����ɡ�
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2816
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2817 Sat Apr 12 13:30:07 JST 2003
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2818
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2819 jal dpadd �ϡ���äѤꡢ���ʤ�ʣ������ư�������黻���Ȥ�����
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2820 �狼�ä���IEEE�η����ȹ��ʤ��Ȥ��Ȥ��Ǥ����ʤä��󤸤�ʤ�
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2821 ������? ��äȤ⡢PlayStation �˹�碌�Ƥ���Τ����Τ�ʤ���
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2822 �ɡ�
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2823
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2824 �Ȥ������Ȥǡ�single float �׻�������ʤ��ȡ���Ȥ�gcc �Ȥ�
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2825 �����礭������������Ȼפ����äƤ��Ȥϡ�fmachineop �Ȥ� FSUB
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2826 ������ʤ��Ȥ���äƤ��Ȥ����ޤ������С����������ʤ�����ɡ�
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2827 ¾��CPU�Ȥ�Ĵ�᤬�ʤ�...
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2828
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2829 ���ϡ�float �α黻��pipeline��Ǥ�1clock�ʤ���������顢
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2830 �Ǥ����double �Ǥ�ä��ߤ������ɤ͡��ȤϤ�����double/float
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2831 ���Ѵ������פˤʤ�Τǡ�float base ����MIPS������®��
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2832 �äƤ��ȤˤϤʤ뤫���Τ�ʤ���
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2833
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2834 gdb ��disass �򸫤�ȡ�jal bpadd �Ȥ�������쥸����
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2835 ��Ȥä����������ˤʤäƤ���餷�����ޤ���disass ��
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2836 �쥸����ɽ������
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2837
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2838 $a0 $a2 $a3 $at $f0 $gp $ra $s0 $s1 $sp $t9 $zero $v1 $f12 $at
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2839
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2840 �Ȥ��ʤΤǡ��褯�狼��󡣤��ޤä���Τ�������⡢
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2841 ����äȻ��֤�����Τ���?
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2842
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2843
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2844 �ޤ����ʤ�... ANSI-C �˽������Ȼפ��ȡ����Τ������float/double
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2845 �Ϥ��äȤ�������͡��Ǥ⡢�Ȥꤢ����ư�����ɤ�?
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2846
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2847 expr �ΰ����Ȥ��ơ�output type�פ�����뤫? ����Ū�ˤ� assign
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2848 �Ƿ�ޤ�type���׵᤹�롣��äѤꡢC �ε��ʽ񤬤����������ʤ���
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2849 (����Ϸ�����...) CbC �Ȥ��ơ�����������Τ������Τ�������
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2850 ��������? (�����ͤ�...)
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2851 float = float op float
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2852 ���ɤ�������ɡ�
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2853 double = float op float
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2854 �λ��ˡ�ɬ�פ����٤���ݤǤ��ʤ���cast ������ɤ�������ɡ������
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2855 ANSI-C �Ȥϰۤʤ��ư�ˤʤäƤ��ޤ����ޡ���������
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2856
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2857 MIPS��double=float �Ȥ������Ȥˤ���äƤ�����⤢��͡�
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2858 �����������줤�����Ǥ⡢�ɤ�����¾��CPU�⤢�뤳�Ȥ�ͤ���ȡ�
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2859 fbinop ����󤸤�ʤ���? lbinop ��Ф��ʤ��Ȥ������������
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2860 short �Ȥ�unsigned char �ΰ�����͡�(sigh...)
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2861
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2862 �ޤ������֤���������顢�����ɤ������ʤ�����ɡ����ɤ�!
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2863
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2864 (�����double�Υ롼������ư�������쥸������ȤäƤ�����
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2865 �ڤ��ä��Τˡ�)
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2866
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2867 Mon Apr 14 23:29:37 JST 2003
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2868
7d436c08e949 separate float / double flow
kono
parents: 132
diff changeset
2869 ��äѤꡢ����ä��ѹ��礭���ʤ���
134
7a55819b0482 *** empty log message ***
kono
parents: 133
diff changeset
2870
7a55819b0482 *** empty log message ***
kono
parents: 133
diff changeset
2871 Fri May 2 14:53:16 JST 2003
7a55819b0482 *** empty log message ***
kono
parents: 133
diff changeset
2872
7a55819b0482 *** empty log message ***
kono
parents: 133
diff changeset
2873 �ʤ�Ǥ⤤�����ɡ�power-pc �� test/basic ���̤�ʤ��ʤäƤ롣
7a55819b0482 *** empty log message ***
kono
parents: 133
diff changeset
2874 (�ޡ����������....) struct-push�� args-works �������
7a55819b0482 *** empty log message ***
kono
parents: 133
diff changeset
2875 ư���ʤ��ʤä��餷����
7a55819b0482 *** empty log message ***
kono
parents: 133
diff changeset
2876
7a55819b0482 *** empty log message ***
kono
parents: 133
diff changeset
2877 ���ȡ������ΰ��Ϥ������ɡ�printf (...) �������̰���������?
7a55819b0482 *** empty log message ***
kono
parents: 133
diff changeset
2878 �ץ��ȥ����פ�����Τ����̰�������ɬ�פϤʤ��󤸤�ʤ�?
135
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2879
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2880 Sat May 3 18:38:57 JST 2003
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2881
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2882 �狼��ޤ�����contains_in_list ��������Τ�˺��Ƥ���͡�
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2883 ���ȡ�get_register �ϡ��ɤ���­��ʤ��ʤ�櫓����? ����
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2884 ���Ϥɤ������? ­��ʤ��ʤ�Τϴؿ��ƤӽФ��λ�����?
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2885 (����?)
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2886
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2887 ���Ȥ���С��ؿ��ƤӽФ���save���ѿ���ɽ��ѿ���Ȥ���褦��
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2888 ������ɤ��������͡�
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2889
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2890 Sun May 4 09:18:32 JST 2003
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2891
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2892 �ؿ��ƤӽФ�������ư���������Ǽ���롢r8,r9 �ΰ�����
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2893 ����������
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2894
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2895 emit_push / tosop �Ƕɽ��ѿ����������̰���
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2896 �������������󤸤�ʤ�? register full ���ȡ�
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2897
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2898 register ��load (emit_push)
136
069960078249 remove redundant funcall argument for prototyped code in PowerPC case.
kono
parents: 135
diff changeset
2899 register full �Ǥ����ɽ��ѿ������� (*)
135
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2900 �黻����register�˺�����
4cfd24d1b929 fix power-pc basic test
kono
parents: 134
diff changeset
2901
136
069960078249 remove redundant funcall argument for prototyped code in PowerPC case.
kono
parents: 135
diff changeset
2902 �ޤ��ͤ���������ȡ�mc-code-386.c �λ�������櫓
069960078249 remove redundant funcall argument for prototyped code in PowerPC case.
kono
parents: 135
diff changeset
2903 �����ɡ��ޤ����������������Τ��ʡ���äȤ⡢(*)
069960078249 remove redundant funcall argument for prototyped code in PowerPC case.
kono
parents: 135
diff changeset
2904 ��������ʤ���С��ä�����Ϥʤ�������ɤ͡�
069960078249 remove redundant funcall argument for prototyped code in PowerPC case.
kono
parents: 135
diff changeset
2905
069960078249 remove redundant funcall argument for prototyped code in PowerPC case.
kono
parents: 135
diff changeset
2906 �ɽ��ѿ�������ѿ��������­�����Ȥ��Ͻ����������������Τ��ʤ���
137
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2907
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2908 Sun May 4 15:10:48 JST 2003
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2909
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2910 ���֤�oprt �Ȥ��ϡ�����ۤɸ��̤�̵���衣�����Τϡ�
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2911 register full ���������?
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2912
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2913 MIPS version �ϡ��ޤ��ޤ������ȸ�����������ä���
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2914 ���դ��ƹԤ������ʤ��͡�
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2915
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2916 Sun May 4 18:29:26 JST 2003
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2917
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2918 d50 �Ǥϡ������ϥ쥸������ $4,$5,$6,$7 �� double ��Ĥ����Τ�ʤ���
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2919
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2920 f50 �Ǥϡ�������
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2921 $f12,$f14,$6,$7
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2922 �Ȥ����褦��4�ľ��餷����(���ޤä�����...)
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2923
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2924 i50�Ǥϡ�$4,$5,$6,$7 ���͡�
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2925
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2926 ���Ȥ�stack���Ѥ�ߤ����͡�
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2927
9fb09db54436 fix powerpc get_fregister_var's regs error.
kono
parents: 136
diff changeset
2928 ������ get_input_register_var �ǽ�������櫓����
138
e6e77af048a1 float/dobule configuration
kono
parents: 137
diff changeset
2929
e6e77af048a1 float/dobule configuration
kono
parents: 137
diff changeset
2930 Mon May 5 15:28:07 JST 2003
e6e77af048a1 float/dobule configuration
kono
parents: 137
diff changeset
2931
e6e77af048a1 float/dobule configuration
kono
parents: 137
diff changeset
2932 code_fconst/code_dconst �� code_drgvar(e4,d,reg) �ߤ����ʤΤ�
e6e77af048a1 float/dobule configuration
kono
parents: 137
diff changeset
2933 �������äƤ�ʡ��ޡ�����������ɡ�
e6e77af048a1 float/dobule configuration
kono
parents: 137
diff changeset
2934
e6e77af048a1 float/dobule configuration
kono
parents: 137
diff changeset
2935 ��äѤꡢ��Ԥ����졣(���ɤ���) free �� d ����ꤹ��ΤϤޤ�����
141
kono
parents: 138
diff changeset
2936
kono
parents: 138
diff changeset
2937 Thu May 8 11:02:42 JST 2003
kono
parents: 138
diff changeset
2938
kono
parents: 138
diff changeset
2939 regs/fregs ��ʣ����ɬ�פʤ��󤸤�ʤ���? ��Ĥ��ɤ�? ������
kono
parents: 138
diff changeset
2940 �ϸ����ʤ����顢mc-code-mips �����Ǥ�������Τ��ɤ���
kono
parents: 138
diff changeset
2941
kono
parents: 138
diff changeset
2942 register �Τ�������פ��ʤ��Ȥ��ᤫ��
kono
parents: 138
diff changeset
2943
kono
parents: 138
diff changeset
2944 �������ɤ�.... ������ư���Τ�?
kono
parents: 138
diff changeset
2945
kono
parents: 138
diff changeset
2946 double �Υ饤�֥��ƤӽФ���$3,$4,$5,$6 ��Ȥ��櫓�����ɡ�
kono
parents: 138
diff changeset
2947 ������ɬ�������Ƥ����ʤ���Ф����ʤ��櫓����͡��Ǥ⡢�ºݤ�
kono
parents: 138
diff changeset
2948 �ϡ��饤�֥��θƤӽФ���ˤ�$3,$4 ���Ȥ��Ƥ��ޤ��������ǡ�
kono
parents: 138
diff changeset
2949 emit_push �����ȵ��ޤ�����...
kono
parents: 138
diff changeset
2950
kono
parents: 138
diff changeset
2951 ������function call��Ʊ�������Ǥ⤤��������ɡ��������
kono
parents: 138
diff changeset
2952 ����äȤ��Ĥ��ʤ�?
kono
parents: 138
diff changeset
2953
kono
parents: 138
diff changeset
2954 �ʤ���ư�������쥸�����ѿ��ؤ�dpreinc/dpostinc ���������
kono
parents: 138
diff changeset
2955 �ʤ��󤸤�ʤ�? ����ϡ��ޤ����󤸤�ʤ���? dassop �⤽����?
kono
parents: 138
diff changeset
2956 ����? �ʤ󤫲��⤷�Ƥʤ��ߤ������ʡ�Intel �Ǥˤϥ쥸�����ѿ�
kono
parents: 138
diff changeset
2957 ���ʤ����顢�ƥ��Ȥ��ʤ��ä��Τ���code �ΰ����ϥ쥸�����˳�
kono
parents: 138
diff changeset
2958 �����Ƥ��뤫�顢���Τ�����ǥƥ��Ȥ��뤳�Ȥϲ�ǽ�������͡�
kono
parents: 138
diff changeset
2959 �ޤ������켫�Τ��񤷤��Ϥʤ���...
kono
parents: 138
diff changeset
2960
142
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2961 code segment �Ǥ���ư�������쥸�����˳�꿶���Ƥ��ޤ��Τǡ�
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2962 �¤ϥ��顼���ФƤ����󤸤�ʤ����ʡ�����ϥƥ��ȥץ������
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2963 ��񤯤٤��Ǥ��礦�͡�
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2964
141
kono
parents: 138
diff changeset
2965 ���뤤��#define REG register �ǥƥ��Ȥ���ɬ�פ�����櫓�͡�
kono
parents: 138
diff changeset
2966
kono
parents: 138
diff changeset
2967 MIPS�Ǥϡ�$4,$5,$6,$7 �ϡ����������̰������ʤ��Ȥ�����͡�
142
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2968
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2969 Thu May 15 21:25:45 JST 2003
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2970
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2971 fregv �ϡ���äѤꥵ�֥롼���󡦥�����ˤ�������?
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2972 (�������˼��Ȥ��ϤޤäƤ��ޤ��ȡ��ʤ��ʤ��ʤޤʤ�...)
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2973
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2974 Sat May 17 13:57:12 JST 2003
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2975
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2976 $4,$5 ���� creg �ޤ��ϡ�double ��freg�Ȥ��ƻȤ���
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2977 $f12 ��floating �ѡ�
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2978
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2979 �������emit_push����Ф�����㤦���ɤ͡�rename ����٤���?
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2980 ���⤽��rename��ɬ�פʤ��󤸤�ʤ���?
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2981
de272ad4ddce mips continue
kono
parents: 141
diff changeset
2982 ���Ȥ⤦�����ʤ�����ɤͤ�����뵤���Ǥ�...
143
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2983
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2984 Tue May 20 11:08:44 JST 2003
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2985
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2986 freg ��Ʊ���褦�� dreg ����? (��������� ia32
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2987 �ν�ľ�������뤬��������ɤ��Ȥ���...)
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2988
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2989 �Ǥ⡢mc-codegen.c �� creg/freg �˰�¸���Ƥ��뤫�顢
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2990 ������ľ���Τ��빽���ɤ���������ľ����
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2991 ����פʤΤ�? ��������...
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2992
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2993 �դ�creg/dreg/freg ��̵�����äƤΤ�? ������creg ��
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2994 ���櫓���ʡ�����äȽ�ľ����¿�����ɡ�����Ū�ˤ�
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2995 ����Ǥ����Ϥ������ɡ����ܤ��Ƥ���current register
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2996 �ϰ�ĤΤϤ������顣
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2997 (1)
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2998 creg int
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
2999 freg double/float
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
3000
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
3001 �äƤʤäƤ��뤫�餪�������ΤǤ��äơ�
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
3002 (2)
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
3003 creg int/double/float
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
3004 ����
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
3005 (3)
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
3006 creg int
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
3007 freg double
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
3008 greg float
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
3009 ����ͤ���
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
3010
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
3011 ��äѤ�(2)���ʤ���long long �Τ��Ȥ�Ȥ���ͤ���ȡ�
66ddda268ac5 *** empty log message ***
kono
parents: 142
diff changeset
3012 �Ǥ⡢�Ȥꤢ����(1)�Ǥ�뤫��
144
56211702f298 creg/freg continue
kono
parents: 143
diff changeset
3013
56211702f298 creg/freg continue
kono
parents: 143
diff changeset
3014 ������ˤ��衢fregv ���������뤳�Ȥ���Ϥ����󤸤�ʤ�?
56211702f298 creg/freg continue
kono
parents: 143
diff changeset
3015
56211702f298 creg/freg continue
kono
parents: 143
diff changeset
3016 ����ϤǤ��ޤ�����
145
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3017
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3018 Thu May 22 23:40:13 JST 2003
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3019
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3020 3808 macro = (char *)car(nptrm->dsp);
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3021 3809 if (nptrm->sc==MACRO) {
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3022 3810 while((*macropp++ = *macro++));
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3023 3811 macropp[-1]=c;
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3024 (gdb)
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3025 3812 } else if (nptrm->sc==FMACRO) {
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3026 3813 if(c!='(') error(MCERR);
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3027 3814 *macropp++=0;
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3028 3815 macrop = macro_function(macrop,&body,nptrm,
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3029 3816 list2((int)macro,history));
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3030
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3031 MACRO �ξ���recursive �ʽ�����˺�줤�Ƥ���ߤ��������ɡ�
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3032 ����Ǥ��ɤ��ä��Ϥ��ʤ�����ɡ�macro_buf ��static �ʤΤ�
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3033 ���Թ礬�ФƤ���ߤ����͡�
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3034
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3035 recursive �˽�������ȡ�
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3036 #deifne car(e) heap[e]
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3037 car(e)
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3038 �ߤ����ʻ��ˤޤ���������ϡ��ɤ��������ä�?
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3039
fb61020a9b48 fix macro
kono
parents: 144
diff changeset
3040 LMACRO �äƤΤ����ä��ߤ����͡�
147
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3041
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3042 Sun May 25 21:48:46 JST 2003
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3043
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3044 macro_eval ���ޤ����������Τ��֤��Ȥ���...
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3045
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3046 ñ���creg/freg�����줷�Ƥ��ޤ��ȡ�
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3047 fdecl �� creg �򥻥å�
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3048 �������ˡ�float/double/int �ˤɤ줫�˸��ꤵ��롣���Τޤޡ�
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3049 coce_rlvar(creg) �Ȥ���ƤФ�Ƥ��ޤ��Τǡ�����äȺ��롣
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3050 code_rlvar �ǡ�if(!is_int_reg(creg)) creg = ireg;
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3051 �Ȥ�����Ф���������ɡ�����ϡ�����ä��Ѥ����?
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3052
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3053 ���⤽�⡢mc-codgen.c ��creg������⤤�Ƥ�����ͳ��?
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3054 �ʤ󤫤��ä��褦�ʵ������뤬...
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3055
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3056 ��������
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3057 use_int_reg()
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3058 �Ȥ����Ƥ����ɤ��櫓�͡�(rname ��Ȥ����ɤ����ϤȤ⤫��)
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3059
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3060 code_rlvar �Ȥ������ꤹ��register�򾡼���Ѥ������
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3061 ���줷���ʤ���(���?) codegen ¦�� use_int_reg()�Ȥ�
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3062 �Ǥ���Ф����󤸤�ʤ���?
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3063
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3064 Mon May 26 21:06:14 JST 2003
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3065
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3066 code_* ¦�Ǥ�뤫��mc-codegen ¦�ǹԤ���? �ɤä����ʤ���
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3067 code_* ¦�������ɤ��褦�ʵ��⤹�뤱�ɡ�
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3068
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3069 Thu May 29 10:30:09 JST 2003
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3070
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3071 freg/creg �ζ��̤� mc-codegen ¦�Ǥ�äƤ���������顢
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3072 mc-codegen ¦�Ǥ��ʤ��ȡ�mc-cdoe-* ¦�Ǥ�ưŪ
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3073 �����å������������Ƥ��ޤ���
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3074
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3075 creg/freg ��ͭ����Τ��ɤ��Τ��������������
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3076 mc-codegen ¦�Ǥ��٤��ʤ󤸤�ʤ���?
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3077
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3078 mc-code-* ¦��������ȥХ�������ڤ�ʤ�...
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3079 (�Ȥ����Ĥġ��⤦�������ʤ����������... �Ǥ⡢�ʤ�)
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3080
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3081 cast ��ʬ������Ǥ������ʤ��ñ�ʤ���������ɡ�
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3082
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3083 Tue Jun 3 13:03:41 JST 2003
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3084
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3085 �������ʤ󤫾���ڤ�ʤ���CONV ��ľ����creg���������
cb7aa0089681 creg/ireg done for powerpc.
kono
parents: 145
diff changeset
3086 �ɤä��� use_float ��˺��Ƥ����������ʡ�
148
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3087
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3088 Wed Jun 11 12:27:58 JST 2003
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3089
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3090 �ʤ󤫡��褦��ä� creg/ireg/freg �����դ����衣
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3091 creg ���ѹ������Ȥ��ˡ�ireg ���ѹ���˺��뤳�Ȥ�¿���ä�
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3092 �ߤ�����set_creg ��ɬ���Ȥ��褦�ˤ�����ɤ��������Ȼפ�
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3093 ������
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3094
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3095 Thu Jun 12 19:34:48 JST 2003
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3096
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3097 �ޤ���MIPS�ѤΥ쥸����������Ƥ�񤫤ʤ��Ȥ�����͡�
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3098 �����Ƚ񤤤Ƥ⤤��������ɤ����ʤ� one path ��
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3099 ����Τ����򤤤�Ǥ���?
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3100
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3101 Sun Jul 13 18:26:29 JST 2003
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3102
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3103 �ޤ����쥫��ʤˤ�񤫤ʤ��ä��Τ��� mips �ϡ�mc-code-power.c
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3104 �����ľ���������ɤ��������͡�
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3105
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3106 regs/regv �ϡ�i/f/d �Τ��٤ƤΥ쥸�����˴ؤ��ư��
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3107
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3108 �Ǥʤ��� stack ���Ѥ�Τ�����Ǥ��ʤ����顣����������̣�Ǥϡ�
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3109 reg_stack �� freg_stack ����̤����̣�Ϥʤ��櫓�͡��Ǥ�stack
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3110 �Ϸ��դ����������ɤ����顣�Ǥ⡢���̤��Ƥ����ȡ�long ������
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3111 �������ˤ⡢stack �����䤵�ʤ��Ȥ���ʤ󤸤�ʤ�? �ʤΤǶ���
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3112 ���ʤ������ɤ����Ǥ⡢����˼��Ĥ���ȡ��ޤ����֤������
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3113 ��ʤ���? ���Τ���ˤϥ����å����Τ�Τ˷��դ����ʤ��Ȥ����
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3114 ������Ʊ������
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3115
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3116 mips �� double ���Ǽ���뤿���register pair�ϡ�regs ��
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3117 ��Ǽ���롣regs �˥��������ˤ�ɬ�����������ؿ����̤���
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3118 �ʤ�ۤɡ�
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3119
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3120 get_input_dregister_var �ʤ�����ɡ�dregister pair ��
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3121 ���ϡ����pair����ޤä��ͤˤʤ�ɬ�פ������͡�
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3122 ����ʬ�Ϥɤ�����? ����äƤȤäƤ�����?
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3123
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3124 ������������Ǥ�դ�register pair������ʤ��Ƥ��ɤ��衣input register
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3125 ���б�����Ϣ³����register pair ���������������������С���
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3126 �ޤ굤�ˤ��ʤ��Ƥ��ɤ��ʤ뤫�顣�Ǥ⡢gcc �����pair�������
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3127 �����鵤�ޤ����ʤ�?
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3128
e0eba2993c37 MIPS version (incomplete)
kono
parents: 147
diff changeset
3129 regv �ϡ�register rename ���ʤ���Ф���ʤ��󤸤�ʤ�?
150
f8271009a314 MIPS continue
kono
parents: 148
diff changeset
3130
f8271009a314 MIPS continue
kono
parents: 148
diff changeset
3131 Mon Jul 14 10:54:46 JST 2003
f8271009a314 MIPS continue
kono
parents: 148
diff changeset
3132
f8271009a314 MIPS continue
kono
parents: 148
diff changeset
3133 �ʤ󤫤ʤ�... creg/ireg/freg/dreg �ϡ�����ޤ��ɤ������ǥ�
f8271009a314 MIPS continue
kono
parents: 148
diff changeset
3134 �Ǥϡ��ʤ��ä��ߤ�����creg �ϡ����Τ����Τɤ줫�Ǥʤ��Ƥ�
f8271009a314 MIPS continue
kono
parents: 148
diff changeset
3135 �ʤ�ʤ��������������ݾڤǤ��ʤ���
f8271009a314 MIPS continue
kono
parents: 148
diff changeset
3136
f8271009a314 MIPS continue
kono
parents: 148
diff changeset
3137 ����Ʊ���ǡ�creg ���ѻߤ��ơ�ireg/freg/dreg/lreg �Ȥ��뤫?
151
81032a1b8a5d MIPS continue
kono
parents: 150
diff changeset
3138
81032a1b8a5d MIPS continue
kono
parents: 150
diff changeset
3139 Mon Jul 14 14:25:23 JST 2003
81032a1b8a5d MIPS continue
kono
parents: 150
diff changeset
3140
81032a1b8a5d MIPS continue
kono
parents: 150
diff changeset
3141 �ʤ� unsigned ���̤�ʤ��ʤäƤ���ߤ�����
153
33b39002ac58 MIPS continue
kono
parents: 151
diff changeset
3142
33b39002ac58 MIPS continue
kono
parents: 151
diff changeset
3143 Sun Jul 20 17:37:34 JST 2003
33b39002ac58 MIPS continue
kono
parents: 151
diff changeset
3144
33b39002ac58 MIPS continue
kono
parents: 151
diff changeset
3145 ��äѤ� dictionary �ϡ���ľ���ʤ��Ȥ������ʡ�
33b39002ac58 MIPS continue
kono
parents: 151
diff changeset
3146 ����˴ؤ��ơ�heap �⽤�����������ɤ������Υ�����
33b39002ac58 MIPS continue
kono
parents: 151
diff changeset
3147 �Ϥ���ޤ����Τʤ���
33b39002ac58 MIPS continue
kono
parents: 151
diff changeset
3148
33b39002ac58 MIPS continue
kono
parents: 151
diff changeset
3149 ���ơ����Ȥϡ����ե��åȤ�����... ����...
33b39002ac58 MIPS continue
kono
parents: 151
diff changeset
3150
33b39002ac58 MIPS continue
kono
parents: 151
diff changeset
3151 Mon Jul 21 15:12:56 JST 2003
33b39002ac58 MIPS continue
kono
parents: 151
diff changeset
3152
33b39002ac58 MIPS continue
kono
parents: 151
diff changeset
3153 Frame pointer �ϻȤ���? �Ȥä����������󤸤�ʤ�?
33b39002ac58 MIPS continue
kono
parents: 151
diff changeset
3154 PowerPC �ϻȤ�ʤ��ä����ɡ�
154
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3155
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3156 Tue Jul 22 08:12:48 JST 2003
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3157
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3158 switch ʸ��table�˥���ѥ��뤹��ˤ�...
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3159
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3160 �ǽ����ӤιԤ�����ǻ��ꤹ��褦�ˤ���
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3161 cmp reg,case_value
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3162 bne L_NEXT
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3163 ....
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3164 L_NEXT:
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3165 ��
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3166 cmp reg,case_value
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3167 bne L_CASE
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3168 ....
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3169 L_NEXT:
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3170 ....
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3171 L_CASE
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3172 �ǡ�case ʸ�����ä���table���롣table ������ʤ��褦���ä��顢
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3173 L_CASE = L_NEXT
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3174
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3175 ��case�������ϳФ��Ƥ�����
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3176 (list of (value, label))
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3177
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3178 table �ϡ��ɤ���äƺ�뤫�ȸ����ȡ�
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3179
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3180 �ޤ����ͤ�ʬ�ۤ�����å�����
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3181 ̩�٤ι⤤ɽ����(ü�Τ����Ĥ��������Ϣ³���Ƥ��뤳��)
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3182 �Ȥ�������(�꺹ʬ��)Ϣ³���Ƥ�����ʬ�ˤ���ɽ������ɤ�����
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3183 table ��8entry�ʾ塣����ʲ��ϡ�2ʬˡ���餱�롣
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3184 (list of (number of entry, diff, (list of (value,label))))
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3185
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3186 512 or 128kbyte �ޤ���ǧ���롣���٤Ϥʤ��Ƥ��ɤ�����Ϣ³���Ƥ���
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3187 ��ʬ�ˤ���ɽ�Ϻ��ʤ���
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3188
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3189 Ϣ³���Ƥʤ���ʬ�ϡ�2ʬˡ�ˤ��롣
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3190
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3191 2 ʬˡ�Ǥ⤤�����ɡ�2ʬˡ�ˤ���? ����������ñ���ʡ��Ǹ�Υ�
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3192 �ơ����ϡ�(��������פ��Ƥ����...) ���Υ����ɤ��Ȥ��뤷����
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3193 ������ȡ�sort ���ơ����椫������Ӥ��ƹԤ����ɤ�����������
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3194 ��ɽ��ʬ�ۤȤ��ͤ��ʤ��Ƥ��ɤ����餤������͡�
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3195
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3196 �����
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3197
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3198 �ޤ�����äѤꡢ��ʸ�ڤ����ɤߤ򤹤�󤸤�ʤ���? ���������
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3199 reference �ΤȤ��Ƥʤ��ѿ���狼�뤷��
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3200
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3201 Wed Jul 23 16:21:12 JST 2003
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3202
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3203 ��äѤ깽¤�ΤΥ�����̾����name table�ˤ�����������͡�
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3204 �ޤ�������ʤ��㤤���ʤ�������ɤ����ɤ�����?
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3205 �ɤ�����äƤ��äƤ�...
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3206
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3207 Thu Jul 31 15:07:08 JST 2003
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3208
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3209 C �����Ѵ����������ɤ�ư�������ɡ��ޤ���cast ��ư���Τ�
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3210 �ɤ�������ɡ����������Τ���ʤ��ơ�link ��Ȥä��Ѵ�
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
3211 �Ǥ⤤���󤸤�ʤ�? ��������С�spaghetti stack �Ǥ�Ok
154
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3212 ���ʡ�������GC ���ʤ��ȻȤ�ʪ�ˤʤ�ʤ�����������
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3213
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3214 Link �ˤ���С�������Τ����Ѵ����ǽ����͡�������union
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3215 �ϰ�̣�ʤ�����record ����ľ���ʤ��Ȥ͡�
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3216
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3217 recursion �� loop ��detect �����static ��compile
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3218 �Ǥ��롣���뤤�ϡ�recursion ����ʬ��������ˤǤ���
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3219 �󤸤�ʤ����ʡ�
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3220
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3221 ���줾��������ȷ�����ͻ������CW���̤�󤸤�ʤ�?
3edd10355434 fix assign_opt and conv.c
kono
parents: 153
diff changeset
3222 (�ܵ�?)
155
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3223
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3224 Mon Aug 4 12:48:40 JST 2003
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3225
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3226 converted call
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3227 480
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3228 8.070u 0.010s 0:08.22 98.2% 0+0k 0+2io 0pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3229 call
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3230 480
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3231 6.590u 0.000s 0:06.67 98.8% 0+0k 0+0io 0pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3232
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3233 ��������10%���餤�٤��ʤ���(�ʤ��?) ����-O6 ���Ƚ��ܰ㤦...
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3234
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3235 ����powerpc �� subroutine ���static���̤�󤸤��
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3236
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3237 ���֥롼������ʤ�ľ���ޤ�����
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3238
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3239 % time ./a.out 0
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3240 720
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3241 9.590u 0.010s 0:09.64 99.5% 0+0k 0+0io 0pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3242 % time ./a.out 1
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3243 719
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3244 12.610u 0.020s 0:12.71 99.3% 0+0k 0+0io 0pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3245 % time ./a.out 2
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3246 720
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3247 6.310u 0.020s 0:06.41 98.7% 0+0k 0+0io 0pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3248 % vi test/conv1.c
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3249 % gcc -O6 test/conv1.c
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3250 % ./a.out 0
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3251 720
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3252 % time ./a.out 0
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3253 720
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3254 1.990u 0.020s 0:02.03 99.0% 0+0k 0+2io 0pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3255 % gcc test/conv1.c
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3256 % time ./a.out 0
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3257 720
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3258 7.530u 0.000s 0:07.64 98.5% 0+0k 0+0io 0pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3259 % gcc -O2 test/conv1.c
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3260 % time ./a.out 0
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3261 720
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3262 3.520u 0.010s 0:03.55 99.4% 0+0k 0+0io 0pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3263 %
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3264
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3265 �ޡ�����ʤ�Τ��ʡ�-O2 ���餱��ʤ�äƵ��⤹�뤬��
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3266
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3267 ��40Mbps
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3268
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3269 Intel PC (on PowerPC) ��
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3270
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3271 [root@localhost ~/device]# time ./a.out 2
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3272 470
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3273 0.660u 0.010s 0:02.37 28.2% 0+0k 0+0io 92pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3274 [root@localhost ~/device]# time ./a.out 3
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3275 720
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3276 0.920u 0.020s 0:01.74 54.0% 0+0k 0+0io 92pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3277 [root@localhost ~/device]# gcc test/conv1.c
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3278 [root@localhost ~/device]# ./a.out 0
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3279
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3280 [root@localhost ~/device]# time ./a.out 0
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3281 720
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3282 1.310u 0.030s 0:01.39 96.4% 0+0k 0+0io 92pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3283 [root@localhost ~/device]# gcc -O test/conv1.c
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3284 [root@localhost ~/device]# time ./a.out 0
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3285 720
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3286 1.130u 0.030s 0:01.16 100.0% 0+0k 0+0io 92pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3287 [root@localhost ~/device]# gcc -O4 test/conv1.c
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3288 [root@localhost ~/device]# time ./a.out 0
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3289 720
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3290 0.870u 0.000s 0:00.87 100.0% 0+0k 0+0io 92pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3291 [root@localhost ~/device]# gcc -O6 test/conv1.c
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3292 [root@localhost ~/device]# time ./a.out 0
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3293 720
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3294 0.850u 0.020s 0:00.88 98.8% 0+0k 0+0io 92pf+0w
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3295 [root@localhost ~/device]#
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3296
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3297 PowerPC �ξ��ϡ�PIC symbol ����äѤ��٤��͡�
ccb2002d8a31 *** empty log message ***
kono
parents: 154
diff changeset
3298 �����Ĥ�ʤ�Ȥ���������Ǥ����ְ㤦�����Τ�ʤ���
156
da529eab5618 static initialization
kono
parents: 155
diff changeset
3299
da529eab5618 static initialization
kono
parents: 155
diff changeset
3300 Tue Aug 5 13:53:43 JST 2003
da529eab5618 static initialization
kono
parents: 155
diff changeset
3301
da529eab5618 static initialization
kono
parents: 155
diff changeset
3302 �ࡢ�ʤ󤫡��⤦�������ʤäƤ뤸���
da529eab5618 static initialization
kono
parents: 155
diff changeset
3303
da529eab5618 static initialization
kono
parents: 155
diff changeset
3304 �ؿ�scope ��� static�ν�������̤�ʤ���Ǥ����ɡ�
da529eab5618 static initialization
kono
parents: 155
diff changeset
3305
da529eab5618 static initialization
kono
parents: 155
diff changeset
3306 ľ��ޤ������б����Ƥʤ��ä��ߤ����͡�
158
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3307
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3308 Wed Aug 6 12:07:07 JST 2003
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3309
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3310 [kono@pw001 ~/device]% ./mc -s test/conv1.c
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3311 [kono@pw001 ~/device]% gcc test/conv1.s
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3312 [kono@pw001 ~/device]% time ./a.out 1
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3313 �������ȥ��顼 (core����Ϥ��ޤ���)
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3314 0.000u 0.000s 0:00.00 0.0% 0+0k 0+0io 73pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3315 [kono@pw001 ~/device]% time ./a.out 2
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3316 470
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3317 0.350u 0.000s 0:00.35 100.0% 0+0k 0+0io 88pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3318 [kono@pw001 ~/device]% time ./a.out 0
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3319 720
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3320 0.650u 0.010s 0:00.65 101.5% 0+0k 0+0io 88pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3321 [kono@pw001 ~/device]% time ./a.out 1
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3322 �������ȥ��顼 (core����Ϥ��ޤ���)
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3323 0.000u 0.000s 0:00.00 0.0% 0+0k 0+0io 73pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3324 [kono@pw001 ~/device]% time ./a.out 2
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3325 470
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3326 0.350u 0.000s 0:00.35 100.0% 0+0k 0+0io 88pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3327 [kono@pw001 ~/device]% time ./a.out 3
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3328 720
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3329 0.380u 0.000s 0:00.38 100.0% 0+0k 0+0io 88pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3330 [kono@pw001 ~/device]% time ./a.out 4
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3331 0.000u 0.000s 0:00.00 0.0% 0+0k 0+0io 77pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3332 [kono@pw001 ~/device]% time ./a.out 0
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3333 720
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3334 0.660u 0.000s 0:00.65 101.5% 0+0k 0+0io 88pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3335 [kono@pw001 ~/device]% time ./a.out 1
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3336 �������ȥ��顼 (core����Ϥ��ޤ���)
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3337 0.010u 0.000s 0:00.00 0.0% 0+0k 0+0io 73pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3338 [kono@pw001 ~/device]% time ./a.out 2
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3339 470
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3340 0.350u 0.010s 0:00.35 102.8% 0+0k 0+0io 88pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3341 [kono@pw001 ~/device]% time ./a.out 3
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3342 720
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3343 0.390u 0.000s 0:00.38 102.6% 0+0k 0+0io 88pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3344 [kono@pw001 ~/device]% time ./a.out 4
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3345 0.000u 0.000s 0:00.00 0.0% 0+0k 0+0io 77pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3346 [kono@pw001 ~/device]% gcc test/conv1.c
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3347 [kono@pw001 ~/device]% time ./a.out 1
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3348 0.000u 0.000s 0:00.00 0.0% 0+0k 0+0io 77pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3349 [kono@pw001 ~/device]% time ./a.out 0
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3350 720
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3351 0.430u 0.000s 0:00.42 102.3% 0+0k 0+0io 88pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3352 [kono@pw001 ~/device]% gcc -O test/conv1.c
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3353 [kono@pw001 ~/device]% time ./a.out 0
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3354 720
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3355 0.370u 0.000s 0:00.36 102.7% 0+0k 0+0io 88pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3356 [kono@pw001 ~/device]% gcc -O2 test/conv1.c
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3357 [kono@pw001 ~/device]% time ./a.out 0
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3358 720
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3359 0.370u 0.000s 0:00.37 100.0% 0+0k 0+0io 88pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3360 [kono@pw001 ~/device]% gcc -O6 test/conv1.c
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3361 [kono@pw001 ~/device]% time ./a.out 0
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3362 720
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3363 0.240u 0.010s 0:00.25 100.0% 0+0k 0+0io 88pf+0w
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3364
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3365 Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.95.3/specs
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3366 gcc version 2.95.3 20010315 (release)
7bc02f0800a9 fix conv1
kono
parents: 156
diff changeset
3367 Intel Architecture ���ȡ��빽���ɤ������äƤ���ߤ�����
159
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3368
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3369 Thu Aug 14 02:39:29 JST 2003
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3370
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3371 done
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3372 [kono@pw001 ~/device]% time ./a.out 0
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3373 720
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3374 0.640u 0.000s 0:00.63 101.5% 0+0k 0+0io 88pf+0w
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3375 [kono@pw001 ~/device]% time ./a.out 1
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3376 719
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3377 0.720u 0.000s 0:00.71 101.4% 0+0k 0+0io 88pf+0w
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3378 [kono@pw001 ~/device]% time ./a.out 2
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3379 470
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3380 0.330u 0.000s 0:00.33 100.0% 0+0k 0+0io 88pf+0w
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3381 [kono@pw001 ~/device]% time ./a.out 3
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3382 720
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3383 0.370u 0.010s 0:00.37 102.7% 0+0k 0+0io 88pf+0w
b80e9737c3ce regs[creg]==0 in ia32
kono
parents: 158
diff changeset
3384
160
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3385
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3386 +jessica+kono time ./a.out 0
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3387 720
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3388 1.190u 0.010s 0:01.51 79.4% 0+0k 0+0io 0pf+0w
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3389 +jessica+kono time ./a.out 1
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3390 719
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3391 1.700u 0.000s 0:01.78 95.5% 0+0k 0+0io 0pf+0w
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3392 +jessica+kono time ./a.out 2
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3393 470
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3394 0.630u 0.000s 0:00.66 95.4% 0+0k 0+0io 0pf+0w
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3395 +jessica+kono time ./a.out 3
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3396 720
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3397 0.790u 0.000s 0:00.81 97.5% 0+0k 0+0io 0pf+0w
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3398 +jessica+kono time ./a.out 4
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3399 0.000u 0.000s 0:00.00 0.0% 0+0k 0+0io 0pf+0w
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3400
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3401 +jessica+kono gcc test/conv1.c
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3402 +jessica+kono time ./a.out 0
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3403 720
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3404 0.960u 0.000s 0:00.97 98.9% 0+0k 0+2io 0pf+0w
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3405 +jessica+kono gcc -O test/conv1.c
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3406 +jessica+kono time ./a.out 0
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3407 720
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3408 0.470u 0.000s 0:00.48 97.9% 0+0k 0+0io 0pf+0w
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3409 +jessica+kono gcc -O6 test/conv1.c
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3410 +jessica+kono time ./a.out 0
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3411 720
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3412 0.260u 0.000s 0:00.26 100.0% 0+0k 0+0io 0pf+0w
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3413
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3414 Mon Sep 1 13:49:43 JST 2003
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3415
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3416 short ����äѤ��ߤ�����͡�long long �ϤȤ⤫��...
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3417 �����ޤǤ����ȡ�ANSI-C �б��ˤǤ���������long long
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3418 ���񤷤�?
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3419
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3420 short �ϡ�����ʤ��񤷤��ʤ��Ϥ������Ȥϡ�
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3421 statement ��ޤ᤿tree�ν���
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3422 �Ѵ��Ϥδ���
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3423 ������Ĥ��ʡ�GCC ���Ȥ߹���Τ�̵����������
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3424
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3425 °��ʸˡ�ߤ����ʼ�ˡ���Ȥ���Ф͡�
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3426
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3427 ���ȡ�struct ��tag����äѤ�word table ����ľ���ʤ��ȡ�
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3428
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3429 Wed Sep 10 21:53:16 JST 2003
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3430
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3431 short �� unsigned short �����ˡ�
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3432 �ʤ� unsigned char ��ʤ���Ǥ����ɡ�
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3433
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3434 Wed Oct 8 22:43:17 JST 2003
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3435
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3436 (�ޤ����쥫����äƤʤ��Τ�...)
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3437
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3438 ̵̾ code �Ϥ��ä����������󤸤�ʤ�?
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3439
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3440 code *a(int i);
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3441 a = code(int j) { }
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3442
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3443 �ߤ����ʴ���? C �ˤϤʤ����ɤ͡���Ȥ�ȡ�̾������񤹤�
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3444 �������餢�ä������������⡣�Ǥ⡢�¹Ի��˺����櫓����ʤ���
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3445 ����ˡ�����������Τ���� closure ���Ȼפ���褦��
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3446 ���⤹�롣closure �ߤ����ʤ�Τϡּ�ʬ�Ǵ�������פäƤΤ�
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3447 CbC �λ��ۤ���?
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3448
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3449 ���������С�static ��code�Ϥ��ä����������󤸤�ʤ�?
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3450
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3451 static code func() { .... }
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3452
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3453 ��������Ϥ������ʡ�
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3454
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3455 Fri Oct 10 13:08:01 JST 2003
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3456
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3457 link register �򤦤ޤ��Ȥ��ˤ�continuation��
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3458 ���ꤹ������Ǥϥ���ǡ�
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3459 goto hoge(....,next);
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3460 code next..
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3461 �ߤ����ʤΤ����ä����������󤸤�ʤ�?
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3462
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3463 goto �θ�Υ��ơ��ȥ��Ȥ�̵̾code�ˤʤ�Ф��������͡�
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3464
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3465 stack ��Ȥ�ʤ����֥롼����ߤ����ʤ�Τ���ñ�ʤ�call
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3466 �ˤʤ�櫓�͡�����⤤�����⡣
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3467
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3468 Sat Nov 22 15:51:36 JST 2003
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3469
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3470 ��¤�Τ�field�������nptr�ϡ�����̾���ơ��֥뤫��
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3471 �������ʤ��Ȥ����ʤ����Ǥ⡢�������Ƥ����ޤ��ȡ�
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3472 ��¤�Τ���Υݥ��󥿤�������㤦�Τǡ��ޤ�����
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3473
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3474 filed���Ѥ��ΰ����Τ��ȡ�ʣ���ι�¤�Τ�Ʊ��
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3475 field̾����ĤȤ��ˤ���äȺ��롣��¤�ΤΥ����פ�
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3476 ������������������...
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3477
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3478 ��������ȡ���¤�Τ�filed���ɤ�����getsym�������å�
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3479 ����Ȥ��ˤ���äȺ��롣
1f440a2790fb *** empty log message ***
kono
parents: 159
diff changeset
3480
161
cc2fc5c0dfe5 struct field fix
kono
parents: 160
diff changeset
3481 filed ��linear search����ΤϷ������ɡ��������ʤ�����
cc2fc5c0dfe5 struct field fix
kono
parents: 160
diff changeset
3482
cc2fc5c0dfe5 struct field fix
kono
parents: 160
diff changeset
3483 �ʤ󤫡�struct ����ˡ�
cc2fc5c0dfe5 struct field fix
kono
parents: 160
diff changeset
3484 void (*case_)(int cases,int def);
cc2fc5c0dfe5 struct field fix
kono
parents: 160
diff changeset
3485 �Ȥ�������ȡ�
cc2fc5c0dfe5 struct field fix
kono
parents: 160
diff changeset
3486 void (*case_)();
cc2fc5c0dfe5 struct field fix
kono
parents: 160
diff changeset
3487 int cases;
cc2fc5c0dfe5 struct field fix
kono
parents: 160
diff changeset
3488 int def;
cc2fc5c0dfe5 struct field fix
kono
parents: 160
diff changeset
3489 �Ȥ���������;�פ�field���������Ƥ�ߤ�����
cc2fc5c0dfe5 struct field fix
kono
parents: 160
diff changeset
3490
cc2fc5c0dfe5 struct field fix
kono
parents: 160
diff changeset
3491 adecl �� nptr �������κǸ��ؤ��Ƥ��ޤ��Τ��ޤ����ä���
164
1c2a9232ea93 mc.h generation
kono
parents: 161
diff changeset
3492
1c2a9232ea93 mc.h generation
kono
parents: 161
diff changeset
3493 Mon Nov 24 00:52:31 JST 2003
1c2a9232ea93 mc.h generation
kono
parents: 161
diff changeset
3494
1c2a9232ea93 mc.h generation
kono
parents: 161
diff changeset
3495 signed char �ϼ������ޤ�����... test routine ���ʤ���
1c2a9232ea93 mc.h generation
kono
parents: 161
diff changeset
3496
1c2a9232ea93 mc.h generation
kono
parents: 161
diff changeset
3497 ���ȡ�short �ϡ�code_crxxxx �����byte���礭���˽��ä�
1c2a9232ea93 mc.h generation
kono
parents: 161
diff changeset
3498 ��������Τ��������ʡ�
1c2a9232ea93 mc.h generation
kono
parents: 161
diff changeset
3499
166
9e55cc5551fb *** empty log message ***
kono
parents: 164
diff changeset
3500 Mon Nov 24 10:53:31 JST 2003
9e55cc5551fb *** empty log message ***
kono
parents: 164
diff changeset
3501
9e55cc5551fb *** empty log message ***
kono
parents: 164
diff changeset
3502 short ������������ɡ��ޤ�������ѥ�����̤�ʤ���
9e55cc5551fb *** empty log message ***
kono
parents: 164
diff changeset
3503
9e55cc5551fb *** empty log message ***
kono
parents: 164
diff changeset
3504 �������� stdio.h ���̤��ʤ��ȥ�����͡�(������������������ʤ�...)
9e55cc5551fb *** empty log message ***
kono
parents: 164
diff changeset
3505 �Ȥꤢ������#include <> ��ʤ�Ȥ����ʤ��ȡ�
9e55cc5551fb *** empty log message ***
kono
parents: 164
diff changeset
3506
9e55cc5551fb *** empty log message ***
kono
parents: 164
diff changeset
3507 long long �α黻�ϤȤ⤫�� long long �������ϤǤ�����������
9e55cc5551fb *** empty log message ***
kono
parents: 164
diff changeset
3508 �����Ǥ⡢����ʤ顢��¤�Τ�����Ǥ����󤸤�ʤ�?
9e55cc5551fb *** empty log message ***
kono
parents: 164
diff changeset
3509 typedef struct { char a[4]; } long long
9e55cc5551fb *** empty log message ***
kono
parents: 164
diff changeset
3510 �ߤ����ʴ���? ����ϤǤ��ʤ���������ѥ��������ǤϤ�������Ȥ���
9e55cc5551fb *** empty log message ***
kono
parents: 164
diff changeset
3511 ��⤢�롣
168
b1297c82e926 cpostinc removal
kono
parents: 166
diff changeset
3512
b1297c82e926 cpostinc removal
kono
parents: 166
diff changeset
3513 Mon Nov 24 18:59:30 JST 2003
b1297c82e926 cpostinc removal
kono
parents: 166
diff changeset
3514
b1297c82e926 cpostinc removal
kono
parents: 166
diff changeset
3515 �����󡢤���ʥ��顼�ĤäƤ���Τ���code_cpostint �Ȥ�
b1297c82e926 cpostinc removal
kono
parents: 166
diff changeset
3516 �Ϥ��󤼤�Ȥ��ʤ��櫓?
170
6e0f67b7d200 test files
kono
parents: 168
diff changeset
3517
6e0f67b7d200 test files
kono
parents: 168
diff changeset
3518 struct { char a[4],a; } ��ľ���ޤ�����
6e0f67b7d200 test files
kono
parents: 168
diff changeset
3519
6e0f67b7d200 test files
kono
parents: 168
diff changeset
3520 short �ΰ����ΰ����⽤����
172
096559f07a70 some check
kono
parents: 170
diff changeset
3521
096559f07a70 some check
kono
parents: 170
diff changeset
3522 Mon Nov 24 22:20:29 JST 2003
096559f07a70 some check
kono
parents: 170
diff changeset
3523
096559f07a70 some check
kono
parents: 170
diff changeset
3524 Ʊ���쥸�����򤺡��äȻȤ鷺��statement���Ȥ�
096559f07a70 some check
kono
parents: 170
diff changeset
3525 ���餹�ȡ�����ä�®���ʤ뤫��͡��ɤ��ʤ������?
096559f07a70 some check
kono
parents: 170
diff changeset
3526 rename ������㤨�Ф���ޤ�ط��ʤ��Τ����Τ�ʤ����ɡ�
096559f07a70 some check
kono
parents: 170
diff changeset
3527
096559f07a70 some check
kono
parents: 170
diff changeset
3528 ��ĤΥ쥸�������ߤ˻Ȥ��Ȥ����ȡ��ޤ��������Ǥ��͡�
173
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3529
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3530 Wed Nov 26 13:27:00 JST 2003
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3531
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3532 include path ����¢�Τ�Τȡ������Τ�Τ���Ĥ���櫓�͡�
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3533
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3534 predefined ���빽̵���Ȥ����ʤ��ߤ�����
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3535
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3536 �ˤ�� inline ��ɬ�ܤʤ�? macro �Ǽ�������Τ��񤷤��󤸤�ʤ����ʤ���
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3537 inline �ˤϡ��빽����������Ѥ���ʬ����������ʡ���ö�ϥ���ѥ���
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3538 ���ʤ��Ȥ����ʤ��Ϥ�������
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3539 inline int f(int a,int b) {
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3540 int c;
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3541 c = a+b;
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3542 return c;
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3543 }
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3544 ����͡�
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3545 f(3,4)
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3546 �����ä����ˤϡ�
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3547 int _c,int _a,int _b; ��local�ѿ����դ��ä���
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3548 _a = 3;
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3549 _b = 4;
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3550 _c = _a+_b;
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3551 �򥳥�ѥ��롣
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3552 current register = _c
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3553 �Ȥ��롣���ʤ���
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3554
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3555 �ष����
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3556 c = { decl; statements* return value; }
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3557 ��������ơ�#define ���ĥ����
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3558 ������ñ����ʤ�? ���Τ���ˤ� nest ����decl �򰷤�ʤ���
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3559 ���������...
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3560
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3561 ���䡢��äѤꡢ����ڤ�ʤ�Ȥ�����Τ��ʤ���
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3562
178
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3563 �Ȥꤢ������̵�롣���̤δؿ�(static)�Ȥ���compile���롣
173
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3564
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3565 ��äѤꡢlong long �Ϥ���Τ͡�
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3566
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3567 ��äѤꡢenum �⤤���͡�
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3568
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3569 �ʤ󤫡��Τ�ʤ����ɡ���äѤ������������ʤ��Ȥ���ʤΤ͡�
3b33c7daae95 *** empty log message ***
kono
parents: 172
diff changeset
3570
174
8b0ffe9b933d enum first try
kono
parents: 173
diff changeset
3571 ���ȡ�const int ���ʡ�
177
352feeae4b0a macro else/ccout
kono
parents: 174
diff changeset
3572
352feeae4b0a macro else/ccout
kono
parents: 174
diff changeset
3573 Fri Nov 28 14:01:25 JST 2003
352feeae4b0a macro else/ccout
kono
parents: 174
diff changeset
3574
352feeae4b0a macro else/ccout
kono
parents: 174
diff changeset
3575 volatile ... (�ʤˤ���Ф����������?)
352feeae4b0a macro else/ccout
kono
parents: 174
diff changeset
3576
352feeae4b0a macro else/ccout
kono
parents: 174
diff changeset
3577 �ʤ󤫡�*.c �ʳ����ȥ��������񤭤����㤦�󤸤�...
178
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3578 (�����ľ���ޤ���)
177
352feeae4b0a macro else/ccout
kono
parents: 174
diff changeset
3579
352feeae4b0a macro else/ccout
kono
parents: 174
diff changeset
3580 ������struct ��tag��type̾����ˤ�����㤦�Τ�...
352feeae4b0a macro else/ccout
kono
parents: 174
diff changeset
3581 �����������Ȥ򤵤����ѿ��ơ��֥��ľ���ʤ���ư�����ʤ�...
178
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3582 TYPE_TAG �ߤ����ʥ��ɥۥå��ʤɤ���ľ���ʤ���
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3583 �ʤ�Ȥ��ʤ�ʤ����ʤ���
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3584
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3585 ���ȡ�struct ��forward definition �äƤΤ�����ߤ����͡�
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3586
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3587 #if defined(A) && A �ǡ������ɾ��������㤦�ߤ��������ɡ���
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3588 ������ȸ����̾����define����Ƥ��ޤ����ա��ࡣ����ʤΤɤ�
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3589 ��ä��ɤ��Ф������?
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3590
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3591 ��äѤ�long long ��64bit �ˤ��ʤ��ȥե����륵������
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3592 ���ʤ���
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3593
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3594 ��äѤ� include �ϡ����Υե�����Τ����꤫���ɤ߹���
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3595 �������������
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3596
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3597 Sat Nov 29 19:01:26 JST 2003
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3598
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3599 typedef enum {
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3600 ...
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3601 REGS_SAVED_ALL /* All registers */
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3602 } regs_saved_t;
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3603
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3604 ��äѤꡢ����Τ͡�
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3605
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3606
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3607 void (*signal ()) (int);
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3608
0f395aa93438 gcc include file
kono
parents: 177
diff changeset
3609 ��ư���ʤ��ʤäƤޤ���
179
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3610
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3611 Sun Nov 30 05:30:56 JST 2003
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3612
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3613 �褦��ä� <stdlib.h> ���̤ä���
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3614
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3615 nkf.c �� while() { int hoge;... } ��ȤäƤ���Τϡ��ѡ�
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3616 �ʤ�ǡ������������Ȥ��뤫�ʤ�������򥵥ݡ��Ȥ���Τ�
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3617 �Բ�ǽ�ǤϤʤ����ɡ�����������ľ�������롣
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3618
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3619 �ʤ󤫡��������� n->sc ������������äơ��Ѥ�
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3620 ���Ȥ������Ƥ���ߤ������͡�
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3621
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3622 stat �δؿ�̾��tag̾���ŤʤäƤ���ߤ�������äѤ�
fde8cb5d9254 *** empty log message ***
kono
parents: 178
diff changeset
3623 tag̾��̾�����֤�櫓�ʤ��Ȥ��ᤫ��...
180
f00e3bfa1b45 nkf.c compile (not correct)
kono
parents: 179
diff changeset
3624
f00e3bfa1b45 nkf.c compile (not correct)
kono
parents: 179
diff changeset
3625 Sun Nov 30 17:41:04 JST 2003
f00e3bfa1b45 nkf.c compile (not correct)
kono
parents: 179
diff changeset
3626
f00e3bfa1b45 nkf.c compile (not correct)
kono
parents: 179
diff changeset
3627 �ޥ�������Ͽ����Ȥ��ˤϡ������Ȥ�Ȥ�ʤ��Ȥ��ᡣ
f00e3bfa1b45 nkf.c compile (not correct)
kono
parents: 179
diff changeset
3628
f00e3bfa1b45 nkf.c compile (not correct)
kono
parents: 179
diff changeset
3629 while ��slfree �ǥޥ�����chptrsave ���˲�����Ƥ��ޤ���
f00e3bfa1b45 nkf.c compile (not correct)
kono
parents: 179
diff changeset
3630
f00e3bfa1b45 nkf.c compile (not correct)
kono
parents: 179
diff changeset
3631 ��äѤꡢnkf.c �ϡ���ȯ�Ǥ�ư���ʤ��ߤ����͡�compile ��
f00e3bfa1b45 nkf.c compile (not correct)
kono
parents: 179
diff changeset
3632 �Ǥ������ɤ���
186
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3633
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3634 >> ������¸ �ƥ��ȥ롼�������äƤʤ��ä�
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3635
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3636 ������K&R�ΰ����ν�����ؿ��ΰ����Ȥ���Ƥ���Ȥ��ϡ�
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3637 �ؿ��ν��������ͥ�褷�ʤ��Ȥ����ʤ�... ����������
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3638
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3639 {
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3640 extern hoge...
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3641 }
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3642
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3643 int
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3644 h_conv(f, c2, c1)
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3645 FILE *f; int c1, c2;
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3646
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3647 �ޤ���������������ͤ���
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3648
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3649 #define hex(c) (('0'<=c&&c<='9')?(c-'0'):\
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3650 ('A'<=c&&c<='F')?(c-'A'+10):('a'<=c&&c<='f')?(c-'a'+10):0)
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3651 fprintf(stderr,"mime_getc h: %d c2 %d c3 %d\n",((hex(c2)<<4) + hex(c3)),c2,c3);
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3652 return ((hex(c2)<<4) + hex(c3));
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3653
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
3654 �դࡣ(?::)+(?::) �ߤ����ʻ��ˤϡ�code-set-fixed-register ��register
186
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3655 ����Ĥ���櫓�͡�push �Ǥ��ʤ���?
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3656
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
3657 case COND: /* a?0:1 should consider non-branch instruction */
186
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3658 case DCOND:
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3659 case FCOND:
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3660 d = (car(e1)==COND?INT:car(e1)==DCOND?DOUBLE:FLOAT);
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3661 e2=fwdlabel();
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3662 if(d==INT) emit_push(); else emit_dpush(d);
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3663 b_expr(cadr(e1),0,e2,0);
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3664 g_expr_u(assign_expr0(stack_top(d),caddr(e1),d,d));
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3665 jmp(e3=fwdlabel());
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3666 fwddef(e2);
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3667 g_expr_u(assign_expr0(stack_top(d),cadddr(e1),d,d));
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3668 fwddef(e3);
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3669 if (d==INT) emit_pop_free(emit_pop(0));
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3670 else emit_dpop_free(emit_dpop(d),d);
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3671 return t;
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3672
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3673 �ϡ�����ޤ��ɤ��ʤ���register machine �ʤ餤��������ɡ�
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3674 �빽���������Ѥ�뤫�顢code-$(ARCH) �˰ܤ��������������ʡ�
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3675
6391432ca002 nkf binary fix
kono
parents: 180
diff changeset
3676
187
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3677 �ʤ󤫡�arg_reording() ����
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3678 PowerPC
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3679 fnptr->dsp = arg_reorder(reverse0(sarg),reverse0(fnptr->dsp));
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3680 IA32
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3681 fnptr->dsp = arg_reorder(sarg,fnptr->dsp);
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3682 �Ȥ������ȤˤʤäƤ���ߤ���������ʤ��������ʤ��Τ͡��ɤ����褦���ʡ�
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3683 ����ϡ��狼��ޤ�����
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3684
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
3685 case COND: /* a?0:1 should consider non-branch instruction */
187
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3686 case DCOND:
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3687 case FCOND:
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3688 d = (car(e1)==COND?INT:car(e1)==DCOND?DOUBLE:FLOAT);
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3689 e2=fwdlabel();
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3690 b_expr(cadr(e1),0,e2,0);
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3691 g_expr0(caddr(e1));
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3692 t = creg;
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3693 jmp(e3=fwdlabel());
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3694 fwddef(e2);
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3695 g_expr0(cadddr(e1));
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3696 code_set_fixed_creg(t,1,d);
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3697 fwddef(e3);
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3698 return d;
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3699
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3700 �ʤ�����ɡ�t ��creg����ia32 �Ǥ�virtual register �ʤΤǡ��ѹ������
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3701 ���Ȥ����롣(���ޤä�������)
dffcccf8b1cb nested COND
kono
parents: 186
diff changeset
3702
188
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3703 COND�ˤ� type �򤤤줿���������ߤ����͡�a?b:c type ��list5����
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3704
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3705
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3706 void (*signal ()) (int);
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3707
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3708 ������� signal ����� function ���Ȼפ��롣
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3709
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3710 recursive macro
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3711 #define stdout stdout
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3712
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3713 main()
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3714 {
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3715 register double d;
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3716 int i = stdout;
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3717 d *= i; register float �ؤ� assop
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3718 return (int)d;
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3719 }
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3720
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3721 �Ȥ����櫓�ǡ�nkf �� system ��/usr/include/stdio.h ��ư���ޤ�����
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3722 �ʤ󤫡����줷����
4303255fc3cf minor fix
kono
parents: 187
diff changeset
3723
191
8646a4a9cde9 *** empty log message ***
kono
parents: 188
diff changeset
3724 ptr_cache ��mr �ϳΤ���̵�̤�����... ��α���ƤޤǼ�����
8646a4a9cde9 *** empty log message ***
kono
parents: 188
diff changeset
3725 ���ͤϤʤ��󤸤�ʤ����ʡ��Ǥ�32bit�ȤäƤ뤫�ʤ�ʤ���
8646a4a9cde9 *** empty log message ***
kono
parents: 188
diff changeset
3726 lvar cache �ߤ����ʤ�Τ����򤤤��ɡ��ޤ��������ޤ�
8646a4a9cde9 *** empty log message ***
kono
parents: 188
diff changeset
3727 ���ʤ顢�쥸�����μ�̿�Ȥ�����Ф��������ʡ�����
8646a4a9cde9 *** empty log message ***
kono
parents: 188
diff changeset
3728
193
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3729 Wed Dec 3 13:11:15 JST 2003
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3730
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3731 ����åɤȤ�����
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3732 �äƤ������������Ĥ�thread library�Ȥ��ƻȤ��ˤϤɤ�����Ф�����?
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3733 env �� return ����������?
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3734
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3735 ��ʸŪ���̤ˤ����������������ɡ�
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3736
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3737 Sun Dec 14 16:26:19 JST 2003
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3738
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3739 long long ����? �任�ϥ��֥롼����ƤӽФ��ߤ�����
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3740
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3741 float/double ���� long long, unsigned long long �ؤ��Ѵ��⤤��Τ���
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3742 F2LL
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3743 D2LL
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3744 F2ULL
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3745 D2ULL
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3746 LL2F
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3747 LL2D
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3748 ULL2F
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3749 ULL2D
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3750 ������(���ɤ����������ɤ�)
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3751
ce0c38b6c85e try long long
kono
parents: 191
diff changeset
3752 (�ܵ�? �ɤ줯�餤������? 2-3�����ʤ�...)
266
86e315702d9e *** empty log message ***
kono
parents: 265
diff changeset
3753 (�ºݤˤ�Ⱦǯ�����ä�...)
194
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3754
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
3755 getsym �ο����ΰ�����unsigned�Ǥ���٤�����͡�
194
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3756 �ǡ�- �����ä�����overflow �򸡽Ф���Τ��ɤ���ʡ�
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3757
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3758 ���ȡ�strol �Ȥ���overflow�θ��Ф򤵤ܤäƤ�ʡ�
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3759
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3760 Fri Jan 2 09:53:53 JST 2004
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3761
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3762 goto hoge(...,next);
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3763 fuagua....;
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3764
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3765 �ߤ����ʹ�ʸ�򤤤��? Fortran �ߤ���....
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3766 (���)
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3767
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3768 Sat Jan 3 17:12:46 JST 2004
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3769
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3770 FEATURE_LONGLONG
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3771 FEATURE_FLOAT
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3772
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3773 �ߤ����ʴ����� feature ����������ɤ�? ��ǽ�����䤹����
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3774 �Ȥ��������ɤ��ʤ���������顣
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3775
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3776 LE�Ȥ�LT�ϡ�GE,GT���֤��������������ɡ�����������ΤȤ��ˤ�
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3777 dual_op �����촹�������㤦�Τǡ���äѤ�ɬ�פʤߤ�����
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3778
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3779 Mon Jan 5 15:55:37 JST 2004
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3780
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3781 byte code format �Ȥ������ϡ���äѤ�byte code encode
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3782 ���줿��ʸ�ڤ��ߤ��������͡�
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3783
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3784 �Ĥ��Ǥ� interpreter ���뤫��byte code interpreter �ǤϤʤ��ơ�
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3785 (�ǤϤʤ���?) code ������®��������顢code�������ʤ���¹Ԥ���
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3786 �����ɤ��͡���äѤꡢincore compiler ����
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3787
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3788 inline �ʤ������... #define ���֤���������?
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3789 inline int hoge(int hoga1) { hoge2 }
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3790 �ϡ�
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3791 #define hoge(hoga1_0) {
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3792 #define hoga1 ((int) hoga1_0)
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3793 int hoga1 = hoga1_0; hoge2 }
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3794 �Ǥ����櫓����͡��ǡ������ return ������...
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3795
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3796 �����󡢤���6�Ǥ��ʡ�
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3797
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3798 inline �ϡ����Τޤ�string�Хåե��ˤ�����ǡ��ؿ��ƤӽФ�����
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3799 ����������������������
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3800
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3801 �����ϡ�#define hoga1 ((int) hoga1_0) ���Ƥ�����
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3802 Ÿ����λ���˸����᤹
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3803
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3804 �������Ǥ⡢����ѿ����ޤ�������
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3805
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3806 �Ȥ������Ȥϡ���äѤꡢ���ξ�ǹ�ʸ���Ϥ��Ƥ��ޤ��Τ��ɤ���
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3807 inlined LVAR (ARG)
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3808 ��ξ����ɬ�ס�tree �Υ��ԡ��ʤ���Ÿ�����뤳�Ȥϲ�ǽ? (�Ǥ�����������...)
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3809
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3810 �Ȥ������Ȥϡ���äѤꡢ���湽¤�ˤ�node���꿶��٤�����͡�
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3811
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3812 order 1 compiler + JIT + intensive optimizer
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3813
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3814 �Ǥ����͡�
114e9d64b5cc *** empty log message ***
kono
parents: 193
diff changeset
3815
195
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3816 Wed Jan 14 10:21:49 CET 2004
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3817
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3818 function call�� compiler �γ��˽Ф��ʤ����ʤ���
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3819 code function_interface(args) {
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3820 .....
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3821 push(args); (in asm)
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3822 push(next);
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3823 goto function...
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3824 }
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3825 code function_continuation(args) {
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3826 }
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3827 �ߤ����ʴ�����... �ޡ��٤��ʤ����������...
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3828
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3829 �Ǥ⡢��������С�����ѥ���ΰܿ������Ū��ñ�ˤʤ롣
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3830
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3831 Thu Jan 15 11:52:03 CET 2004
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3832
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3833 stack �ϡ�
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3834 system wide �˰�� ( classical environment)
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
3835 code �˰�� ( Fortran type )
195
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3836 object �˰�� (like message buffer in ABCL)
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3837 �äƤ�������⤢��͡�
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3838
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3839 Sun Jan 18 11:08:13 JST 2004
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3840
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3841 (�ʤ󤫡��٤����ʤ�����... CPS �Ѵ���...)
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3842
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3843 shift/reset ��C�Ǽ�������Τϴ�ñ����...
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3844 reset{
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
3845 shift();
195
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3846 }
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3847 �ߤ����ʴ���?
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3848
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3849 stack / data structure ���ݸ����ˡ�ˡ���äȲ���������󤸤�
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3850 �ʤ����ʡ�
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3851
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3852 �ؿ��ƤӽФ��ʤ������...
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3853
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3854 apply �ߤ����ʤΤ�����Ф���?
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3855 goto apply(function_name,continuation(return_type),args....);
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3856 ���ʡ��ǡ�������ʬ��C/asm �ǽ񤯤Ȥ����櫓�͡�
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3857 �ޡ�����ʤ��褦�ʤ�Τ���(����?) ������ʬ���� interpreter Ū��
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3858 �ʤä��㤦�ʡ�varargs �Ǥ⤤���������...
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3859
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3860 ����ѥ����CbC�ǽ񤯤ȸ�����Ȥ��ĤäƤ��������...
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3861
c193120ee2a6 *** empty log message ***
kono
parents: 194
diff changeset
3862 ������äѤꡢlong long �ϡ���... �Ǥ����?
196
5f70abd9453d *** empty log message ***
kono
parents: 195
diff changeset
3863
5f70abd9453d *** empty log message ***
kono
parents: 195
diff changeset
3864
5f70abd9453d *** empty log message ***
kono
parents: 195
diff changeset
3865 Mon Apr 5 00:20:13 JST 2004
5f70abd9453d *** empty log message ***
kono
parents: 195
diff changeset
3866
5f70abd9453d *** empty log message ***
kono
parents: 195
diff changeset
3867 �ְ㤨��3��ʬ�ä�����ä�����
5f70abd9453d *** empty log message ***
kono
parents: 195
diff changeset
3868
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
3869 int �Ǥ� RLVAR �Ȥ��� unsigned/signed �ζ��̤��ʤ��Ȥޤ�����͡�
196
5f70abd9453d *** empty log message ***
kono
parents: 195
diff changeset
3870
5f70abd9453d *** empty log message ***
kono
parents: 195
diff changeset
3871 ���Ū�ʥƥ��ȥ롼���󤬤��ä�����������long.c ��ä�����ä�����
5f70abd9453d *** empty log message ***
kono
parents: 195
diff changeset
3872
201
3ae7e188416f *** empty log message ***
kono
parents: 196
diff changeset
3873 Fri Apr 9 02:11:42 JST 2004
3ae7e188416f *** empty log message ***
kono
parents: 196
diff changeset
3874
3ae7e188416f *** empty log message ***
kono
parents: 196
diff changeset
3875 ��äѤ� incore compiler �ȡ�non textural syntax ���ߤ�����
3ae7e188416f *** empty log message ***
kono
parents: 196
diff changeset
3876 �ޡ���������͡�
3ae7e188416f *** empty log message ***
kono
parents: 196
diff changeset
3877
3ae7e188416f *** empty log message ***
kono
parents: 196
diff changeset
3878 ���ȡ�#include �� search path �Υ��ޥ�ƥ�������ľ���ʤ��ȡ�
203
28baf6cd9ad1 *** empty log message ***
kono
parents: 201
diff changeset
3879
28baf6cd9ad1 *** empty log message ***
kono
parents: 201
diff changeset
3880 Mon Apr 12 12:19:35 JST 2004
28baf6cd9ad1 *** empty log message ***
kono
parents: 201
diff changeset
3881
28baf6cd9ad1 *** empty log message ***
kono
parents: 201
diff changeset
3882 3461 if (!integral(t=cadr(type))&&
28baf6cd9ad1 *** empty log message ***
kono
parents: 201
diff changeset
3883 3462 !(t==FLOAT||t==DOUBLE) &&
28baf6cd9ad1 *** empty log message ***
kono
parents: 201
diff changeset
3884 3463 !(t==LONGLONG||t==ULONGLONG) &&
28baf6cd9ad1 *** empty log message ***
kono
parents: 201
diff changeset
3885 3464 (car(t)==STRUCT||car(t)==UNION)) {
28baf6cd9ad1 *** empty log message ***
kono
parents: 201
diff changeset
3886
28baf6cd9ad1 *** empty log message ***
kono
parents: 201
diff changeset
3887 ����ʤ��ơ�t>0 && (car(t)==STRUCT||car(t)==UNION)) {
28baf6cd9ad1 *** empty log message ***
kono
parents: 201
diff changeset
3888 ����ʤ���?
28baf6cd9ad1 *** empty log message ***
kono
parents: 201
diff changeset
3889
205
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3890
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3891 Wed Apr 14 14:26:04 JST 2004
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3892
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3893 creg �ʤ�����ɡ�ľ�ܥ쥸�����������Τ��ȡ�ʣ���쥸������
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3894 �Ȥä� double / long �򰷤��פäƤΤ���ꤺ�餤�������顢
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3895 register �ѿ��������Τ������󤸤�ʤ�? �Ǥ⡢���������
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3896 �ѹ���¿���ʤ뤱��...
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3897
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3898 free_register �δط������뤫�顢��äѤꡢ�����Ѥ��ʤ���
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3899 ������͡�
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3900
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3901 creg/freg ��ߤ᤿�Τϡ�MIPS�� float/double ����̤���
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3902 ɬ�פ����뤿�ᡣ���λ��ˡ�creg ��¤�β�����٤����ä�
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3903 �ߤ������͡�
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3904 creg = { ireg, freg, dreg }
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3905 �ߤ����ˤ��Ƥ��ɤ��ä��櫓����
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3906
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3907 �⤷�����ơ�regv �äƻȤäƤʤ���? (��������...)
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3908
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3909 register �� list �ǻ���? ����ˤ����?
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3910 regs[0] = glist4(LREGISTER,use,r1,r2)
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3911 regs[0] = glist3(REGISTER,use,r1)
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3912 �ߤ����ʴ���? ������... ������ϡ�
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3913 ireg_list
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3914 dreg_list
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3915 freg_list
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3916 lreg_list
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3917 ���ʡ��Ǥ���? �ճ��ˤ��ɤ�������ptr cache �Υ����ɤ⤢�뤷��
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3918
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3919 �ޤ���conservative �ˤ�������
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3920
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3921 lreg �ϡ��Ѷ�Ū�˲������ʤ��Ȥޤ������ɡ��ɤΥ����ߥ󥰤�?
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3922 �Ȥ�������creg �⤽�Υ����ߥ󥰤Dz��������ɤ��󤸤�ʤ�?
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3923 �ա���
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3924
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3925 gexpr_init() �Υ����ߥ󥰤Dz������Ƥ⤤��������ɡ�������ȡ�
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3926 gexpr_0 �Dz��äƤ���Ȥ��˲�������ʤ����ɡ�
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3927 g[long long hoge]
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3928 �ߤ����ʾ��Ǥϡ�����Dz��������ߤ������?
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3929
a50f90d0b63a *** empty log message ***
kono
parents: 203
diff changeset
3930 use_int �Ȥ��� lreg �ϲ��������ɤ��󤸤�ʤ�?
206
4170cefb48f6 *** empty log message ***
kono
parents: 205
diff changeset
3931
4170cefb48f6 *** empty log message ***
kono
parents: 205
diff changeset
3932 creg =0 �� free_register(creg) ���ƤФ�Ƥ���͡����ä��ʡ�
207
8a3516f6eb66 *** empty log message ***
kono
parents: 206
diff changeset
3933
8a3516f6eb66 *** empty log message ***
kono
parents: 206
diff changeset
3934 Sat Apr 17 17:01:02 JST 2004
8a3516f6eb66 *** empty log message ***
kono
parents: 206
diff changeset
3935
8a3516f6eb66 *** empty log message ***
kono
parents: 206
diff changeset
3936 long long register �ǡ�regs�� regv �򤽤�����
8a3516f6eb66 *** empty log message ***
kono
parents: 206
diff changeset
3937 ɬ�פϤʤ���regs �����̤��Ѱդ��ơ�regv �ǤϤʤ��ơ�
8a3516f6eb66 *** empty log message ***
kono
parents: 206
diff changeset
3938 lreg_h��lreg_l�ߤ����ʴ����ˤ��롣
208
70b1da1864f6 *** empty log message ***
kono
parents: 207
diff changeset
3939
70b1da1864f6 *** empty log message ***
kono
parents: 207
diff changeset
3940 ������register full ����������������������ä����ʤ���
209
7bfc1435cdc6 regv fix done
kono
parents: 208
diff changeset
3941
7bfc1435cdc6 regv fix done
kono
parents: 208
diff changeset
3942 Wed Apr 21 17:32:40 JST 2004
7bfc1435cdc6 regv fix done
kono
parents: 208
diff changeset
3943
7bfc1435cdc6 regv fix done
kono
parents: 208
diff changeset
3944 unsigned ��cosnt�׻������������󤸤�ʤ�?
210
f21651f85344 *** empty log message ***
kono
parents: 209
diff changeset
3945
f21651f85344 *** empty log message ***
kono
parents: 209
diff changeset
3946 Thu Apr 22 12:33:04 JST 2004
f21651f85344 *** empty log message ***
kono
parents: 209
diff changeset
3947
212
32f54ab63b35 *** empty log message ***
kono
parents: 210
diff changeset
3948 �褦��äȡ�int/float ���������ޤ�����
32f54ab63b35 *** empty log message ***
kono
parents: 210
diff changeset
3949
210
f21651f85344 *** empty log message ***
kono
parents: 209
diff changeset
3950 lrexpr �ϡ�codegen �ǡ�long �η׻����֤���������������?
f21651f85344 *** empty log message ***
kono
parents: 209
diff changeset
3951 �Ǥ⡢������ȡ�64bit �黻�򥵥ݡ��Ȥ��Ƥ���CPU�����줷��
f21651f85344 *** empty log message ***
kono
parents: 209
diff changeset
3952 �ʤ�����
212
32f54ab63b35 *** empty log message ***
kono
parents: 210
diff changeset
3953
32f54ab63b35 *** empty log message ***
kono
parents: 210
diff changeset
3954 ���ȡ��⤦����! �Ǥ⡢2,3�������ꤽ����
32f54ab63b35 *** empty log message ***
kono
parents: 210
diff changeset
3955 loprtc �⡢���ä����������󤸤�ʤ�? (�ޤ�....)
32f54ab63b35 *** empty log message ***
kono
parents: 210
diff changeset
3956
213
kono
parents: 212
diff changeset
3957 Fri Apr 23 14:40:02 JST 2004
kono
parents: 212
diff changeset
3958
kono
parents: 212
diff changeset
3959 ���Ȥϡ�switch, inline, stdargs, alloca ���ʡ� asm �⤢�뤫��
kono
parents: 212
diff changeset
3960 asm �ϡ�����äȼ�ݤ��鳰��뤫�餤������
kono
parents: 212
diff changeset
3961
kono
parents: 212
diff changeset
3962 PowerPC ��alloca �ϡ���������������������ʡ�
kono
parents: 212
diff changeset
3963
kono
parents: 212
diff changeset
3964 join ������?
kono
parents: 212
diff changeset
3965
kono
parents: 212
diff changeset
3966 a?a,b:a,b �äƵ�������?
kono
parents: 212
diff changeset
3967
kono
parents: 212
diff changeset
3968 "" ����Υޥ�����Ÿ������Ƥ��ޤ���Ǥ����ɡ�(�ޡ������ʤ������)
214
4f459364c334 *** empty log message ***
kono
parents: 213
diff changeset
3969
4f459364c334 *** empty log message ***
kono
parents: 213
diff changeset
3970 #hoge ��̵�뤹�뤫�����Τޤޤˤ��뤫...
4f459364c334 *** empty log message ***
kono
parents: 213
diff changeset
3971
4f459364c334 *** empty log message ***
kono
parents: 213
diff changeset
3972 Sat Apr 24 14:39:14 JST 2004
4f459364c334 *** empty log message ***
kono
parents: 213
diff changeset
3973
4f459364c334 *** empty log message ***
kono
parents: 213
diff changeset
3974 long long op int, unsigned long long op int/unsigned
4f459364c334 *** empty log message ***
kono
parents: 213
diff changeset
3975
4f459364c334 *** empty log message ***
kono
parents: 213
diff changeset
3976 �äƤΤ�����Τ�.... ������...
219
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3977
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3978 Sun Apr 25 17:20:40 JST 2004
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3979
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3980 �������ʤ��Τ˥ƥ��ȥ롼���������ʤ衣���� register lassop
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3981
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3982 compiler ��񤯤ˤ�...
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3983 (1) parser ���
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3984 (2) code ���������
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3985 (3) compiler ��compile ���顼����
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3986 (4) compiler �Υ�����������ǥХå�����
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3987 (5) �������������ɤ�������֥���̤뤫�ɤ�����ľ��
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3988 (6) �������������ɤ����������ɤ�����Ĵ�٤�
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3989 �ǡ�(4) �ޤǤǤ��ޤ�����
6190d24e178c long long code generation level 4
kono
parents: 214
diff changeset
3990
220
97246ddfe8ab *** empty log message ***
kono
parents: 219
diff changeset
3991
97246ddfe8ab *** empty log message ***
kono
parents: 219
diff changeset
3992 ��äѤꡢuse_int �Ȥ��äơ��ʤ�Ȥʤ����ᡣ�����
97246ddfe8ab *** empty log message ***
kono
parents: 219
diff changeset
3993 ��ͳ�������������ʤ����ۤȤ�ɥХ��Ϥ�������
97246ddfe8ab *** empty log message ***
kono
parents: 219
diff changeset
3994 �������Τ͡�
97246ddfe8ab *** empty log message ***
kono
parents: 219
diff changeset
3995
97246ddfe8ab *** empty log message ***
kono
parents: 219
diff changeset
3996 use_int �Ȥ��ϡ�codegen �Ǥ�ä��󤸤㤤���ʤ��ơ�
97246ddfe8ab *** empty log message ***
kono
parents: 219
diff changeset
3997 ��äȤⲼ��code������ʬ�Ǥ��ʤ��Ȥ����ʤ��󤸤�ʤ�?
97246ddfe8ab *** empty log message ***
kono
parents: 219
diff changeset
3998 ����Ǥ����Τ�?
221
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
3999
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4000 ������������
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4001
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4002 creg ���Ф������Фä��ꤸ��ʤ��Τǡ�code_xxxx(xxxx,creg)
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4003 �Ȥ����褦�ˤʤäƤ��롣��������ȡ�creg �򤽤γ���
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4004 creg = use_int(creg) ����ɬ�פ����롣���͡�
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4005
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4006 void
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4007 code_lvar(int e2,int reg) {
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4008 creg = use_int(creg);
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4009 lvar_intro(e2);
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4010 printf("\tla %s,",register_name(reg));
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4011 lvar(e2);
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4012 }
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4013
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4014 ���ȡ�reg ���֤˹��ʤ������٤졣
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4015
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4016 reg ��creg �ʳ�������Τϡ�����Ū�ˤ� assign_opt �ϤǤ��͡�
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4017 ����� creg ��ľ���С�������
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4018
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4019 void
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4020 code_lvar(int e2,int reg) {
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4021 if (reg==-1) {
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4022 creg = use_int(creg);
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4023 reg = creg;
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4024 }
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4025 lvar_intro(e2);
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4026 printf("\tla %s,",register_name(reg));
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4027 lvar(e2);
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4028 }
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4029
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4030 �ߤ�����?
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4031
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4032 #define use_int(reg) if (reg==-1) reg = use_int0(reg)
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4033 void
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4034 code_lvar(int e2,int reg) {
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4035 use_int(reg);
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4036 lvar_intro(e2);
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4037 printf("\tla %s,",register_name(reg));
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4038 lvar(e2);
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4039 }
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4040 use_int0(int reg) {
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4041 creg = ireg;
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4042 return creg;
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4043 }
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4044
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4045 ���ʡ� #define ��? �ޡ��ɤä��Ǥ⤪��ʤ��褦�ʤ�Τ���
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4046
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4047 �Ǥ⡢������ѹ�¿���ʤ���
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4048
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4049 Mon Apr 26 05:35:24 JST 2004
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4050
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4051 �����no long long ���̤ä��ߤ�����������
ceae585186d9 *** empty log message ***
kono
parents: 220
diff changeset
4052
223
1ac647873577 *** empty log message ***
kono
parents: 221
diff changeset
4053 ��¤�Τ����ͤ���ľ��ˡ��������ʤ��Ȥ��ޤ������ʤ���
224
82a55cc6b5fc *** empty log message ***
kono
parents: 223
diff changeset
4054
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
4055 #include "" �ϡ����ɤ�Ǥ���ե������current directory ��õ����
226
a31e1d24c097 *** empty log message ***
kono
parents: 224
diff changeset
4056
a31e1d24c097 *** empty log message ***
kono
parents: 224
diff changeset
4057 �ޤ���ia32 �ϡ�eax,edx ��long,long ���Ѥ�ǡ����Ȥϡ�
a31e1d24c097 *** empty log message ***
kono
parents: 224
diff changeset
4058 �Х���Ƿ׻�����櫓�͡������������ʡ��ष����
a31e1d24c097 *** empty log message ***
kono
parents: 224
diff changeset
4059 �䤵�������⡣
227
ed92cef127f1 *** empty log message ***
kono
parents: 226
diff changeset
4060
ed92cef127f1 *** empty log message ***
kono
parents: 226
diff changeset
4061 ��������������long �ΰ������Ϥ����ϡ�
ed92cef127f1 *** empty log message ***
kono
parents: 226
diff changeset
4062 r10 �ϥ쥸�������Ĥ�ϥ��������櫓�͡�
230
d60c6c31f63a *** empty log message ***
kono
parents: 227
diff changeset
4063
d60c6c31f63a *** empty log message ***
kono
parents: 227
diff changeset
4064 Wed Apr 28 13:01:13 JST 2004
d60c6c31f63a *** empty log message ***
kono
parents: 227
diff changeset
4065
d60c6c31f63a *** empty log message ***
kono
parents: 227
diff changeset
4066 �����֡��̤�ޤ�����ltosop �ϡ����ꡣ
d60c6c31f63a *** empty log message ***
kono
parents: 227
diff changeset
4067
d60c6c31f63a *** empty log message ***
kono
parents: 227
diff changeset
4068 drexpr, lrexpr �� cond ��������Ƥʤ��ä���
d60c6c31f63a *** empty log message ***
kono
parents: 227
diff changeset
4069
d60c6c31f63a *** empty log message ***
kono
parents: 227
diff changeset
4070 ��ư�������θ����Ϥɤ����褦��ʤ���? printf ������?
d60c6c31f63a *** empty log message ***
kono
parents: 227
diff changeset
4071
d60c6c31f63a *** empty log message ***
kono
parents: 227
diff changeset
4072 �������ʤ󤫡��ޤ���printf ���ɽ��ѿ�������Ƥ���͡�
d60c6c31f63a *** empty log message ***
kono
parents: 227
diff changeset
4073
d60c6c31f63a *** empty log message ***
kono
parents: 227
diff changeset
4074 ���������С��ɽ��ѿ��Υ��饤���ȤϹ�碌�Ƥʤ����ɤ�����?
231
f5efe15629d4 *** empty log message ***
kono
parents: 230
diff changeset
4075
f5efe15629d4 *** empty log message ***
kono
parents: 230
diff changeset
4076 unsigned �äơ��⤷�����ơ��⤦�����롼�뤬ʣ��?
f5efe15629d4 *** empty log message ***
kono
parents: 230
diff changeset
4077 / % << >
f5efe15629d4 *** empty log message ***
kono
parents: 230
diff changeset
4078 I op I I I I I
f5efe15629d4 *** empty log message ***
kono
parents: 230
diff changeset
4079 I op U I I I I
f5efe15629d4 *** empty log message ***
kono
parents: 230
diff changeset
4080 U op I I I U I
f5efe15629d4 *** empty log message ***
kono
parents: 230
diff changeset
4081 U op U U U U U
f5efe15629d4 *** empty log message ***
kono
parents: 230
diff changeset
4082 �Ǥ�ʤ�����
f5efe15629d4 *** empty log message ***
kono
parents: 230
diff changeset
4083
f5efe15629d4 *** empty log message ***
kono
parents: 230
diff changeset
4084 �ʤ󤫡���������ľ������ˡ��ʤ�Ǥʤ��ʡ�
232
8a23c20ac92d *** empty log message ***
kono
parents: 231
diff changeset
4085
8a23c20ac92d *** empty log message ***
kono
parents: 231
diff changeset
4086 code_bool ��jmp��Ȥ��ΤϤ����ˤ�ޤ�����͡������ͤ���
8a23c20ac92d *** empty log message ***
kono
parents: 231
diff changeset
4087
8a23c20ac92d *** empty log message ***
kono
parents: 231
diff changeset
4088 ��������float/double printf("%d",f0>f1) �ο����ͤ�����ȿž����
8a23c20ac92d *** empty log message ***
kono
parents: 231
diff changeset
4089 �Х������ʤ���
8a23c20ac92d *** empty log message ***
kono
parents: 231
diff changeset
4090
8a23c20ac92d *** empty log message ***
kono
parents: 231
diff changeset
4091 code-gen.c ������ư��������float.c ���������ᡣ
8a23c20ac92d *** empty log message ***
kono
parents: 231
diff changeset
4092 �ʤ󤫡��ޤ�ǤǤ�����ư���Ƥ���ߤ���....
8a23c20ac92d *** empty log message ***
kono
parents: 231
diff changeset
4093
8a23c20ac92d *** empty log message ***
kono
parents: 231
diff changeset
4094 function() ����ǡ�lreg ��input register�ȽŤʤäƤ��ޤ���
234
eccea7c904ee float powerpc drexp done (?)
kono
parents: 232
diff changeset
4095
eccea7c904ee float powerpc drexp done (?)
kono
parents: 232
diff changeset
4096 Thu Apr 29 19:40:08 JST 2004
eccea7c904ee float powerpc drexp done (?)
kono
parents: 232
diff changeset
4097
eccea7c904ee float powerpc drexp done (?)
kono
parents: 232
diff changeset
4098 �ɤ��狼��ʤ������̤ä���
239
1849e0079f08 ia32 long long continue
kono
parents: 234
diff changeset
4099
1849e0079f08 ia32 long long continue
kono
parents: 234
diff changeset
4100 Sun May 2 09:40:21 JST 2004
1849e0079f08 ia32 long long continue
kono
parents: 234
diff changeset
4101
1849e0079f08 ia32 long long continue
kono
parents: 234
diff changeset
4102 ��äѤ� LREGISTER �ʤ�ƺ��󤸤�ʤ��ä���code_lconst
1849e0079f08 ia32 long long continue
kono
parents: 234
diff changeset
4103 �Ȥ��� edx,eda �� dsi,edi pair �����ؤ�����ʤ��ȡ�
245
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4104
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4105 Thu May 6 08:33:23 JST 2004
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4106
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4107 ia32, powerpc �Ȥ� long long �ޤǡ��̤�ޤ�����ia32 ��콵��
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4108 �����ä��������ϡ�MIPS, ARM �Ǥ��ʡ�
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4109
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4110 ����ѿ�+���ե��å� ( heap[3] �ߤ����ʤ�) �ǡ�
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4111 heap+24 �Ȥ��Фʤ�����Ȥ�Ȥ� offset,y ���ä�����
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4112 ����ʤ��ä�������ɤ͡�
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4113
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4114 �ߴ�����ΤƤƤ��ޤ��С�����ѿ��ݥ��󥿤�Ƴ�����Ƥ�
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4115 ����������ɡ�������32bit �ʾ�Υ��ե��åȤ���RISC
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4116 ̿����Ȥޤ�����
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4117
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4118 ���֥������Ȼظ����Ȥ��Τ�����ϲ�褹�������ɤ͡�
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4119
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4120 longlong/float ��regression�Ϥ���������ɡ��⤦����
8a72b0afccfc *** empty log message ***
kono
parents: 239
diff changeset
4121 �����������ä�������������͡�
246
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4122
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4123 �ʤ󤫡�Linux ��include directory �äơ��ɤ��ˤ��ʤ�ʤ���?
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4124
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4125 assop �ǡ�
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4126 calc left exp
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4127 move creg,dreg
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4128 move const,creg
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4129 op creg,(dreg)
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4130 �äơ���äƤ���Τʤ��Ѥ���ʤ�?
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4131
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4132 a && b �ǡ�b ��bool��׻����Ƥ���Τ��ѡ�use �Υե饰
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4133 �򸫤�Τ��ɲä����顣
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4134
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4135
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4136 Sat May 8 21:29:32 JST 2004
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4137
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4138 ��ư��������long long��������Ʊ���ͤϰ�ĤˤޤȤ��٤�����͡�
0dcc0ec81ed2 MIPS on going (90%)
kono
parents: 245
diff changeset
4139 Ϣ�� list ���Ļ��Ƥ��ɤ�����������
249
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4140
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4141 string ��ޤȤ�뤫�ɤ����ϡ�const ���ɤ����ˤ��櫓����...
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4142
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4143 RETURN register ������ν��������������ޡ����礦���ʤ�����
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4144
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4145 MIPS ��debug�ˤ����������ɡ����ϻ�����������ʡ��ʤ�ǡ�
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4146 ��ä��᤯�Ǥ��ʤ��ä��Τ���gcc modification �Ϥɤ�����?
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4147
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4148 ������ register �� 0 �����äƤʤ��Ȥ���ΤϤޤ����ä�
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4149 ���äƤ���Τ�...
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4150
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4151 float �� normal register ���Ѥ�Τ���
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4152
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4153 s.s $f4,16($sp)
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4154 mov.s $f12,$f0
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4155 mov.s $f14,$f1
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4156 mfc1 $6,$f2
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4157 mfc1 $7,$f3
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4158 jal f
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4159
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4160 �ޡ�����������ɤ���(�Ǥ⡢�ʤ��$4,$5 ��Ȥ�ʤ����?)
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4161
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4162 long long ��4,5,6,7 �����쥸�������Ѥޤʤ����ޡ���������ɡ�
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4163
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4164 �����쥸�����Υ����֤äƼ�ʬ�Ǥ��Τ���(���㡢mask �äƤʤ�
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4165 ����...) �äƤ��Ȥ�entry �Ϥ��Ȥǽ��Ϥ��ʤ��Ȥ�����͡�
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4166
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4167 �ޤ������������ä��ʤ�����... �٤������顼���ĤäƤ���ʡ�
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4168
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4169 ��äѤ� codegen �γ�ĥˡ���äƤ����ʤ��ȥ�����͡�
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4170
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4171 �ؿ��ƤӽФ��ѡ��Ȥ�CbC���Ȥǽ񤱤ʤ��Τ��ʤ���
8313c965c0e2 *** empty log message ***
kono
parents: 246
diff changeset
4172 ���ޤ�ˤ��ɤ���������
251
fb6efe8ff816 *** empty log message ***
kono
parents: 249
diff changeset
4173
fb6efe8ff816 *** empty log message ***
kono
parents: 249
diff changeset
4174 cpload �ϡ�gp �쥸�����ν����˴ط�����餷����gp �쥸�����äƲ�?
fb6efe8ff816 *** empty log message ***
kono
parents: 249
diff changeset
4175 cploat $25 �� $25 �ϡ�stack offset �ߤ����͡�$sp ���ѹ�����Ȥ��ˡ�
fb6efe8ff816 *** empty log message ***
kono
parents: 249
diff changeset
4176 �ʤ󤫤Υե饰������ʤ��褦�ˤ��뤿��ν����ߤ�����
fb6efe8ff816 *** empty log message ***
kono
parents: 249
diff changeset
4177
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
4178 ���Ȥ���С�code segment ¦��stack�����ˤ˰�ư����ΤϤޤ���?
252
1452eb0eab20 *** empty log message ***
kono
parents: 251
diff changeset
4179
1452eb0eab20 *** empty log message ***
kono
parents: 251
diff changeset
4180 float/double �Υե����� mc-parse �Ǥϡ�����������������ߤ�����
254
5aaca4f9d96b *** empty log message ***
kono
parents: 252
diff changeset
4181
5aaca4f9d96b *** empty log message ***
kono
parents: 252
diff changeset
4182 �ϡ��ɤ��Ȥ���....
5aaca4f9d96b *** empty log message ***
kono
parents: 252
diff changeset
4183
5aaca4f9d96b *** empty log message ***
kono
parents: 252
diff changeset
4184 cprestore, mask �η׻�
5aaca4f9d96b *** empty log message ***
kono
parents: 252
diff changeset
4185 offset �ι�碌
5aaca4f9d96b *** empty log message ***
kono
parents: 252
diff changeset
4186
5aaca4f9d96b *** empty log message ***
kono
parents: 252
diff changeset
4187 �������ư����? �������?
5aaca4f9d96b *** empty log message ***
kono
parents: 252
diff changeset
4188
5aaca4f9d96b *** empty log message ***
kono
parents: 252
diff changeset
4189 ������
5aaca4f9d96b *** empty log message ***
kono
parents: 252
diff changeset
4190 int endian;
5aaca4f9d96b *** empty log message ***
kono
parents: 252
diff changeset
4191 extern int endian;
5aaca4f9d96b *** empty log message ***
kono
parents: 252
diff changeset
4192 ���̤�ɬ�פ�����Τ͡��ޤ����ե饰�ΰ�������������....
255
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4193
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4194 Thu May 13 12:58:58 JST 2004
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4195
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4196 .frame �ο����ˤ� input variable ��saveʬ������󤸤�ʤ���?
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4197
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4198 code_l1 �� ll0 �����������ʤ�Τϡ�strtoll ��int���������Ƥ뤫�顣
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4199
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4200 function ��argument��ʣ���ʤ�Τ���׻����ƹԤ��Τ��롼��ʤΤ͡�
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4201 �ޡ���������ʡ��Ǥ��ʤ����ȤϤʤ�....
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4202
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4203 �����ʤΤ����ǽ�˥롼�פ������ʣ���ʤ�Τ�쥸�����ʤ��ѿ��ʤ�
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4204 ���������ơ������ꥹ�Ȥ��֤������Ƥ��ޤ����ɤ����Ĥ��Ǥˡ�
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4205 ��������٤��ѿ��Ϥ����Ƿ׻����Ƥ�����... (�äơ�����äơ�
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4206 parallel_assignment �Ǥ�äƤ��뤳�Ȥ�Ʊ����)
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4207
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4208 ������ʬ��codegen �Ǥ�äƤ⤤���������... ia32 �Τ褦�ʾ���
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4209 �ष�����פʤΤ���
8cd8d72286ae PowerPC long long complex function call fix.
kono
parents: 254
diff changeset
4210
256
d80e6387c539 powerpc function call complex arugment pre computation.
kono
parents: 255
diff changeset
4211 �Ǥ⡢��äѤꡢ�ճ���ʣ�����衣struct ��ɤ����뤫�Ȥ�����
d80e6387c539 powerpc function call complex arugment pre computation.
kono
parents: 255
diff changeset
4212
258
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4213 struct �ϡ�call memmove ���������ɡ������Ĥ���ˤ��櫓�ˤ�
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4214 �����ʤ�����ˤ��ȡ����δ֤�function call�������Ƥ��ޤ���
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4215 ��˻��ä��ɤ��ȡ�input register �������Τǡ���äѤꡢ
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4216 ���̰�������ɬ�פ����롣�äƤ��Ȥ�...
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4217 complex function argument
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4218 struct copy
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4219 simple arguments
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4220 �äƤ������֤Ǥ����ɤ��äƤ��Ȥ�.... ������
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4221
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4222 (�����󡢤Ǥ�ʤ�������?)
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4223
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4224 function argument �η׻��ǡ�long long register ���˲������Τϡ�
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4225 �ʤ���ˡ�������󤸤�ʤ���? ���衢lreg �����Ϥ��Ǥ���٤�����͡�
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4226 �ޤ��ͤ���
22949117768f Complex function argments. Struct is done. Long long is odd.
kono
parents: 256
diff changeset
4227
259
18837238e306 complex argument pre-calcuration done for power pc
kono
parents: 258
diff changeset
4228 ʣ���ʤ�Τ���׻����������ɤ��äƤ��Ȥϡ������å����Ѥ�
18837238e306 complex argument pre-calcuration done for power pc
kono
parents: 258
diff changeset
4229 ��������׻����������ɤ��äƤ��Ȥ���
262
df917628e532 *** empty log message ***
kono
parents: 259
diff changeset
4230
df917628e532 *** empty log message ***
kono
parents: 259
diff changeset
4231 �ޡ�����ϤǤ����Ȥ���...
df917628e532 *** empty log message ***
kono
parents: 259
diff changeset
4232
df917628e532 *** empty log message ***
kono
parents: 259
diff changeset
4233 Sat May 15 22:45:30 JST 2004
df917628e532 *** empty log message ***
kono
parents: 259
diff changeset
4234
df917628e532 *** empty log message ***
kono
parents: 259
diff changeset
4235 ��ɡ�.cprestore �ϡ��ǽ�ˤʤ��Ȥ����ʤ��Τǡ�include ��
df917628e532 *** empty log message ***
kono
parents: 259
diff changeset
4236 �Ȥ������ʤ��餷����
df917628e532 *** empty log message ***
kono
parents: 259
diff changeset
4237
df917628e532 *** empty log message ***
kono
parents: 259
diff changeset
4238 add.s ����ư�������쥸��������������ʤ����ɡ�
263
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4239
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4240 Sun May 16 13:58:42 JST 2004
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4241
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4242 ����ϥ쥸������save���͡��Ȥä��쥸�����ϥ����������θ��
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4243 �����狼��ʤ��Τǡ�������jmp ����Ф���������ɡ��ɤ��
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4244 ����?
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4245
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4246 subu $sp,$sp,$L_r1_offset
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4247 .cprestroe
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4248 sw $fp,$L_r1_offset-16($sp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4249 sw $31,$L_r1_offset-160($sp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4250 addu $fp,$sp,$L_r1_offset
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4251 jal $L_save-$L_save_label*4
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4252 addu $fp,$fp,$L_fregister_save
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4253 jal $L_fsave-$L_fsave_label*4
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4254 move $fp,$sp
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4255
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4256 ...
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4257 sw $17,-12($fp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4258 sw $16,-8($fp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4259 $L_save:
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4260 j $31
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4261 ...
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4262 s.s $f22,-16($fp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4263 s.s $f21,-12($fp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4264 s.s $f20,-8($fp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4265 $L_fsave:
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4266 j $31
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4267
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4268 �ߤ����ʴ����ˤ���? ����ȡ�ɬ��$31��save���뤳�Ȥˤʤ뤱�ɡ�
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4269 noreorder ���ʤ��Ȥ��ᤫ�⡣
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4270
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4271 ������������ѥ��Ȥ����ɡ�
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4272 subu $sp,$sp,$L_r1_offset
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4273 .cprestroe
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4274 sw $fp,$_Lr1_offset-16($sp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4275 sw $31,$_Lr1_offset-160($sp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4276 j $L_save
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4277 $L_fsave_0:
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4278 move $fp,$sp
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4279
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4280 ...
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4281 $L_save:
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4282 ...
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4283 sw $17,-12($sp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4284 sw $16,-8($sp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4285 s.s $f22,-16($sp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4286 s.s $f21,-12($sp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4287 s.s $f20,-8($sp)
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4288 j $L_save_0
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4289
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4290 �������������ʡ�save ����ɬ�פ��ʤ���С�
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4291 j $L_save
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4292 $L_save_0:
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4293 move $fp,$sp
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4294
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4295 $L_save = $L_fsave_0
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4296
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4297 �ȤǤ��뤷��
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4298
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4299 ξ����äơ����ַפ�?
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4300
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4301 �ޤ������Ԥ������ŤäƤ��뤷��̿���Ū�ˤ��Ѥ��ʤ����顢
c922bade771d MIPS go on...
kono
parents: 262
diff changeset
4302 space factor Ū�����Ԥ�����®���󤸤�ʤ���?
265
b47a106a9bce *** empty log message ***
kono
parents: 263
diff changeset
4303
266
86e315702d9e *** empty log message ***
kono
parents: 265
diff changeset
4304 �Ǥ��Ԥ�������ñ����ʡ�
86e315702d9e *** empty log message ***
kono
parents: 265
diff changeset
4305
265
b47a106a9bce *** empty log message ***
kono
parents: 263
diff changeset
4306 Mon May 17 01:09:02 JST 2004
b47a106a9bce *** empty log message ***
kono
parents: 263
diff changeset
4307
b47a106a9bce *** empty log message ***
kono
parents: 263
diff changeset
4308 ���ơ�������֥���̤�褦�ˤʤ�ޤ�����...
b47a106a9bce *** empty log message ***
kono
parents: 263
diff changeset
4309
b47a106a9bce *** empty log message ***
kono
parents: 263
diff changeset
4310 �ɤ��⡢$0,$1���ФƤ��ޤ���礬����ߤ���������򸡽Ф���
b47a106a9bce *** empty log message ***
kono
parents: 263
diff changeset
4311 ���ʤ��ä������ɤ��͡�
b47a106a9bce *** empty log message ***
kono
parents: 263
diff changeset
4312
b47a106a9bce *** empty log message ***
kono
parents: 263
diff changeset
4313 ���ȡ�int �θ��double/longlong �ϡ�$3 �Τ��ȡ�$5,$6 ��
b47a106a9bce *** empty log message ***
kono
parents: 263
diff changeset
4314 ���ߤ����Ǥ��͡�
266
86e315702d9e *** empty log message ***
kono
parents: 265
diff changeset
4315
268
3a368fc37559 MIPS binary continue...
kono
parents: 266
diff changeset
4316 ���ơ����褤�衢���ե��åȹ�碌����
3a368fc37559 MIPS binary continue...
kono
parents: 266
diff changeset
4317
3a368fc37559 MIPS binary continue...
kono
parents: 266
diff changeset
4318 Tue May 18 13:05:24 JST 2004
3a368fc37559 MIPS binary continue...
kono
parents: 266
diff changeset
4319
3a368fc37559 MIPS binary continue...
kono
parents: 266
diff changeset
4320 �ʤ󤫥쥸���������֤��ܤ��ܤ������max_reg_var �Ȥ�����
3a368fc37559 MIPS binary continue...
kono
parents: 266
diff changeset
4321 �����ȥ쥸�����θĿ���ɽ���褦�ˤ����衣
271
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4322
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4323 Wed May 19 13:49:40 JST 2004
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4324
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4325 endian �˴ؤ��륳���ɤϡ������ȥ������ˤ����񤤤������ɤ��͡�
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4326
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4327 �䤡���ʤ�Endian�����ʤ��衣���󤼤�
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4328
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4329 printf �� $6,$7 ��Ʊ���ͤ��Ϥ��Ƥ���Τˡ�
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4330
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4331 diff test/code-gen-all.gcc.out test/code-gen-all.mc-mips.out
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4332 53,54c53,54
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4333 < code_lrindirect ffffffffffffffc9 37 c8 80
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4334 < code_lrindirect -55 55 200 128
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4335 ---
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4336 > code_lrindirect 37ffffffc9 37 c8 80
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4337 > code_lrindirect 240518168521 55 200 128
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4338
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4339 �Ȥʤ�ΤϤʤ�Ǥ�����? 37 �� overwrite ����Ƥ���Τ���
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4340 �Ǥ⡢37�Υݥ������������������ʡ�37���Τϥ쥸�����ˤ�
e1a96bdbe527 MIPS continue...
kono
parents: 268
diff changeset
4341 ��äƤʤ�����
272
40266d044d97 MIPS continue...
kono
parents: 271
diff changeset
4342
40266d044d97 MIPS continue...
kono
parents: 271
diff changeset
4343 Wed May 19 22:15:33 JST 2004
40266d044d97 MIPS continue...
kono
parents: 271
diff changeset
4344
40266d044d97 MIPS continue...
kono
parents: 271
diff changeset
4345 �����������󤬤�Х��ϼ��Ƥ����櫓�����ɡ��ʤ󤫡�
40266d044d97 MIPS continue...
kono
parents: 271
diff changeset
4346 ��̯�ˤ櫓�狼��ʤ��Х����ĤäƤ���ʡ�
273
87b9cfc86a10 *** empty log message ***
kono
parents: 272
diff changeset
4347
87b9cfc86a10 *** empty log message ***
kono
parents: 272
diff changeset
4348 MIPS�ä�const �Τ������ʤ������͡����ä��顢*4���餤
87b9cfc86a10 *** empty log message ***
kono
parents: 272
diff changeset
4349 ��shift���������ɤ����⡣
87b9cfc86a10 *** empty log message ***
kono
parents: 272
diff changeset
4350
87b9cfc86a10 *** empty log message ***
kono
parents: 272
diff changeset
4351 Thu May 20 21:46:17 JST 2004
87b9cfc86a10 *** empty log message ***
kono
parents: 272
diff changeset
4352
87b9cfc86a10 *** empty log message ***
kono
parents: 272
diff changeset
4353 register_dassop ��ƥ��Ȥ��Ƥʤ��ơ������ɤ�ְ�äƤ롣
275
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4354
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4355 chptrsave �ʤ�����ɡ�
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4356 case hoge:
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4357 macro_replace()
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4358 �ǡ�case hoge: ����λ����ȡ�getsym�����ɤߤǡ�macro_replace
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4359 ��Ÿ�����ơ������� lfree ( chptrsave = list2(hoge,chptrsave) )�˾�äƤ��ޤ���
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4360 docase �ǡ�lfree = slfree ����ȡ�����list2 ���˲�����Ƥ��ޤ���
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4361 �Ĥޤꡢslfree=lfree;.... getsym ...; lfree=slfree �ϡ��������ʤ���
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4362 �ʤΤǡ�list2 ����ʤ��ơ�glist2 ���ơ�free_glist2 ���Ƥ��褦�ˤ��롣
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4363
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4364 �Ǥ⡢���⤽�⡢macro_buffer �ϡ��ɤ��ʤ�? �����ΰ�Ϻ����Ѥ����Τ�?
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4365 �����Ǥʤ��ȵ����macro��񤫤줿�Ȥ��˵��ޤ�����cheap �ϡ�malloc
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4366 ���Ƥ⤤���󤸤�ʤ����ʤ���
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4367
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4368 code-gen-all.c �� simp1.c ���̤ä�������ɡ�basic.c ����̯��
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4369 �̤�ʤ����ʤ�Ǥ��ʡ�diff ��͡�
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4370
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4371 Fri May 21 13:09:10 JST 2004
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4372
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4373 switch �ʤ�����ɡ�long long ���̤��������͡�
8f09f8bbc494 MIPS switch statement. basic.c passed.
kono
parents: 273
diff changeset
4374
276
ebaec1ae566e MIPS double/longlong lib operand register conflict
kono
parents: 275
diff changeset
4375 �ʤ��ʤ�self compile���̤�ʤ��ʡ����٤ϡ�getsym ������äѤꡢ$gp
ebaec1ae566e MIPS double/longlong lib operand register conflict
kono
parents: 275
diff changeset
4376 ��Ϣ?
ebaec1ae566e MIPS double/longlong lib operand register conflict
kono
parents: 275
diff changeset
4377
ebaec1ae566e MIPS double/longlong lib operand register conflict
kono
parents: 275
diff changeset
4378 ����ʸ�η��������ͤη��ˤʤäƤ���������ʥХ������ޤ���
ebaec1ae566e MIPS double/longlong lib operand register conflict
kono
parents: 275
diff changeset
4379 �ĤäƤ����Ȥϡ�
ebaec1ae566e MIPS double/longlong lib operand register conflict
kono
parents: 275
diff changeset
4380
ebaec1ae566e MIPS double/longlong lib operand register conflict
kono
parents: 275
diff changeset
4381 double register �ν������ʤ���dead lock ����ʡ�
ebaec1ae566e MIPS double/longlong lib operand register conflict
kono
parents: 275
diff changeset
4382
ebaec1ae566e MIPS double/longlong lib operand register conflict
kono
parents: 275
diff changeset
4383 �����ȡ�double register ��conflict ���ޤ���ʤ���
ebaec1ae566e MIPS double/longlong lib operand register conflict
kono
parents: 275
diff changeset
4384 �������� function �Ǥϵ����ʤ��餷����...
ebaec1ae566e MIPS double/longlong lib operand register conflict
kono
parents: 275
diff changeset
4385 �Ȥ������Ȥϡ�set_[dl]operand �����꤫��
277
d5467cf30f58 Prallel Register Assignment
kono
parents: 276
diff changeset
4386
d5467cf30f58 Prallel Register Assignment
kono
parents: 276
diff changeset
4387 ��äѤ� register parallel assign ��񤯤Τ���ñ����͡�
278
5b50813d0c45 MIPS 90% test passed. Self compile core dumped.
kono
parents: 277
diff changeset
4388
5b50813d0c45 MIPS 90% test passed. Self compile core dumped.
kono
parents: 277
diff changeset
4389 slt/beq �äƤΤ������ޤ�ư���Ƥʤ��ߤ����͡�
5b50813d0c45 MIPS 90% test passed. Self compile core dumped.
kono
parents: 277
diff changeset
4390
279
3e8ba7024d25 MIPS struct fix (all test except 2 passed.)
kono
parents: 278
diff changeset
4391
3e8ba7024d25 MIPS struct fix (all test except 2 passed.)
kono
parents: 278
diff changeset
4392 Sat May 22 12:49:55 JST 2004
3e8ba7024d25 MIPS struct fix (all test except 2 passed.)
kono
parents: 278
diff changeset
4393
3e8ba7024d25 MIPS struct fix (all test except 2 passed.)
kono
parents: 278
diff changeset
4394 �ʤ󤫹�¤�Τ���Ƭ�ϥ쥸�������֤��ߤ�����... �������ɡ�
3e8ba7024d25 MIPS struct fix (all test except 2 passed.)
kono
parents: 278
diff changeset
4395 $5,$6,$7 ����
280
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4396
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4397 continuation frame �ϡ�$sp=$fp �ˤ����? �ؿ�������
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4398 $fp���Ѥ�Ǥ��뤫�顢��������ɬ�פ�����櫓�����ɡ�
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4399 ���������$fp �����ư�����ʤ��Ȥ����ʤ������͡�
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4400 �ޤ���PowerPC�Ǥ⡢�������Ƥ���櫓�����ɡ�
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4401
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4402 jal ��� $gp ����᤹�櫓�����ɡ����Υ��ɥ쥹��
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4403 ��ޤäƤ��뤷����󥻡��֤���ɬ�פ�ʤ����ɡ�
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4404 $sp ���Ф��Ȥޤ����ʤ���
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4405
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4406 fmask,mask �Ȥ����פ�ʤ��󤸤�ʤ���? ���⤽��
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4407 �ʤ�Ǥ���������?
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4408
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4409 (gdb) x/20i carg1
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4410 0x400a80 <carg1>: lui $gp,0xfc0
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4411 0x400a84 <carg1+4>: addiu $gp,$gp,30128
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4412 0x400a88 <carg1+8>: addu $gp,$gp,$t9
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4413 0x400a8c <carg1+12>: addiu $sp,$sp,-144
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4414 0x400a90 <carg1+16>: sw $gp,32($sp)
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4415 0x400a94 <carg1+20>: move $s8,$sp
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4416 0x400a98 <carg1+24>: sw $s2,16($s8)
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4417 0x400a9c <carg1+28>: sw $s1,20($s8)
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4418 0x400aa0 <carg1+32>: lw $t3,-32692($gp)
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4419 0x400aa4 <carg1+36>: lw $a0,0($t3)
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4420 0x400aa8 <carg1+40>: lui $t2,0xf000
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4421
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4422 �Ȥ����褦�� .cp ��Ϣ���Ѵ�����롣�����ϼ�ʬ�Ǥ�ä�
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4423 �����ɤ�������ɡ�
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4424
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4425 �֥����� jal �ߤ����ˤ��Ѵ�����ʤ��Τ����ޤ���?
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4426
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4427 0x400b00 <carg1+128>: move $a1,$s5
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4428 0x400b04 <carg1+132>: move $a2,$s4
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4429 0x400b08 <carg1+136>: move $a3,$s3
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4430 0x400b0c <carg1+140>: lw $t9,-32664($gp)
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4431 0x400b10 <carg1+144>: jalr $t9
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4432 0x400b14 <carg1+148>: nop
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4433 0x400b18 <carg1+152>: lw $gp,32($s8)
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4434
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4435 ��äѤ� sp ���Ф� $gp �ϥ����֤����Τ���jalr ��
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4436 ��ʬ���������������¿�����
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4437
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4438 *.i �������Τ��ɤ����� .include ��
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4439 �ե�����̾������롣���ϥե���������Ф���
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4440 .i ����٤���
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4441
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4442 a.c b.c �Τ褦�ˤĤʤ���Ȼߤޤ�ʤ��ʤ롣(-D�Υ롼�פ�?)
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4443
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4444 �빽����ӤΥХ����ĤäƤ��뤸��������Ӥ�embug��������͡�
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4445
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4446 long long ����Ӥ� int ����Ӥ��������ѥ롼������ä�����
affb054fe920 lrexpr fix. rexpr in MIPS fix.
kono
parents: 279
diff changeset
4447 �ɤ��ʤ�?
282
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4448
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4449 �Ĥ������ޤä����ְ�äƤޤ�����
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4450
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4451 Sun May 23 17:10:59 JST 2004
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4452
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4453 ��ä�MIPS���ž�ä��衣�ޤ���code jump �ϡ��Ǥ��Ƥʤ����ɡ�
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4454
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4455 ���⤽�� external jump���Ǥ��뤫�ɤ���Ĵ�٤Ƥʤ��ʡ�
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4456
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4457 slt $r1,$r2,12 �ߤ����ʥ����ɤ�Ф�������...
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4458
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
4459 parallel_rassign �ä� target=source ��̵�¥롼�פ��ʤ�?
282
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4460
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4461 Sun May 23 21:21:22 JST 2004
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4462
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4463 ��äѤꡢboolean �ΰ������ʤ���jmp�Ǥʤ������ɤ���͡�
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4464
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4465 Mon May 24 07:11:57 JST 2004
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4466
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4467 �ؿ��ƤӽФ��ΰ����ϡ���äѤ�$sp���ե��åȤ��Ѥ�٤��Ǥ��礦��
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4468 �Ǥʤ��ȡ�$fp!=$sp �λ��ˤ��������ʤ롣($s8=$fp)
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4469
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4470 code ��������ѿ����ɤ�ʤ���
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4471
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4472 0x401170 <main1>: lui $gp,0xfc0
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4473 0x401174 <main1+4>: addiu $gp,$gp,28352
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4474 0x401178 <main1+8>: addu $gp,$gp,$t9
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4475 0x40117c <main1+12>: addiu $sp,$sp,-144
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4476 0x401180 <main1+16>: sw $gp,16($sp)
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4477 0x401184 <main1+20>: sw $ra,136($sp)
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4478 0x401188 <main1+24>: b 0x401234 <main1+196>
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4479 0x40118c <main1+28>: sw $s8,132($sp)
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4480 0x401190 <main1+32>: move $s8,$sp
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4481
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4482 0x400aa0 <carg1>: lui $gp,0xfc0
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4483 0x400aa4 <carg1+4>: addiu $gp,$gp,30096
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4484 0x400aa8 <carg1+8>: addu $gp,$gp,$t9
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4485 0x400aac <carg1+12>: addiu $sp,$sp,-144
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4486 0x400ab0 <carg1+16>: sw $gp,32($sp)
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4487 0x400ab4 <carg1+20>: move $s8,$sp
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4488
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4489 �Ǥ�����$t9 �äƤʤ������?
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4490
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4491 0x401290 <main+48>: lw $t9,-32744($gp)
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4492 0x401294 <main+52>: addiu $t9,$t9,4464
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4493 0x401298 <main+56>: jalr $t9
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4494 0x40129c <main+60>: nop
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4495 0x4012a0 <main+64>: lw $gp,16($s8)
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4496
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4497 ���줫���äƤ��Ȥϡ�����Ƥ����̤ꡢ
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4498 printf("\tj %s\n",s);
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4499 �ǤϤ���ʤΤ͡�
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4500
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4501 $t8 �ϡ�$25 �äƤ��Ȥϡ�$t9 ��$26? jmp��ߤ������͡� $jp?
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4502 cpload $25 ��$25 ����ʤ���? ���㤡��
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4503 jrn = register_name(cadr(jmp));
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4504 printf("\tmove $25,%s\n",jrn);
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4505 printf("\tjal\t$31,$25\n");
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4506 ����Ф����Τ���?
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4507
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4508 .ent ���ʤ��äƤ�����⤢�뤱��... ���������ä��褿����
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4509 �ɤ�����? (���⤽�⡢code �äơ�������ƤӽФ����?)
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4510
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4511 printf("\tla $25,%s\n",s);
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4512 printf("\tj\t$25\n");
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4513
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4514 �Ǥ����ߤ������͡�
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4515 1,9d0
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4516 < arg1: 0 1 2 3 4 : 1 1
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4517 < arg1: 1 2 3 4 0 : 1 1
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4518 < args: 1 2 3 4 0 : 1 1
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4519 < 321=0
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4520 < args3: 11 22 33 44 55 : 1 2 3 4
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4521 < args4: 11 22 33 44 55 : 2 3 4 1
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4522 < args5: 66 77 88 99 10 : 3 4 1 2
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4523 < args6: 66 77 88 99 10 : 3 4 1 2
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4524 < args3: 66 77 88 99 10 : 3 4 1 2
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4525 make: [check-code] Error 1 (ignored)
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4526 +pstwo1+kono ./a.out
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4527 arg1: 0 1 2 3 4 : 0 0
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4528 arg1: 1 2 3 4 0 : 0 0
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4529 args: 0 263785888 4200109 2712942 0 : 0 0
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4530 Segmentation fault
d61cf7a9b469 first jmp in MIPS
kono
parents: 280
diff changeset
4531 �ޡ�������������͡�
283
230a3b98b843 MIPS jump work.
kono
parents: 282
diff changeset
4532
230a3b98b843 MIPS jump work.
kono
parents: 282
diff changeset
4533
230a3b98b843 MIPS jump work.
kono
parents: 282
diff changeset
4534 0x401180 <main1+16>: sw $gp,16($sp)
230a3b98b843 MIPS jump work.
kono
parents: 282
diff changeset
4535
230a3b98b843 MIPS jump work.
kono
parents: 282
diff changeset
4536 0x401298 <main+56>: jalr $t9
230a3b98b843 MIPS jump work.
kono
parents: 282
diff changeset
4537 0x40129c <main+60>: nop
230a3b98b843 MIPS jump work.
kono
parents: 282
diff changeset
4538 0x4012a0 <main+64>: lw $gp,16($s8)
230a3b98b843 MIPS jump work.
kono
parents: 282
diff changeset
4539
230a3b98b843 MIPS jump work.
kono
parents: 282
diff changeset
4540 ���ΰ�Ӥ��ʤ��Τ��Ƥ�.... $sp!=$fp �ˤ���ȡ�$gp �������
230a3b98b843 MIPS jump work.
kono
parents: 282
diff changeset
4541 ���ޤ���call ������ $fp=$sp �ˤ���Ȥ�����⤢�뤬....
284
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4542
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4543 ��ɡ���ʬ�ǡ�
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4544 lw $gp,16($sp)
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4545 ����ΤDz�衣
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4546
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4547 Mon May 24 13:26:54 JST 2004
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4548
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4549 MIPS �� jump �ϡ��Ǥ��ޤ�����MIPS��R1SAVE���ʤ��Τ͡�R1SAVE
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4550 �������㴳�����ʵ��⤹�뤬������֤�����ΤϤ��������ʤ���
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4551 �͡�
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4552
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4553 leave �ǡ�control ��ɬ�� on �ˤʤ�Τϲ���?
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4554
ec1a68133f6a MIPS f2u bug fix.
kono
parents: 283
diff changeset
4555 ���ϡ���äѤꡢc2cbc �Ǥ��礦��
285
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4556
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4557 (float) f == 1.0 �� double ���Ѵ����Ƥ���ʡ�
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4558
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4559 register oprtc ����
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4560 move $4,$20
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4561 addu $4,$4,16
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4562 move $20,$4
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4563 �Ȥ��ʤ�Τ��ᤷ���ʤ�?
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4564
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4565 Tue May 25 05:14:30 JST 2004
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4566
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4567 indirect jump �ǡ�$25 ���������������ɡ�
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4568 ����˲�����ɬ�� simple �ˤʤ뤫�顢�����Ǥ�
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4569 $25 ��ľ�������Ǥ���͡�move ��ĸ�����������ɡ�
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4570
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4571 pcond �ϡ�pcond_const ����Ĥ٤���
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4572
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4573 cmp/jcond �ϡ���Ĥǽ������������ɤ���switch ʸ�� bne $6,1,$L_11
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4574 �Ȥ��Ǥ��������ɤ���͡�
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4575
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4576 struct proto tcp_prot = {
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4577 .name = "TCP",
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4578 .close = tcp_close,
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4579 .connect = tcp_v4_connect,
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4580 .disconnect = tcp_disconnect,
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4581 .accept = tcp_accept,
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4582 .ioctl = tcp_ioctl,
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4583 .init = tcp_v4_init_sock,
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4584
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4585 �ϡ���������͡����ä�����������ʡ�(����ʤ��񤷤��ʤ���)
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4586 ��������ö�����ꥹ�Ȥˤ��ʤ��ȳ�Ǽ�Ǥ��ʤ��������ߤ�������
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4587 �ɤ��ʤ�������? ʸ������Ф�����?
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4588
297
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4589 ��äѤꡢ�񤷤��󤸤�ʤ����ʤ�������äơ����ξ��emit_data/
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4590 decl_data �Ǥ��ʤ���͡�local �ξ���assign ����˥���ѥ�
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4591 �뤹�뤳�ȤϤǤ��������ɡ�global �ϡ�assign_data �ǡ��ʤ�
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4592 ���Υ��塼������뤫��mode �����䤹�櫓�͡�
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4593
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4594 decl_data ����Ƭ��getsym����ΤϤޤ����櫓�͡�
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4595 while(t1) {
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4596 offset = decl_data(car(t1),n,offset); /* alignment? */
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4597 ....
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4598 }
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4599 ������ˡ�
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4600
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4601 getsym();
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4602 if (SYM==DOT) {
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4603 smode=mode;
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4604 sstlist = stlist;
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4605 stlist = 0;
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4606 if (mode!=LOCAL)
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4607 mode = SNAMEMODE;
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4608 while(sym!=RC) {
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4609 type = search_struct_type(..&offset1);
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4610 decl_data(car(t1),n,offset1);
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4611 }
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4612 if (mode== SNAMEMODE)
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4613 emit_sname_assign(stlist); // global?
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4614 offset += sizeof(struct);
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4615 stlist = sstlist;
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4616 mode=smode;
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4617 } else {
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4618 while(t1)
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4619 offset = decl_data(car(t1),n,offset); /* alignment? */
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4620 ....
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4621 }
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4622 �ߤ����ʴ���? nest �������ϡ�emit_sname_assign �Ǥ� decl_data
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4623 ��Ƥ�ǡ����٥��塼������뤷���ʤ�����
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4624
285
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4625 Mon May 31 19:08:57 JST 2004
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4626
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4627 register_assop �ϡ�����������ɡ�register_assop_const ��
912b54949344 register assop const ( int/long )
kono
parents: 284
diff changeset
4628 �����ɤ��ɤ��ʤ��͡�
286
179e22f166ef register assop fix
kono
parents: 285
diff changeset
4629
179e22f166ef register assop fix
kono
parents: 285
diff changeset
4630 Wed Jun 2 13:12:35 JST 2004
179e22f166ef register assop fix
kono
parents: 285
diff changeset
4631
179e22f166ef register assop fix
kono
parents: 285
diff changeset
4632 rexpr �� value option ���դ��ơ�
179e22f166ef register assop fix
kono
parents: 285
diff changeset
4633 code_bool
179e22f166ef register assop fix
kono
parents: 285
diff changeset
4634 �Ǥϡ�rexpr,drexp ��Ƥ�����������������... && || �Ȥ��ɤ�����
179e22f166ef register assop fix
kono
parents: 285
diff changeset
4635 ���ʡ�
287
a0779a414855 *** empty log message ***
kono
parents: 286
diff changeset
4636
a0779a414855 *** empty log message ***
kono
parents: 286
diff changeset
4637 ���������ʤ��Ѥ��������ߥ����ĤäƤ���͡�
289
55e611476cba *** empty log message ***
kono
parents: 287
diff changeset
4638
55e611476cba *** empty log message ***
kono
parents: 287
diff changeset
4639 Thu Jun 3 13:16:33 JST 2004
55e611476cba *** empty log message ***
kono
parents: 287
diff changeset
4640
55e611476cba *** empty log message ***
kono
parents: 287
diff changeset
4641 code_bool �ϤǤ���������ɡ��ޤ���������­����͡�
55e611476cba *** empty log message ***
kono
parents: 287
diff changeset
4642
55e611476cba *** empty log message ***
kono
parents: 287
diff changeset
4643 code_bool �� !use �λ��ˡ�null branch���Ĥä��㤦����...
55e611476cba *** empty log message ***
kono
parents: 287
diff changeset
4644 �ޡ��������ʤ�����
292
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4645
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4646 Fri Jun 4 12:57:28 JST 2004
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4647
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4648 switch ʸ���������ɡ�
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4649
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4650 main() {
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4651 int i=3,j=1,k=0;
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4652 switch(i)
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4653 for(;j<10;j++) {
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4654 case 3: k++; case 2: k++; case 1: k++; case 0: k++;
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4655 }
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4656 printf("%d\n",k);
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4657 }
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4658
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4659 �ʤ�����ɡ�j<10 �ʤɤ�ɾ����������jmp����ɬ�פ�����Τǡ���
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4660 ���caseʸ��jump���ʤ��Ȥ����ʤ�����jump ����ɬ�פ����뤫��
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4661 �����ϡ�switch �μ���ʸ��ºݤ�ɾ�����Ƥߤʤ��Ȥ狼��ʤ���
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4662
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4663 �ʤΤǡ� checkret() �ǡ����ν�����Ԥ������ɤ���
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4664 if (first_case) {
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4665 jmp(first_case); first_case =0;
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4666 }
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4667 ���ʡ��⤷�����줬�Ԥ���ʤ顢�������table jump routine �Ǥ���٤���
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4668
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4669 switch ��ޤȤ��ΤϤ�ä����ɡ������Υ����ɤ���table
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4670 �ϡ��ۤȤ�ɤǤʤ��͡�2ʬ�ڤϽФ뤱�ɡ�ID��Ϣ³����褦��
6d4231b6f9fe switch statement prepare
kono
parents: 289
diff changeset
4671 ���פ������������Τ��ʡ�
295
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4672
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4673 chunk �� merge ��algorithm ������.... O(N^2) ����͡�
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4674
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4675 c0, c1, c2, ... cn
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4676
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4677 �ǡ�(�ʤ󤫸������Ȥ���...)
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4678
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4679 c0, c1, c2, ... cn
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4680 +------------------+ rate
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4681 +---------------+ rate
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4682 +----------+ rate
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4683 +----+ rate
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4684 +-------------+ rate
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4685 +----------+ rate
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4686 +-----+ rate
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4687 ...
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4688
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4689 �Ȥ����Τ��롣((n-1)*(n-2)/2) �����ǡ����֡�rate �ι⤤��Τ�
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4690 ���Τ����������Ȥϸ¤�ʤ�.... rate ����ʤ��ơ�cover Ψ��
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4691 �⤤��Τ������ɤ����õ�ˡ���ɤ��ơ��ޤ���
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4692
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4693 RATE �ʲ��Τ�Τ�õ�� (�������ʤ�)
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4694 �����ơ�cover Ψ�ι⤤��Τ�Ȥäơ����٤Ƥ���Ԥ���
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4695
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4696 +------------+ rate 75%
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4697 +-------++------+ rate 80%
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4698
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4699 �ߤ����ʤΤ�ɤ����뤫������... �ơ��֥뤬���ʤ�����ͥ��?
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4700 �ơ��֥뤬��Ĥ��ɤ��Ȥϸ¤�ʤ���
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4701
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4702 count ��¿���Τ� delta ���ۤʤ�Ȱ���Ū�ˤϤ��ᡣ
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4703
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4704 +-------++---------+ rate 80%
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4705 <------> �ߤ����ʷ��Ǽ��礦���⤢�롣
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4706
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4707 ���ξ��� cover rate ���Ѥ��ʤ��Τǡ�table rate �Ƿ׻�����?
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4708
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4709 �����ȡ������������Ƥζ�֤��ȹ礻���������櫓�ǤϤʤ���
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4710
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4711 c0, c1, c2, ... cn
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4712 +----+ rate ���줬 fix ����ȡ�
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4713 +---------+ rate
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4714 +-------------+ rate
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4715 +-----+ rate
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4716 ... �ʤɤ���������ʤ���
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4717
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4718 �������׻����Ƥ�������׻����Ƥ⤪��ʤ��Ϥ���
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4719 �����������ͤ�¿�����η׻��̤��ʤ���
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4720
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4721 �ޤ�����äѤꡢ
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4722
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4723 for i (0..n) {
297
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4724 c_i �� c_n �˸����äƲ�ǽ�ʸ¤���礹��
295
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4725 �Ǥ��ʤ��ä��顢���������
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4726 }
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4727
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4728 �Ǥ���?
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4729
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4730 �ޤ������������Ǥ���������ɡ��٤����Х����ĤäƤ��������͡�
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4731
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4732 < # chunks 1 = sum 1/123 sum = 1
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4733 ---
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4734 > # chunks 1 = sum 1/2 sum = 1
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4735
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4736 �ʤ�ƤΤ⤢�뤷��
2437a94a1538 merge chunks in case value
kono
parents: 292
diff changeset
4737
296
284aa4eaab0d case merge for cascade, table.
kono
parents: 295
diff changeset
4738 merge ���礭���������äƤ��褦�ˤ�����ä����ɡ�������
284aa4eaab0d case merge for cascade, table.
kono
parents: 295
diff changeset
4739 ��̤��ɤ��ʤ��ߤ������ʹ֤ϡ�case 1: case 2: ... �Ȥ����褦��
284aa4eaab0d case merge for cascade, table.
kono
parents: 295
diff changeset
4740 �񤯤���͡�����ʤ��񤷤��ʤ��Ϥ�������ľ���Τ����ݡ�
284aa4eaab0d case merge for cascade, table.
kono
parents: 295
diff changeset
4741
297
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4742 Sun Jun 6 02:41:27 JST 2004
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4743
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4744 ���ϥХ��ʥꥵ�����ǡ��ơ��֥���������륳���ɤ�񤱤��ɤ���
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4745 ��������2ʬˡ���Ȥ��줤�ʥ֥����ѥ�����ˤʤ�ʤ���8ʬˡ��
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4746 �餤�ǽ񤯤Τ������󤸤�ʤ����ʡ�
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4747
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4748 case_group_1:
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4749 if (c==case_2) goto case_2 ( or nested case_group )
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4750 if (c==case_3) goto case_3
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4751 ....
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4752 if (c==case_8) goto case_8
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4753 goto default
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4754 case_group_2:
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4755 if (c==case_10) goto case_10
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4756 ...
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4757 goto default
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4758 cslabel:
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4759 if (c==case_1) goto case_1 (*)
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4760 else (c<case_1) goto default
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4761 if (c==case_9) goto case_9 (*)
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4762 else (c<case_9) goto case_group_1 (or table lookup )
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4763 if (c==case_17) goto case_17 (*)
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4764 else (c<case_17) goto case_group_2
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4765 ...
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4766 else goto default;
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4767
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4768 ����... (*) �ϡ����ץ���󡣤ʤ������ɤ�CPU�⤢���������MIPS�Ȥ���
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4769
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4770 �ե�åȤ������ɤ����⤢��Ϥ���(��¬����?)
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4771
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4772 Sun Jun 6 09:39:13 JST 2004
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4773
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4774 �ǡ�nested branch �ϡ��ɤ�����������ɤ���? recursive ��
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4775 �񤯤�����? bottom up �˽񤭤����Ȥ��������ɡ�
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4776
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4777 #define CASE_INDEX_COUNT 8
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4778 switch_index(int chunk,int *cslist) {
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4779 if (case count > CASE_INDEX_COUNT) {
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4780 chunk1 = gather_chunk()
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4781 chunk1 = switch_index(chunk,&cslist);
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4782
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4783 while(chunks) {
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4784 chunk = switch_index(chunk,&cslist);
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4785
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4786 ���餤? (chunk �Ǥ���?!) ... ��... ���ä��顢merge_chunk
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4787 �ǤǤ���󤸤�ʤ���? �Ǥ�����������ɡ�����ä�ʣ�������뤫��
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4788
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4789 table ������ʤ顢ɬ�� index ��ɬ�ס�
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4790
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4791 index ��table�ˤʤ뤳�Ȥä�... �����ˤϤ��뤫���Τ�ʤ�����
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4792 ̵���ˤ���ФǤ��ʤ����ȤϤʤ�����������...
0f79c95df73a switch index no compile error
kono
parents: 296
diff changeset
4793
298
4ccacae1d2e6 switch index level=1 odd situation.
kono
parents: 297
diff changeset
4794 Sun Jun 6 23:07:16 JST 2004
4ccacae1d2e6 switch index level=1 odd situation.
kono
parents: 297
diff changeset
4795
4ccacae1d2e6 switch index level=1 odd situation.
kono
parents: 297
diff changeset
4796 level 1 table ��������������������ʤ���
302
bea7ab2fb218 switch table jump finished.
kono
parents: 298
diff changeset
4797
bea7ab2fb218 switch table jump finished.
kono
parents: 298
diff changeset
4798 ���Υ��르�ꥺ����ȡ�10����Ϣ³���Ƥ���ơ��֥��
bea7ab2fb218 switch table jump finished.
kono
parents: 298
diff changeset
4799 ������anomaly������äƻ��˺���͡��ơ��֥뤬ʬ�򤵤���㤦��
bea7ab2fb218 switch table jump finished.
kono
parents: 298
diff changeset
4800 �ޡ�����ʥ����ɤʤ��Ȼפ����ɡ�
bea7ab2fb218 switch table jump finished.
kono
parents: 298
diff changeset
4801
bea7ab2fb218 switch table jump finished.
kono
parents: 298
diff changeset
4802 cmpdimm ��ľ���Τ�˺��Ƥޤ�����
bea7ab2fb218 switch table jump finished.
kono
parents: 298
diff changeset
4803
bea7ab2fb218 switch table jump finished.
kono
parents: 298
diff changeset
4804 ���ȡ�delta!=1 ���ȡ��任�����Ȥ���;�꤬0�Ǥ��뤳�Ȥ��ǧ���ʤ���
bea7ab2fb218 switch table jump finished.
kono
parents: 298
diff changeset
4805 �����ʤ���gcc �Ǥϡ�delta!=1 ��ɽ�ϽФ��ʤ��ߤ������͡�
bea7ab2fb218 switch table jump finished.
kono
parents: 298
diff changeset
4806
303
88e20739e64c register variable initialization fix
kono
parents: 302
diff changeset
4807 ���ȡ��Ԥ��褬Ʊ��case�ϡ�range check �ˤ���Ȥ�...
88e20739e64c register variable initialization fix
kono
parents: 302
diff changeset
4808 (�ޤ��ͤ�����)
88e20739e64c register variable initialization fix
kono
parents: 302
diff changeset
4809
88e20739e64c register variable initialization fix
kono
parents: 302
diff changeset
4810 �ޡ�����ϤǤ��ޤ�����
88e20739e64c register variable initialization fix
kono
parents: 302
diff changeset
4811
302
bea7ab2fb218 switch table jump finished.
kono
parents: 298
diff changeset
4812 kernel �Ȥ� gcc �Ȥ� compile �Ǥ�����ɤ����ɤͤ���
303
88e20739e64c register variable initialization fix
kono
parents: 302
diff changeset
4813
88e20739e64c register variable initialization fix
kono
parents: 302
diff changeset
4814 Mon Jun 7 18:24:27 JST 2004
88e20739e64c register variable initialization fix
kono
parents: 302
diff changeset
4815
88e20739e64c register variable initialization fix
kono
parents: 302
diff changeset
4816 ���ơ����ϡ���¤�Τν��������c2cbc ����mc-tree ��ʬΥ����
88e20739e64c register variable initialization fix
kono
parents: 302
diff changeset
4817
88e20739e64c register variable initialization fix
kono
parents: 302
diff changeset
4818 �ɽ��ѿ��ν�������쥸�����ѿ��Ǥ���˴ؤ�餺�����å���
88e20739e64c register variable initialization fix
kono
parents: 302
diff changeset
4819 ��������Ƥ���ʡ�
304
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4820
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4821 gcc -E -c -DCONFIG_TASK_SIZE=4096 -DCONFIG_KERNEL_START=1 -D__KERNEL__=1 tcp_ipv4.c -I../../include > ~/src/device/test/struct_init.c
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4822
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4823 kernel source �ϡ��ޤ����ᤤ�󤸤�ʤ�? asm �Ȥ����뤷��
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4824 �Ǥ⡢asm ���񤷤����ǤϤʤ����ɤ͡�
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4825
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4826 stdarg �ϴ�ñ�ʤ�����ɡ�������Ѥ� C source ����äƤ�������
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4827 �ɤ��͡�macro �����Ǥʤ� typedef �⤷������͡�
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4828
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4829 "test" "test" �ϡ�macro ��ǤϻȤ��ʤ����äƤ������Ȥ�ɬ�פʤ�?
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4830 �ɤ��������ȤDz�ᤵ��뤫�顣
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4831
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4832 hoge##name �ߤ����ʤΤΰ���������... hogefuga ���Ѵ����줿���ȡ�
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4833 �ޤ���Ÿ������ɬ�פ���������͡�
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4834
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4835 ������������ϡ�chptr ����������� macro processing ����ʤ���
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4836 macro �ϡ�getline �ǹԤ��뤫�顣������
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4837
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4838 ������line continuation �� macro �δط��ϱ��������ʡ�
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4839 getch �� null ���֤��Τ�ǧ�����ɤ�������ɡ�¾�ΤȤ�����
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4840 �ƶ����礭����
9df8aa0497ea fix line continuation and #macro in string.
kono
parents: 303
diff changeset
4841
305
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4842 ## l = va_arg(ap,long long);
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4843 ## (*((longlong *)ap)++)
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4844
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4845 ������macro �ط�����space �����Ƥ����ï������?
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4846
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4847 ������������register ��ΰ����ϡ�varargs �ξ��ϡ�
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4848 ���٤ƥ��������ʤ��Ȥ����ʤ��櫓�͡����㤡��
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4849 ��ư���������������Ϥɤ���ä�Ƚ�Ǥ����?
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4850
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4851 Wed Jun 9 10:14:35 JST 2004
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4852
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4853 �������ʤ��ȡ��ʤ󤫡��ؿ��ΰ����η��Υ����å��򤷤Ƥʤ�
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4854 �ߤ�����
117baacd1ed0 stdarg powerpc passed except long long (macro problem)
kono
parents: 304
diff changeset
4855
307
fda28752d301 stdarg (varargs done... PowerPC, IA32 checked)
kono
parents: 305
diff changeset
4856 stdarg �Ǥ��ޤ�����struct size �Υ��顼�Ϥʤ�?
fda28752d301 stdarg (varargs done... PowerPC, IA32 checked)
kono
parents: 305
diff changeset
4857
fda28752d301 stdarg (varargs done... PowerPC, IA32 checked)
kono
parents: 305
diff changeset
4858 �����ȡ�
fda28752d301 stdarg (varargs done... PowerPC, IA32 checked)
kono
parents: 305
diff changeset
4859 alloca
fda28752d301 stdarg (varargs done... PowerPC, IA32 checked)
kono
parents: 305
diff changeset
4860 asm
fda28752d301 stdarg (varargs done... PowerPC, IA32 checked)
kono
parents: 305
diff changeset
4861 struct partial field init
fda28752d301 stdarg (varargs done... PowerPC, IA32 checked)
kono
parents: 305
diff changeset
4862 hoge##name
fda28752d301 stdarg (varargs done... PowerPC, IA32 checked)
kono
parents: 305
diff changeset
4863 ���ʤ��͡��Ȥ��������������? (��ĥ���)
309
a86612cf1a19 struct partial initialization (local struct copy)
kono
parents: 307
diff changeset
4864
a86612cf1a19 struct partial initialization (local struct copy)
kono
parents: 307
diff changeset
4865 Thu Jun 10 17:57:35 JST 2004
a86612cf1a19 struct partial initialization (local struct copy)
kono
parents: 307
diff changeset
4866
a86612cf1a19 struct partial initialization (local struct copy)
kono
parents: 307
diff changeset
4867 struct partial field init �ϡ��Ǥ���������ɡ��ɽ��ѿ��ξ��
a86612cf1a19 struct partial initialization (local struct copy)
kono
parents: 307
diff changeset
4868 �ϡ��������ʬ��0�ˤ��Ƥ���ߤ����͡��Ĥޤꡢstatic �ˤȤäơ�
a86612cf1a19 struct partial initialization (local struct copy)
kono
parents: 307
diff changeset
4869 ���ԡ����Ƥ���ߤ����͡������ɸ��Ū�ʥ��ޥ�ƥ������ʤΤ���?
310
5ae5857ded2c struct partial init done.
kono
parents: 309
diff changeset
4870
5ae5857ded2c struct partial init done.
kono
parents: 309
diff changeset
4871 ��äѤꡢ��ʣ����������ϵ�����ʤ��Τ����̤ʤΤ���
5ae5857ded2c struct partial init done.
kono
parents: 309
diff changeset
4872
5ae5857ded2c struct partial init done.
kono
parents: 309
diff changeset
4873 skipspc()=='.' ���ȥ����Ȥ������åפ���ʤ����ա��ࡣ
311
38c9976863b7 swtich list fix. macro fix.
kono
parents: 310
diff changeset
4874 �⤦�����衣skip flag �ǡ�
38c9976863b7 swtich list fix. macro fix.
kono
parents: 310
diff changeset
4875
38c9976863b7 swtich list fix. macro fix.
kono
parents: 310
diff changeset
4876 �ʤ�� macro_expansion ��
38c9976863b7 swtich list fix. macro fix.
kono
parents: 310
diff changeset
4877 c = 1;
38c9976863b7 swtich list fix. macro fix.
kono
parents: 310
diff changeset
4878 macrop = list2((int)macropp,macrop);
38c9976863b7 swtich list fix. macro fix.
kono
parents: 310
diff changeset
4879 while(c && (*macropp++ = c = *body++)) {
38c9976863b7 swtich list fix. macro fix.
kono
parents: 310
diff changeset
4880 �ʤ���Ѥʥ롼�פʤ��?
38c9976863b7 swtich list fix. macro fix.
kono
parents: 310
diff changeset
4881
38c9976863b7 swtich list fix. macro fix.
kono
parents: 310
diff changeset
4882 Sat Jun 12 10:42:15 JST 2004
38c9976863b7 swtich list fix. macro fix.
kono
parents: 310
diff changeset
4883
38c9976863b7 swtich list fix. macro fix.
kono
parents: 310
diff changeset
4884 ��������inline �Τ���� constant switch �Ȥ�����ȡ�����Ū
38c9976863b7 swtich list fix. macro fix.
kono
parents: 310
diff changeset
4885 �� statement ��skip ����äƤΤ�񤫤ʤ��Ȥ����ʤ��櫓�͡�chk
38c9976863b7 swtich list fix. macro fix.
kono
parents: 310
diff changeset
4886 ��Ȥ����ɤ�����������ɡ�����ۤɡ��񤷤��Ϥʤ�����....
312
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4887
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4888 alloca �� r1 �� $sp ��ư�����Ƥ�����������
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4889
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4890 �Ĥ�ϡ�
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4891 alloca
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4892 inline
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4893 asm
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4894 �ȸ������Ȥˤʤ�ޤ�����... MIPS ��stdarg��ư���Ƥʤ�����...
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4895 ����� include file ��������Τʡ�
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4896
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4897 typeof ������
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4898 typeof (hoge) i;
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4899 sizeof(typeof(hoge));
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4900 ((typeof (hoge)) fuga)
a93e619cf772 typeof, MIPS stdarg
kono
parents: 311
diff changeset
4901 �ߤ����ʴ�����
313
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4902
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4903 �ʤ� g() �ǡ�register_save ���Ф���äƤ�͡�
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4904
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4905 Sun Jun 13 12:20:39 JST 2004
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4906
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4907 ia32 �� alloca �ϡ��ؿ��ΰ����˸ƤӽФ����ΤϤޤ��������ȡ�
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4908 stack ������⡢�ޤ��������㤡���ɤ������?
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4909 a = alloca(3)+3;
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4910 f(i,alloca(3),j);
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4911 �ߤ����ʤΤǤ���þ�����㤦�Τ͡�
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4912
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4913 powerpc �Ǥ�빽���������ʡ��ؿ��ƤӽФ����ΰ����ϡ�
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4914 r1 ���ФǤĤޤʤ��Ȥ��ᡣ��������͡��Ȥ�������
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4915 �ǽ餫�� r1 ���Ф��Ѥ�衣
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4916
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4917 lwz r2,0(r1)
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4918 neg r0,r0
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4919 stwux r2,r1,r0
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4920 addi r2,r1,208
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4921 addi r0,r2,15
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4922 srwi r0,r0,4
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4923 slwi r0,r0,4
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4924 stw r0,208(r30) <=== �ǽ��local �ѿ��Υ��ɥ쥹��
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4925 b L26
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4926 L25:
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4927 li r0,0
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4928 stw r0,208(r30)
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4929 L26:
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4930
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4931 �äƤ櫓����
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4932
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4933 ������
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4934 int i;
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4935 goto f(alloca(100),&i);
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4936 �ʤΤäƤ����͡����Ȥ���С�local �ѿ��ϤĤ֤��ʤ�����
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4937 �����Τ�������������ñ����������������Ф� local �ѿ���
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4938 goto �ΰ����ϽŤʤ�ʤ����� parallel assignment ��ɬ��
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4939 �ʤ������ʤ�ǡ��ǽ餫�餽�����ʤ��ä��������?
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4940
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4941 ����������������ˤϤɤ�ľ�����ɤ��������? max-func-arg?
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4942
315
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4943 �ޤ������礨����alloca �� goto ��ξΩ���ʤ��äƤ��Ȥ�
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4944 �����󤸤�ʤ�? ���ʡ�subroutine �Ϥ�����ɤ����������͡�
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4945
313
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4946 Mon Jun 14 20:48:13 JST 2004
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4947
f73b93de216a alloca done for ia32, powerpc, mips
kono
parents: 312
diff changeset
4948 PowerPC �� alloca ��ư��������...
315
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4949
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4950 Tue Jun 15 10:47:53 JST 2004
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4951
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4952 ��ä� inline ������ asm macro �����? asm macro �� constraints ��
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4953 ���ꤹ��Ф���ʤ��񤷤��ʤ��Ȼפ����ɡ�
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4954
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4955 inline �ϡ������� CSE �Ȥ� flow ���ϤȤ����ʤ��Ȥ����ʤ�������ɤ͡�
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4956
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4957 ������inline ����Τ��ɤ����� CbC �Ȥ������ˤ���ʡ�
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4958
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4959 �Ȥ����櫓�ǡ�asm ��������������󤸤�ʤ�?
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4960
84df3dd8cc3d minor fix
kono
parents: 313
diff changeset
4961 ia32 ��switch ʸ�����������ʤäƤ뤾��
316
22d92986c7f7 asm, valued statement, local decls continue...
kono
parents: 315
diff changeset
4962
22d92986c7f7 asm, valued statement, local decls continue...
kono
parents: 315
diff changeset
4963 Wed Jun 16 13:05:40 JST 2004
22d92986c7f7 asm, valued statement, local decls continue...
kono
parents: 315
diff changeset
4964
22d92986c7f7 asm, valued statement, local decls continue...
kono
parents: 315
diff changeset
4965 asm �ϡ�({....; val;}) ����˼������ʤ��Ȥ��ᡣ���ȡ�
22d92986c7f7 asm, valued statement, local decls continue...
kono
parents: 315
diff changeset
4966 local_decls �Ǥ� redefined �����ɡ��ʤ󤫤�����ˡ�����?
22d92986c7f7 asm, valued statement, local decls continue...
kono
parents: 315
diff changeset
4967 ̵��äƤ⤤���������...
22d92986c7f7 asm, valued statement, local decls continue...
kono
parents: 315
diff changeset
4968
22d92986c7f7 asm, valued statement, local decls continue...
kono
parents: 315
diff changeset
4969 association list ��Ȥäơ�unwind ������ɤ�������ɤ͡�
317
3dfac70ef7e1 asm statement, valued statement syntactically passed.
kono
parents: 316
diff changeset
4970 ����ϡ�����Ū�˼�ľ�����������ɤ�����󤷡�
318
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4971
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4972 cheap �ΰ����� boundary �򸫤Ƥʤ��Τ����Ĥ�����͡�
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4973
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4974 Thu Jun 17 17:10:21 JST 2004
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4975
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4976 �����ȡ�
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4977 "m" �Ȥ��ϡ�������ѹ��ʤΤǸ��ʤ��Ƥ������
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4978 "r" �ϥ쥸�����������Ƥ�
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4979 "=" �Ͻ��ϤΥޡ����ʤΤ�̵�뤷���ɤ�
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4980 "+", "&" �Ͻ��ϤΥޡ����ʤΤ�̵�뤷���ɤ�
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4981 �ǡ�
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4982 "0" 0���ܤ�operand
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4983 �Ȥ��ʤ������... �����Ĥ� input (��˥���ѥ��뤹����)
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4984 �˸���롣�����顢output operand ����˽������롣out
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4985 put operand ��ñ�������ʸ�����顢�����Ok��
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4986
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4987 Fri Jun 18 13:33:19 JST 2004
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4988
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4989 �ʤ󤫡�%0,%1 �Ȥ��äơ�Ʊ���쥸�����˳�꿶���뤳�Ȥ�
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4990 ����ߤ����͡�����ˡ�Ϣ³���ƤǤ����Ȥ�¤�ʤ��ߤ�����
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4991
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4992 �äƤ��Ȥ�?
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4993
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4994 �ʤ󤫡��ְ㤨����%0...%8 �ϡ��ѥ�᥿���ν����
9fe0b32a7d57 asm continue...
kono
parents: 317
diff changeset
4995 �����Ƥ���Τ͡���������ʡ�
321
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
4996
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
4997 Sat Jun 19 00:17:33 JST 2004
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
4998
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
4999 asm �Ͻ���ޤ������ޤ���ia32�Ȥ�MIPS�Ȥ��ϡ��ȼ������꤬
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5000 �������������ɡ�
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5001
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5002 Sat Jun 19 06:40:30 JST 2004
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5003
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5004 label ��function local�ˤʤäƤʤ��ߤ�����
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5005
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5006 builtin_expect ������
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5007
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
5008 bit field ���������븫������
321
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5009
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5010 ��ɡ��������������ʤ��Ȥ��ᤫ��
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5011 q = (struct spin_lock) { };
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5012
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5013 �Ȥ���
80beb03e5b73 ULL,ull, 0x0ull etc.
kono
parents: 318
diff changeset
5014
322
46ac55e8b14c struct init by cast
kono
parents: 321
diff changeset
5015 typedef struct __wait_queue wait_queue_t;
46ac55e8b14c struct init by cast
kono
parents: 321
diff changeset
5016
46ac55e8b14c struct init by cast
kono
parents: 321
diff changeset
5017 struct __wait_queue {
46ac55e8b14c struct init by cast
kono
parents: 321
diff changeset
5018 unsigned int flags;
46ac55e8b14c struct init by cast
kono
parents: 321
diff changeset
5019 ...
46ac55e8b14c struct init by cast
kono
parents: 321
diff changeset
5020 };
46ac55e8b14c struct init by cast
kono
parents: 321
diff changeset
5021
46ac55e8b14c struct init by cast
kono
parents: 321
diff changeset
5022 �äƸ��������� typedef �� struct �����������󥱥󤵤�Ƥ��ޤ���
46ac55e8b14c struct init by cast
kono
parents: 321
diff changeset
5023 ����� struct def �ϡ�typedef ���줿��̾���Τ�褦���ʤ�������
324
575481408653 minor fix
kono
parents: 322
diff changeset
5024 0 �ʤ顢type �� nptr �����äƤ���Τǡ������filed list��õ�����ɤ���
575481408653 minor fix
kono
parents: 322
diff changeset
5025
575481408653 minor fix
kono
parents: 322
diff changeset
5026 ��ä�bit filed���ʤ��Ȥ��ᤫ���ɤ�����Τ��ʡ�type �γ�ĥ?
575481408653 minor fix
kono
parents: 322
diff changeset
5027
575481408653 minor fix
kono
parents: 322
diff changeset
5028 bit field �����������ʤ����
575481408653 minor fix
kono
parents: 322
diff changeset
5029
575481408653 minor fix
kono
parents: 322
diff changeset
5030 �ޤ�����¤�Τ�������Ʊ���褦�ʷ��ˤ�����ɤ��櫓�����ɡ�
325
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
5031
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
5032 bit field �ν�����äƤΤ⤢��Τ���(������)
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
5033
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
5034 �����󡢤�äѡ��̤Ƥʤ��ʡ�
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
5035 ASSOP, PREINC, POSTINC....
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
5036 �ޤ���
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
5037 BASSOP, BPREINC, BPOSTINC....
b51b87ddf60c *** empty log message ***
kono
parents: 324
diff changeset
5038 �Ǥ⤤��������ɡ�
326
e5d40f8c4cce bit-field continue.
kono
parents: 325
diff changeset
5039
e5d40f8c4cce bit-field continue.
kono
parents: 325
diff changeset
5040 Sun Jun 20 20:21:38 JST 2004
e5d40f8c4cce bit-field continue.
kono
parents: 325
diff changeset
5041
e5d40f8c4cce bit-field continue.
kono
parents: 325
diff changeset
5042 �ɤ��⡢mc-parse �ˡ�mc-codegen ������������ʬ�����ʤ��������Ǥ���
e5d40f8c4cce bit-field continue.
kono
parents: 325
diff changeset
5043 �ߤ������͡������ܤ��ΤϤ��ɤ�������... binop �Ȥ�����Ȥ��
e5d40f8c4cce bit-field continue.
kono
parents: 325
diff changeset
5044 mc-codegen �ˤ���٤���ΤʤΤ���
e5d40f8c4cce bit-field continue.
kono
parents: 325
diff changeset
5045
e5d40f8c4cce bit-field continue.
kono
parents: 325
diff changeset
5046 �Ǥ⡢����򤷤ʤ��ȡ���ʸ���б�������ʸ�ڤ���ʤ��櫓����
e5d40f8c4cce bit-field continue.
kono
parents: 325
diff changeset
5047 inline �ǡ���ʸ�ڤ��ɾ��������⤢�뤫��ʤ�����ɾ������
e5d40f8c4cce bit-field continue.
kono
parents: 325
diff changeset
5048 ���ˡ���ʸ�ڥ�٥���ѹ�����٤��ʤΤ���������������٥��
e5d40f8c4cce bit-field continue.
kono
parents: 325
diff changeset
5049 �ڤǤ��٤��ʤΤ����Ȥ�������⤢��櫓����
e5d40f8c4cce bit-field continue.
kono
parents: 325
diff changeset
5050
e5d40f8c4cce bit-field continue.
kono
parents: 325
diff changeset
5051 macro ��ʬ�䤷�������ɤ��͡�
327
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5052
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5053 Mon Jun 21 00:29:12 JST 2004
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5054
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5055 mc-tree �ϡ��⤦�����٤졣�ڤ�Υ���������ɤ���
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5056 conv �⡢����ʤ󤸤�ʤ�?
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5057
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5058 �ʤ󤫡���ʬ���Ѥ�����ä��ʡ�ư�����Τ����Ѥ�����
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5059
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5060 �Ǥ������ static �ˤ���������...
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5061 mc-codegen ����������Ȥ���� mc-parse.c ��extern
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5062 �äƤΤ� C �Ǥ�ɽ���Ǥ��ʤ�����ö��extern ����ȻȤ��Ƥʤ��Ƥ�
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5063 ���ˤ����ʤ��ʤ뤫�顣
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5064
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5065 mc-codegen �λȤäƤ����ѿ��Τ������ɤ줬static�ʤ�������ФǤ��ʤ���
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5066
da2e3f2d127d macro/codegen reorganization
kono
parents: 326
diff changeset
5067 emit_data_closing �ξ�꤬�ѡ�
328
7ecb023d29b8 macro/codegen reorganization done.
kono
parents: 327
diff changeset
5068
7ecb023d29b8 macro/codegen reorganization done.
kono
parents: 327
diff changeset
5069 Tue Jun 22 01:05:09 JST 2004
7ecb023d29b8 macro/codegen reorganization done.
kono
parents: 327
diff changeset
5070
7ecb023d29b8 macro/codegen reorganization done.
kono
parents: 327
diff changeset
5071 �褦��äȥꥫ�Х�Ǥ����衣
7ecb023d29b8 macro/codegen reorganization done.
kono
parents: 327
diff changeset
5072
329
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5073 local scope { int hoge; ... { int hoge;... }} for(int i=0; hoge...)
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5074 �ϡ���餶������ʤ��������͡�
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5075
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5076 Tue Jun 22 06:49:55 JST 2004
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5077
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5078 bit-field �� alignment �ϡ��������ƥ�����ˤ�ä�Ǥ�դä�
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5079 �������ʡ�
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5080
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5081 MIPS
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5082
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5083 01:ffffffffffffffff
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5084 02:fffffff0 0000001f 00000000 00000000 00000000 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5085 02:00000000 00000000 ffffffff 00000001 00000000 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5086 02:00000000 00000000 00000000 00000000 ffffffff 00000001 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5087 01:ffffffffffffffff
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5088 02:fffffff0 000fffff 00000000 00000000 00000000 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5089 02:00000000 00000000 ffffffff 0000ffff 00000000 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5090 02:00000000 00000000 00000000 00000000 ffffffff 0000ffff 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5091 1:ffffffffffffffff
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5092 2:fffffff0 0fffffff 00000000 00000000 00000000 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5093 2:00000000 00000000 ffffffff 00ffffff 00000000 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5094 2:00000000 00000000 00000000 00000000 ffffffff 00ffffff 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5095
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5096 PowerPC
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5097
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5098 01:ffffffffffffffff
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5099 02:0fffffff f8000000 00000000 00000000 00000000 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5100 02:00000000 07ffffff fc000000 00000000 00000000 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5101 02:00000000 00000000 03ffffff fe000000 00000000 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5102 01:ffffffffffffffff
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5103 02:0fffffff fffff000 00000000 00000000 00000000 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5104 02:00000000 00000000 ffffffff ffff0000 00000000 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5105 02:00000000 00000000 00000000 0000ffff ffffffff 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5106 1:ffffffffffffffff
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5107 2:0fffffff fffffff0 00000000 00000000 00000000 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5108 2:00000000 00000000 ffffffff ffffff00 00000000 00000000 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5109 2:00000000 00000000 00000000 00000000 ffffffff ffffff00 00000000 00000000
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5110
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5111 �����ϡ�mc-parse.c �ǤϷ����ʤ��Τ���
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5112
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5113 �ޤ���
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5114 boundary ��ޤ���ɤ߹��� (ɬ�����ꤵ�줿���Υ������˼��ޤ�)
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5115 ���ˡ�
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5116 �ɤ߹������ʬ�λ��ꤵ�줿bit���֤�����
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5117 �ޤ� 0 �ˤ��ơ��֤������� or ����(?)
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5118 �����ơ�
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5119 ���
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5120 �äƴ����Ǥ����͡�64bit �Ϥ��ɤ������ʡ�
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5121
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5122 �äƤ��Ȥϡ�
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5123 and mask ��Ĥ��äơ�or mask ��Ĥ��äơ�
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5124 �༡�¹�
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5125 �äƴ����Ǥ������Ϥ�����
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5126
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5127 BIT_FIELD ��size����ʤ��ȡ���������Ǥ��ʤ���
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5128
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5129 Wed Jun 23 14:06:10 JST 2004
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5130
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5131 (�����ϰ��ߤ���...)
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5132
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5133 emit_data �ϡ�mc-codegen �ˤ���٤�����͡�
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5134
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5135 bit_field ������ѿ��ν�������Ǥ��ʤ������ä��󡢤ɤä���
4c8f8ef8c0cf bit field continue...
kono
parents: 328
diff changeset
5136 ����ʤ��Ȥ��ᡣassign_data level?
331
f25aa4f03198 bit-field continue...
kono
parents: 329
diff changeset
5137
f25aa4f03198 bit-field continue...
kono
parents: 329
diff changeset
5138 �ʤ󤫡�assign_expr �� ���� type ������ѿ����񤭤��Ƥޤ�����
f25aa4f03198 bit-field continue...
kono
parents: 329
diff changeset
5139 ���줬�Ѥ��������Х��θ������ä��Τ���
335
4f98dc4b5fd8 bit-field continue... code-generation debug
kono
parents: 331
diff changeset
5140
4f98dc4b5fd8 bit-field continue... code-generation debug
kono
parents: 331
diff changeset
5141 Fri Jun 25 00:00:46 JST 2004
4f98dc4b5fd8 bit-field continue... code-generation debug
kono
parents: 331
diff changeset
5142
4f98dc4b5fd8 bit-field continue... code-generation debug
kono
parents: 331
diff changeset
5143 �ʤ󤫡�Union �Υƥ��ȥ����ɤ�񤤤Ƥʤ��������롣
336
d488b72254fb bit-field done.
kono
parents: 335
diff changeset
5144 Union �ϡ��ְ�äƤޤ�����
d488b72254fb bit-field done.
kono
parents: 335
diff changeset
5145
d488b72254fb bit-field done.
kono
parents: 335
diff changeset
5146 bit field �ϤǤ��ޤ�����
337
694cdf15c5bd MIPS bit-field done.
kono
parents: 336
diff changeset
5147
694cdf15c5bd MIPS bit-field done.
kono
parents: 336
diff changeset
5148 �ʤ� MIPS ��gcc�ϡ�bit field �˥Х�����ߤ������͡�
338
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5149
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5150 Fri Jun 25 11:30:30 JST 2004
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5151
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5152 3249,3252c3249,3251
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5153 < // n = get_register_var(0);
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5154 < g_expr_u(assign_expr0(n,list2(ADDRESS,cadr(e2)),INT,INT));
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5155 < e4 = rvalue_t(list2(INDIRECT,rvalue_t(n,INT)),type);
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5156 < g_expr(assign_expr0(list2(INDIRECT,rvalue_t(n,INT)),
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5157 ---
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5158 > g_expr_u(assign_expr0(n,list2(ADDRESS,e2),INT,INT));
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5159 > e4 = rvalue_t(list2(INDIRECT,n),type);
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5160 > g_expr(assign_expr0(list2(INDIRECT,n),
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5161 3255,3256c3254
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5162 < if (car(n)==LVAR) free_lvar(cadr(n));
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5163 < else if (car(n)==REGISTER) free_register(cadr(n));
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5164 ---
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5165 > free_lvar(cadr(n));
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5166
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5167 �ʤ�����ɡ�lassop ������Ǥ����ꤢ�ꤽ����
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5168
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5169 bassop ��ƤӽФ� BPOSTINC �ǡ�post �ν����򤵤ܤäƤޤ���
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5170
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5171 �äƤ�������bassop �ϴְ�äƤ��뤸���
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5172
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5173 bassign ���ä��顢�ɤ߽Ф���bit replace ���ɤ��������
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5174 op �򤫤������ä��顢bit_field �Ȥ����ɤ߽Ф��ơ�
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5175 ��ö�������ͤˤ��Ƥ���׻����ʤ��Ȥ��ᡣ
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5176
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5177 post �ν�����ʣ���ʤΤ����ѤΤ�񤤤������ɤ���
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5178
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5179 if (simple) {
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5180 tmp_var = bit_field
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5181 tmp_var op= operand
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5182 bit_field = new_var
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5183 } else {
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5184 address = lvalue;
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5185 tmp_var = address->bit_field
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5186 tmp_var op= operand
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5187 address->bit_field = new_var
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5188 }
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5189 if (post) tmp_var;
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5190
7fe7ce0a791f bit-field done for IA32, PowerPC, MIPS.
kono
parents: 337
diff changeset
5191 �Ǥ����͡�
339
375d21a2b845 emit_data
kono
parents: 338
diff changeset
5192
375d21a2b845 emit_data
kono
parents: 338
diff changeset
5193 Fri Jun 25 14:49:57 JST 2004
375d21a2b845 emit_data
kono
parents: 338
diff changeset
5194
375d21a2b845 emit_data
kono
parents: 338
diff changeset
5195 �⤦����ʣ�����ä����Ǥ⡢����ޤ�����codegen level ��
375d21a2b845 emit_data
kono
parents: 338
diff changeset
5196 ����Τ��ɤ���͡�
375d21a2b845 emit_data
kono
parents: 338
diff changeset
5197
375d21a2b845 emit_data
kono
parents: 338
diff changeset
5198 �ޤ���bit-field �⡢
375d21a2b845 emit_data
kono
parents: 338
diff changeset
5199
375d21a2b845 emit_data
kono
parents: 338
diff changeset
5200 constant assign �λ��κ�Ŭ�� (and/or mask �η׻�)
375d21a2b845 emit_data
kono
parents: 338
diff changeset
5201 1 bit �λ�������̿���Ȥ�?
375d21a2b845 emit_data
kono
parents: 338
diff changeset
5202 bit.r == 1 ��and 0x100 �˥���ѥ��뤹��
375d21a2b845 emit_data
kono
parents: 338
diff changeset
5203
375d21a2b845 emit_data
kono
parents: 338
diff changeset
5204 �Ȥ�����������뤳�ȤϤ��뤱�ɡ���̣�ʤ����...
343
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5205
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5206 Sat Jun 26 16:32:57 JST 2004
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5207
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5208 �ǡ�local �ѿ��ΰ���������....
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5209
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5210 ����ѿ����ɽ��ѿ�������̾���ե������̾����̾����٥�
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5211
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5212 �Ȥ���櫓����͡��ǡ��������פ�Ǥ�դˤ������櫓����
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5213
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5214 nptr �򡢶ɽ�->�ɽ�->��� ��link����褦�ˤ�����ɤ�
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5215
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5216 malloc ����褦�ˤ���? ����Ȥ�link����褦�ˤ��뤫��
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5217
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5218 ������hash �׻�̵���� lsearch ���Ƥ���Ȥ���������ʡ�
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5219 hash ���̴ؿ��ˤʤäƤʤ�����
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5220
11f8f2e6bb72 fix eof and multi-file, mc-parse else-if switch
kono
parents: 339
diff changeset
5221
344
b7f07df0c0f8 fix parallel assigment bug
kono
parents: 343
diff changeset
5222 Sun Jun 27 10:58:04 JST 2004
b7f07df0c0f8 fix parallel assigment bug
kono
parents: 343
diff changeset
5223
b7f07df0c0f8 fix parallel assigment bug
kono
parents: 343
diff changeset
5224 �礷���ѹ����Ƥʤ����ɡ�ia32 code ���Х��ä���
b7f07df0c0f8 fix parallel assigment bug
kono
parents: 343
diff changeset
5225
b7f07df0c0f8 fix parallel assigment bug
kono
parents: 343
diff changeset
5226 Sun Jun 27 14:52:59 JST 2004
b7f07df0c0f8 fix parallel assigment bug
kono
parents: 343
diff changeset
5227
b7f07df0c0f8 fix parallel assigment bug
kono
parents: 343
diff changeset
5228 is_memory �ΥХ��Ǥ�����
b7f07df0c0f8 fix parallel assigment bug
kono
parents: 343
diff changeset
5229
b7f07df0c0f8 fix parallel assigment bug
kono
parents: 343
diff changeset
5230 ���������С�double register pair ��parallel assignment�ä�
b7f07df0c0f8 fix parallel assigment bug
kono
parents: 343
diff changeset
5231 ��äƤ�?
345
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5232
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5233 �����󡢤�äѤꡢcodegen �� register pair ���Τ뤳�Ȥ�����
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5234 ��褦�ˡ�list2(LREGISTER,high,low) �ߤ����ʷ��ˤ�������͡�
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5235 �ʤ�ǡ�����ʤ���ä��ä�?
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5236 list2(DREGISTER,list2(REGISTER2,high,low))
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5237 list2(LREGISTER,list2(REGISTER2,high,low))
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5238 list2(FREGISTER,list2(REGISTER,high))
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5239 �Ȥ�?
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5240 list3(REGISTER,1,reg);
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5241 list3(DREGISTER,2,reg,reg);
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5242 list3(FREGISTER,1,reg);
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5243 ���ʡ�
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5244
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5245 ����������ɡ��ѹ�¿���ʤ�? �Ǥ⡢use_reg �Ȥ���ʣ������ͤ���ȡ�
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5246 �����������������󤸤�ʤ����ʤ���
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5247
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5248 �Ǥ⡢�ѹ�¿����͡������Ȥ��Ƥϡ�regs[] �� lregster ʬ���ʤ���
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5249 ���ळ�Ȥ��ʡ��Ǥ⡢�����˴�ñ�ˤʤ�Τ���?
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5250
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5251 code_*() �ǥ쥸������ȤäƤ�����ʬ��������ɬ�פ����뤫�顢
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5252 ���ʤ��礭���ѹ��ˤʤ�Τ����Ǥ⡢code_*() �˰����Ϥ��ѿ���
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5253 ��ʸ��������Ǥ�Ʊ���ˤʤ�ΤϽ��פ���͡�
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5254
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5255 ��ʸ�ڤǤΥ쥸�����ѿ��Υ�ˡ�������ݻ����ʤ��ȡ�
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5256 if(r!=reg)
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5257 printf("\tmr %s,%s\n",register_name(reg),register_name(r));
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5258 return;
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5259 �ߤ����ʤΤ�����͡��Ȥ������Ȥ� reverse poiner ������äƤ�
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5260 �Ȥ���
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5261
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5262 overlap �򸫤�Ȥ��ˡ���ʬ���Ȥ� overlap ���Ƥ��Ƥ�����ʤ���
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5263 ���������Ťʤ�ʤ��褦�˥��ԡ����ʤ��Ȥ��ᡣ�������ʤ��ȡ�
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5264 ����ʹ�¤�Τ���󥳥ԡ�����Ϥ�ˤʤ롣
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5265
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5266 |---||--------------|
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5267
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5268 |--------------||---|
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5269
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5270 |--------------| |---|
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5271
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5272 |--------------||---|
2b3946ee4fc9 *** empty log message ***
kono
parents: 344
diff changeset
5273
347
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5274 �ߤ����ʴ������͡�����ϡ��ޤ��������Ƥʤ������͡�
346
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5275
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5276 Sun Jun 27 21:06:28 JST 2004
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5277
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5278 ��äѤꡢname/namebuf ��Ϣ�Ͻ񤭴������Ǥ���?
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5279
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5280 �ޤ���get_name/get_string �ϡ�cheap ��˥��ԡ����롣
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5281 �ǡ�new_def �Ǥʤ��ä����ˤ� cheap �򸵤��᤹��
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5282 name, namebuf �ϡ��ʤ�����
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5283
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5284 string hash (oblist) -> hash table ->
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5285 nptr -> macro/reserve/local/global/typedef etc
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5286
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5287 �Ȥʤ롣local nptr �ϡ�local_scope list ����Ͽ����
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5288 scope ��ȴ����Ȥ��˾ä���
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5289
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5290 get_name/string ��t������Ͽ���Ƥ��ޤ���gserach/lsearch/msearch
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5291 �ϡ���Ͽ���줿hash �����linked list ���ɤ���gsearch �� linked
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5292 list �ˤ���ɬ�פ����롣nptr �ˤϡ�next ��Ĥ���?
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5293
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5294 ������ARM �ˤ� fpp �Ϥʤ��Τ͡����䡢GBA�ˤϤʤ����ɡ�
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5295 Zaurus �ˤϤ���äƤ����ѥ�����?!
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5296
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5297 �äƤ��Ȥ�... MIPS �� PowerPC ��­������dz�ä��褦�ʼ���
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5298 �򤷤ʤ��Ȥ����ʤ��Τ��������ࡣ
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5299
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5300 macrobuf �ϡ�cheap �Ƕ�ͭ�Ǥ���Ϥ�����������С�linebuf �ʳ���
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5301 ��Ĥˤʤ롣linebuf ����ˤǤ��뤫��? ����ϡ�̵���ʤ������...
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5302 cheap �ʤ�����ɡ�extendable �ˤ��뤿��ˤ�...
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5303
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5304 struct cheap {
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5305 char *cheap;
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5306 char *last;
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5307 struct cheap *next;
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5308 }
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5309
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5310 �Ȥ��ơ�����ؤΥݥ��󥿤�cheap�Ȥ����Ѥ�����ɤ���cheapp �Ȥ���
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5311 ����Τǡ���ä�������..
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5312
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5313 Mon Jun 28 20:18:03 JST 2004
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5314
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5315 ���Τ���������ä��㤦�ȡ�chptr �� cheap �򻲾Ȥ��������顢
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5316 ���ä��⡢ľ���ʤ��Ȥ��ᤸ���
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5317
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5318 ���䡢����Ϥʤ���mappend �ǡ�ɬ�� cheap chunk �˼��ޤ�Ϥ�
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5319 �����顣�빽��̵�̤��Ф��ǽ���⤢�뤱�ɡ��̤ˤ����󤸤�ʤ�?
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5320 �����Ÿ������ macro �κǸ�������� cheap ����ϤߤǤ�Ȥ���
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5321 ������ɤ��ʤ�? 2M �Ȥ���Ÿ�������櫓�Ǥ�ʤ�����?
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5322
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5323 mappend �� chunk boundary �ˤ������ copy �� append ��
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5324 �����Ƥ��ޤ����ɤ�����cheap rest ���Ƥ��顢chptr ��
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5325 ���ؤ��������餤��������ɤ���
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5326
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5327 Tue Jun 29 17:36:36 JST 2004
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5328
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5329 #define car(a) heap[a]
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5330 ������...
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5331 typedef struct tree {
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5332 int id;
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5333 int next;
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5334 } TREE;
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5335 �Ȥ��ơ�
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5336 #define as_tree(a) (TREE)(heap[a])
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5337 TREE t = tree(a);
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5338 if (t.id == HOGE) {....
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5339 �äƤ����褦�˥������������Ϥ����͡�
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5340 #define tree(a) ((TREE)(heap[a]))
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5341 if (tree(a).id == HOGE) {....
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5342 �Ǥ⤤������
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5343
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5344 conservative ���Ѥ������Τ���drastic ���Ѥ������Τ�
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5345 �ɤä����衣
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5346
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5347
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5348 name space �ϡ�tag, macro, ����¾? typename �ϽŤʤäƤ��ƤϤ����ʤ���
969089695850 name reconfigure.... continue...
kono
parents: 345
diff changeset
5349 field ���̤����ɡ�sc �Ƕ��̤���櫓������...
347
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5350
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5351 hash_search ���֤��Τ� name spcae assoc ����͡�
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5352
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5353 �����name ������ȡ� macro Ÿ�����줿 chptr ���񤭤����ǽ�������롣
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5354 cheap->ptr chptr
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5355 |--------|-name1-| |-name2-|pppppppp|
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5356 cheap->ptr chptr
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5357 |--------|xxxxxxx| |-name1-name2-|--|
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5358 ��ޤǥ��ԡ����Ƥ��Ф����������...
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5359 chptr
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5360 |--------|xxxxxxx| |-name1-name2-|pp| |pppppp|
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5361
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5362 �Ǥ⡢chptr �ϡ�boundary �ˤ����뤳�ȤϤʤ�������顢�����������Ȥ�
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5363 �����ʤ��󤸤�ʤ���? chptr �Ϥ�����ʤ��Ƥ⡢cheap->ptr �ϡ�������
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5364 ��ǽ�������뤫��
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5365
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5366 ����Υ��ԡ���������ơ�mappend �Ǥ�page ž�����ʤ��褦�ˤ���С�
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5367 mappend �� reset_cheap ���Ƥ��ɤ���
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5368
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5369 Thu Jul 1 20:28:49 JST 2004
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5370
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5371 { int hoge;
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5372 { int hoge; ....} }
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5373 �����ɡ�����
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5374
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5375 �ۤʤ��٥���äƤΤ�ɤ���äƸ��Ĥ����? define case �ϡ�
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5376 �狼�뤫������פ����ʤ󤫥��ץ���󤤤��?
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5377
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5378 hash -> name_space -> nptr
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5379 global (typename, global, function)
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5380 tag
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5381 field
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5382 local -> name_space
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5383 label
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5384 tag
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5385 field
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5386
cef4d8eb9a26 name table reconfigure continue...
kono
parents: 346
diff changeset
5387 �Ǥ���٤������?
348
e77b3a7002ad name table reconfigure compiled. debug start.
kono
parents: 347
diff changeset
5388
e77b3a7002ad name table reconfigure compiled. debug start.
kono
parents: 347
diff changeset
5389 Fri Jul 2 06:46:27 JST 2004
e77b3a7002ad name table reconfigure compiled. debug start.
kono
parents: 347
diff changeset
5390
e77b3a7002ad name table reconfigure compiled. debug start.
kono
parents: 347
diff changeset
5391 ����ʤ��ѹ�������äơ�ư���櫓�ʤ���͡�
349
b74b580c10f6 name table debug continue...
kono
parents: 348
diff changeset
5392
b74b580c10f6 name table debug continue...
kono
parents: 348
diff changeset
5393 ñ�Υƥ��Ƚ�?
b74b580c10f6 name table debug continue...
kono
parents: 348
diff changeset
5394 cheap
b74b580c10f6 name table debug continue...
kono
parents: 348
diff changeset
5395 hash
b74b580c10f6 name table debug continue...
kono
parents: 348
diff changeset
5396 ���餤?
351
000c509b663d name table reconfigure continue...
kono
parents: 349
diff changeset
5397
000c509b663d name table reconfigure continue...
kono
parents: 349
diff changeset
5398 ��äѤꡢ���Ѥ�����ȡ��⤦�������Ȥϻפ����ɡ�
000c509b663d name table reconfigure continue...
kono
parents: 349
diff changeset
5399
000c509b663d name table reconfigure continue...
kono
parents: 349
diff changeset
5400 Fri Jul 2 23:38:14 JST 2004
000c509b663d name table reconfigure continue...
kono
parents: 349
diff changeset
5401
000c509b663d name table reconfigure continue...
kono
parents: 349
diff changeset
5402 ���ȡ��⤦����..
353
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5403
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5404 ����ե���ѥ���ΥХ����Ȥ�ʤ��衣
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5405
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5406 �⤷������ȡ�void fuga(b,d,e,f) { return hoge(a,b,c,e) ; }
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5407 �äƤ����ץ������Ǵ����ˡ�tail recursion ����ʤ顢
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5408 CbC �ȡ�����ʤ��ʤ󤸤�ʤ�? (����?)
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5409
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5410 ����������ñ��? ���䡢�ؿ��ƤӽФ��ȸߴ�����ݻ����ʤ��Ȥ����ʤ�
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5411 �Τǡ���äѤꡢ���ä��������񤷤����쥸�����Υ����֤Ȥ����뤷��
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5412
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5413 ��������I2C, I2S, U2UC, U2US ��ɬ�פʤߤ������͡�����˱����ơ�
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5414 code_i2c
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5415 code_i2s
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5416 code_u2uc
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5417 code_u2us
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5418 ���������
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5419
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5420 endian ��ͭ������ʤΤ������㤡��hash �ΥХ��Ȥϴط��ʤ��Τ͡�
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5421
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5422 K&R argument �� redefined �����ǡ��������ѿ��ˤʤä�
41ed77cb9c67 name table reogranization, extendable cheap done.
kono
parents: 351
diff changeset
5423 ���ޤ���
355
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5424
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5425 Sat Jul 3 15:16:50 JST 2004
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5426
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5427 �褦��ä� recovery �Ǥ��ޤ�����
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5428
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5429 global heap �γ�ĥ���񤷤���͡��äˡ�heap �λȤ�����
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5430 ���Ȼ��ʺ����񤷤���nptr,heap,local �Ȥ�integer ��
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5431 ������������ʤ�Ȥ⤫����
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5432
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5433 �ޤ����������gcc �γ�ĥ��... �Ȥ��ʤ�... __label__
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5434
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5435 ��äѤꡢ��̾������ѿ��Ȥ��̤�̾�����֤���ʡ�
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5436
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5437 �ޤ��ͤ��� code �����빽������եꥯ�Ȥ��Ƥ���ʡ��ޡ����������ɡ�
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5438
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5439 ����黻�Ҥΰ������ά�Ǥ���Τ���
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5440
6188f66c0c0b cond op, and arg scope.
kono
parents: 353
diff changeset
5441 �����Ĥ�����Ϥ��뤬��kernel source �ϡ��̤�ޤ�����
356
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5442
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5443 Sun Jul 4 19:17:02 JST 2004
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5444
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5445 arg ����˴ؿ������äơ����줬����˴ؿ���������äƤ���ȡ�
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5446 ���줬define����Ƥ��ޤ������줬�Ȥ����EXTRN1�ˤʤäơ�
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5447 ̤����ؿ��ˤʤäƤ��ޤ���
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5448
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5449 �Ȥꤢ����������ʤ�Τ��ʡ�
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5450
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5451 ���Ȥϡ�
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5452 inline
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5453 c2cbc converter
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5454 �Ǥ��͡�
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5455
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5456 inline �Ϲ⤯�դ����������ɡ�
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5457
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5458 inline ��ޥ����Ǽ�������Τ����Ū��ñ�ʤ����͡������ɡ�
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5459 c2cbc ��ͤ���ȡ���äѤꡢ��ʸ�ڤǼ�������٤��Ǥ���?
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5460
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5461 global heap �ϳ�ĥ��ǽ����ʤ�? local heap ���ʤ����ˡ�
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5462 ��Ф������ä����ĥ���Ƥ��ޤ���realloc �Ǥ�������
6818bd03767d *** empty log message ***
kono
parents: 355
diff changeset
5463 pointer �ȤäƤ���Τ� scope ��������ʤ���?
357
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5464
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5465 �����󡢤�äѤꡢglobal heap �γ�ĥ�ϡ�����ۤ�ñ�㤸��ʤ�
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5466 �ߤ����͡�
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5467
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5468
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5469 41c41,43
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5470 < int args,init_vars,heap[HEAPSIZE];
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5471 ---
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5472 > int args,init_vars;
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5473 > int *heap;
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5474 > static int HEAPSIZE = HEAPSIZE0;
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5475 236a234,245
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5476 > void
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5477 > clear_lfree()
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5478 > {
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5479 > if (gfree>HEAPSIZE-LHEAPMARGIN) {
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5480 > HEAPSIZE *= 2;
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5481 > heap = realloc(heap,HEAPSIZE*sizeof(int));
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5482 > if (!heap) error(MMERR);
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5483 > fprintf(stderr,"heap extended to %d\n",HEAPSIZE);
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5484 > }
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5485 > lfree= HEAPSIZE;
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5486 > }
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5487 > static void
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5488 331a353,354
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5489 > if (!heap) heap = (int *)malloc(HEAPSIZE*sizeof(int));
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5490 > if (!heap) error(MMERR);
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5491
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5492 ���餤�ǤϤ��󤼤���ᡣ
1057d6740a36 *** empty log message ***
kono
parents: 356
diff changeset
5493
358
4f1fe3731ff0 realloc heap
kono
parents: 357
diff changeset
5494 �̤�����ʤ��Ǥ��뤸��󡣤ʤˤ�äƤ��?
360
d8190f815254 *** empty log message ***
kono
parents: 358
diff changeset
5495
d8190f815254 *** empty log message ***
kono
parents: 358
diff changeset
5496 LDECL ����� nlist �ä������ˤ����? ����ʤΤ����뤫�顢��
d8190f815254 *** empty log message ***
kono
parents: 358
diff changeset
5497 �֤� nptr ����̵�̤ˤ��Ƥ�������͡�make_local_scope ��
d8190f815254 *** empty log message ***
kono
parents: 358
diff changeset
5498 �����ɤ��󤸤�ʤ����ʡ�macro �ϡ������ư���Ƥ���櫓������
d8190f815254 *** empty log message ***
kono
parents: 358
diff changeset
5499
d8190f815254 *** empty log message ***
kono
parents: 358
diff changeset
5500 �ʤ󤫡�struct ��������äȤ���ʤߤ������ʡ�type̾��local
d8190f815254 *** empty log message ***
kono
parents: 358
diff changeset
5501 �ˤʤäƤ��ޤ�����?
d8190f815254 *** empty log message ***
kono
parents: 358
diff changeset
5502
d8190f815254 *** empty log message ***
kono
parents: 358
diff changeset
5503 �ʤ󤫡�type �� tag ��global�ˤ���Τ��̤ä�����... scope
d8190f815254 *** empty log message ***
kono
parents: 358
diff changeset
5504 �˴ؤ��Ƥϡ��⤦�����ƥ��Ȥ�񤫤ʤ��Ȥ�����ʡ�
362
5cf12c7a3274 local label first try
kono
parents: 360
diff changeset
5505
5cf12c7a3274 local label first try
kono
parents: 360
diff changeset
5506 Mon Jul 5 14:11:07 JST 2004
5cf12c7a3274 local label first try
kono
parents: 360
diff changeset
5507
5cf12c7a3274 local label first try
kono
parents: 360
diff changeset
5508 local label �͡��ޤ�����ñ�ʤ������...
363
f3f2b7906d50 label extension
kono
parents: 362
diff changeset
5509
f3f2b7906d50 label extension
kono
parents: 362
diff changeset
5510 lazy flag �ǡ�
f3f2b7906d50 label extension
kono
parents: 362
diff changeset
5511 do if
f3f2b7906d50 label extension
kono
parents: 362
diff changeset
5512 make l = listN(IF,cond,then,else)
f3f2b7906d50 label extension
kono
parents: 362
diff changeset
5513 if(lazy)
f3f2b7906d50 label extension
kono
parents: 362
diff changeset
5514 return l;
f3f2b7906d50 label extension
kono
parents: 362
diff changeset
5515 else
f3f2b7906d50 label extension
kono
parents: 362
diff changeset
5516 eval_if l;
f3f2b7906d50 label extension
kono
parents: 362
diff changeset
5517 eval_if
f3f2b7906d50 label extension
kono
parents: 362
diff changeset
5518 �ߤ����ʴ���?
364
c29eebf3eaf4 local label and indirect goto.
kono
parents: 363
diff changeset
5519
c29eebf3eaf4 local label and indirect goto.
kono
parents: 363
diff changeset
5520 Tue Jul 6 17:46:50 JST 2004
c29eebf3eaf4 local label and indirect goto.
kono
parents: 363
diff changeset
5521
c29eebf3eaf4 local label and indirect goto.
kono
parents: 363
diff changeset
5522 type �� tag �����ˤ���󤸤�ʤ��ơ�tag ���ä�����衢
c29eebf3eaf4 local label and indirect goto.
kono
parents: 363
diff changeset
5523 type �ϡ�LTDECL �ΤߤǶɽ�äƤ����褦�ˤ���٤�����͡�
c29eebf3eaf4 local label and indirect goto.
kono
parents: 363
diff changeset
5524
c29eebf3eaf4 local label and indirect goto.
kono
parents: 363
diff changeset
5525 static �� global �ˤʤä���äƤ�ʡ�
365
5ac17fa9d7e0 bit-field constant assignment
kono
parents: 364
diff changeset
5526
5ac17fa9d7e0 bit-field constant assignment
kono
parents: 364
diff changeset
5527 ���������ʤ����ʤ󤫲�������ä��衣����
366
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5528
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5529 bit field �ä�
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5530
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5531 e4 = rvalue_t(e2,type);
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5532 g_expr(assign_expr0(e2, list4(BFD_REPL,e4,e3,t), type,type));
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5533
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5534 �ʤ�����ɡ�������ȡ�
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5535 e2 ����Ϥ��ơ�push ���ơ�
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5536 e2 ��⤦����ɤ߹���� load
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5537 ������ replace
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5538 pop ���� assign
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5539 �äƴ����ʤ����ʡ��̤ˤ���������ɤ���
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5540 e2
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5541 load
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5542 replace
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5543 store
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5544 �äƤ����褦�ˤ�����������ɡ�
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5545
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5546 �Ǥ⡢������ʬ�ä� long long ���̤äƤ��뤫���ѹ�����Ȥʤ��
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5547 �̤�¿�������ʡ�
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5548
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5549 GVAR + offset ����list2(INDIRECT,list2(ADD..)) ��Ÿ�������Τǡ�
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5550 simple �����ˤ�äƤ�����ʤ����Ȥ������Ȥϡ�GVAR �� GVAR + offset
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5551 �Ȥ��������ˤ��������ɤ��äƤ��Ȥ���͡�
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5552
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5553 list2(GVAR,nptr) �ʤ�����ɡ������list2(GVAR,nptr,0)
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5554 �ˤ�����ɤ�? �ޤ��ͤ�������ޤ�Ȥ��ʤ��Ȥϻפ����ɤ͡�
2d510935c37d *** empty log message ***
kono
parents: 365
diff changeset
5555 �ºݡ��Ф륳���ɤ��Ѥ��ʤ�����
367
4efbb07f556b global variable offset
kono
parents: 366
diff changeset
5556
4efbb07f556b global variable offset
kono
parents: 366
diff changeset
5557 �빽��ʣ����ʣ��������󤸤�ʤ���?
368
be56772ab12a global offset, parallel_rassign fix, save_stack fix.
kono
parents: 367
diff changeset
5558
be56772ab12a global offset, parallel_rassign fix, save_stack fix.
kono
parents: 367
diff changeset
5559 Wed Jul 7 23:19:35 JST 2004
be56772ab12a global offset, parallel_rassign fix, save_stack fix.
kono
parents: 367
diff changeset
5560
be56772ab12a global offset, parallel_rassign fix, save_stack fix.
kono
parents: 367
diff changeset
5561 �Ǥ������ɡ�mips �� register usage ��������������ä�
be56772ab12a global offset, parallel_rassign fix, save_stack fix.
kono
parents: 367
diff changeset
5562 �쥸������Ȥ���Ϥ���
be56772ab12a global offset, parallel_rassign fix, save_stack fix.
kono
parents: 367
diff changeset
5563
be56772ab12a global offset, parallel_rassign fix, save_stack fix.
kono
parents: 367
diff changeset
5564 save_stack �ǡ�regisiter ���������Τ�˺��Ƥޤ�����
370
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5565
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5566 parallel_rassign �Ǥϡ���IJ��������顢������¾�ΰ�¸�롼��
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5567 ���褹��Τ˻Ȥ��Τ��ɤ�������...
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5568
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5569 �ɤ��⡢;�פ� extsb ���Ƥ���ߤ������ʡ�
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5570
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5571 �����ɬ�פʻ����Ѵ�����٤�����͡��Ǥʤ��ȡ�
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5572 lbz
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5573 extsb
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5574 stb
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5575 �����㤦���顣
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5576
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5577 Thu Jul 8 02:31:03 JST 2004
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5578
c6c1323be02d minor fix
kono
parents: 368
diff changeset
5579 ARM�ϡ��ɤ���add, sub �ϡ�8bit �����������Ƥ�ߤ����͡�
371
238c3704ee3d ARM first try
kono
parents: 370
diff changeset
5580
238c3704ee3d ARM first try
kono
parents: 370
diff changeset
5581 table ��max-min ��16bit ���Ȳ��ꤷ�Ƥ���ߤ������ܿ���
238c3704ee3d ARM first try
kono
parents: 370
diff changeset
5582 �ޤ�Ǥ���Ȥ��ϡ����θ¤�Ǥʤ���
238c3704ee3d ARM first try
kono
parents: 370
diff changeset
5583
238c3704ee3d ARM first try
kono
parents: 370
diff changeset
5584 Fri Jul 9 14:45:56 JST 2004
238c3704ee3d ARM first try
kono
parents: 370
diff changeset
5585
238c3704ee3d ARM first try
kono
parents: 370
diff changeset
5586 LDECL �ϡ�disp < 0
238c3704ee3d ARM first try
kono
parents: 370
diff changeset
5587
238c3704ee3d ARM first try
kono
parents: 370
diff changeset
5588 const ��������ʤ��Ȥ����ʤ������ʡ�
372
81345636387d arm continue...
kono
parents: 371
diff changeset
5589
81345636387d arm continue...
kono
parents: 371
diff changeset
5590 arm �ϡ�����ѿ���
81345636387d arm continue...
kono
parents: 371
diff changeset
5591 ldr r3, .L28+88
81345636387d arm continue...
kono
parents: 371
diff changeset
5592 ....
81345636387d arm continue...
kono
parents: 371
diff changeset
5593 .L29:
81345636387d arm continue...
kono
parents: 371
diff changeset
5594 .align 2
81345636387d arm continue...
kono
parents: 371
diff changeset
5595 .L28:
81345636387d arm continue...
kono
parents: 371
diff changeset
5596 .word i1
81345636387d arm continue...
kono
parents: 371
diff changeset
5597 .word i2
81345636387d arm continue...
kono
parents: 371
diff changeset
5598 .word s1
81345636387d arm continue...
kono
parents: 371
diff changeset
5599 .word s2
81345636387d arm continue...
kono
parents: 371
diff changeset
5600 .word us1
81345636387d arm continue...
kono
parents: 371
diff changeset
5601
81345636387d arm continue...
kono
parents: 371
diff changeset
5602 �ߤ����ʷ��Ǵ��ܻ��Ȥ���櫓�����ɡ����Ȥ�����˥ꥹ�Ȥ˳�Ǽ���ʤ���
81345636387d arm continue...
kono
parents: 371
diff changeset
5603 ����? �ѿ�ɽ�˳�Ǽ�����������... make scope �ǽ���ʤ�����?
81345636387d arm continue...
kono
parents: 371
diff changeset
5604 linear list �ǻ��äƤ⤤��������ɡ�
81345636387d arm continue...
kono
parents: 371
diff changeset
5605
81345636387d arm continue...
kono
parents: 371
diff changeset
5606 ptr_cache �����ǥꥹ�Ȥ���Ƥ�?
81345636387d arm continue...
kono
parents: 371
diff changeset
5607
81345636387d arm continue...
kono
parents: 371
diff changeset
5608 �ʤ󤫡�add # �ΰ�̣���ɤ��狼��ʤ��衣�̤˾�˥���
81345636387d arm continue...
kono
parents: 371
diff changeset
5609 ���Ȥ�����Ϥʤ���Ǥ���?
81345636387d arm continue...
kono
parents: 371
diff changeset
5610
81345636387d arm continue...
kono
parents: 371
diff changeset
5611 �ɤ��狼��ʤ����ɡ�
81345636387d arm continue...
kono
parents: 371
diff changeset
5612 8bit ��������ǡ����եȤ�2����
81345636387d arm continue...
kono
parents: 371
diff changeset
5613 �ߤ����ʴ���?
81345636387d arm continue...
kono
parents: 371
diff changeset
5614
81345636387d arm continue...
kono
parents: 371
diff changeset
5615 �Ǥ������ɡ��ɤ�ʥ��르�ꥺ��������������衣
81345636387d arm continue...
kono
parents: 371
diff changeset
5616
81345636387d arm continue...
kono
parents: 371
diff changeset
5617 8bit mask ��2���ĥ��եȤ��ơ�
81345636387d arm continue...
kono
parents: 371
diff changeset
5618 �Ĥ꤬���뤫�ɤ�����ߤ�
81345636387d arm continue...
kono
parents: 371
diff changeset
5619
81345636387d arm continue...
kono
parents: 371
diff changeset
5620 �����ȡ�16x8x8 ���餤�Υ�����?
81345636387d arm continue...
kono
parents: 371
diff changeset
5621 for(sign=-1;sign<=1;sign+=2) {
81345636387d arm continue...
kono
parents: 371
diff changeset
5622 if (sign==1) d = c; else d = -c;
81345636387d arm continue...
kono
parents: 371
diff changeset
5623 for(i=0;i<32;i+=2) {
81345636387d arm continue...
kono
parents: 371
diff changeset
5624 if (!(im=mask8(d,i))) continue;
81345636387d arm continue...
kono
parents: 371
diff changeset
5625 id = d - im;
81345636387d arm continue...
kono
parents: 371
diff changeset
5626 if (id==0) goto found;
81345636387d arm continue...
kono
parents: 371
diff changeset
5627 for(j=i+8;j<32;i+=2) {
81345636387d arm continue...
kono
parents: 371
diff changeset
5628 if (!(jm=mask8(id,j))) continue;
81345636387d arm continue...
kono
parents: 371
diff changeset
5629 jd = id - jm;
81345636387d arm continue...
kono
parents: 371
diff changeset
5630 if (jm==0) goto found;
81345636387d arm continue...
kono
parents: 371
diff changeset
5631 for(k=i+8;k<32;k+=2) {
81345636387d arm continue...
kono
parents: 371
diff changeset
5632 if (!(km=mask8(jd,j))) continue;
81345636387d arm continue...
kono
parents: 371
diff changeset
5633 kd = jd - km;
81345636387d arm continue...
kono
parents: 371
diff changeset
5634 if (km==0) goto found;
81345636387d arm continue...
kono
parents: 371
diff changeset
5635 }
81345636387d arm continue...
kono
parents: 371
diff changeset
5636 }
81345636387d arm continue...
kono
parents: 371
diff changeset
5637 }
81345636387d arm continue...
kono
parents: 371
diff changeset
5638 }
81345636387d arm continue...
kono
parents: 371
diff changeset
5639 emit_const(c);
81345636387d arm continue...
kono
parents: 371
diff changeset
5640 found:
81345636387d arm continue...
kono
parents: 371
diff changeset
5641 if (sign==1) emit_add(im,jm,km);
81345636387d arm continue...
kono
parents: 371
diff changeset
5642 else emit_sub(im,jm,km)
81345636387d arm continue...
kono
parents: 371
diff changeset
5643 �Ǥ����͡�1024 �롼�פ������� const ���?
81345636387d arm continue...
kono
parents: 371
diff changeset
5644
81345636387d arm continue...
kono
parents: 371
diff changeset
5645 �����⡢������ǡ���äȤ�û��̿���õ���ʤ��Ȥ���ʤΤ���
81345636387d arm continue...
kono
parents: 371
diff changeset
5646
81345636387d arm continue...
kono
parents: 371
diff changeset
5647 pointer offset �⡢�����ʤΤ���? (���β�ǽ���Ϥ���Ȼפ�)
81345636387d arm continue...
kono
parents: 371
diff changeset
5648
81345636387d arm continue...
kono
parents: 371
diff changeset
5649 12*8*4 = 384 ���餤��(�ǰ���)
81345636387d arm continue...
kono
parents: 371
diff changeset
5650
81345636387d arm continue...
kono
parents: 371
diff changeset
5651 sub mask8 {
81345636387d arm continue...
kono
parents: 371
diff changeset
5652 my ($d,$bit) = @_;
81345636387d arm continue...
kono
parents: 371
diff changeset
5653 $d & (255 << $bit);
81345636387d arm continue...
kono
parents: 371
diff changeset
5654 }
81345636387d arm continue...
kono
parents: 371
diff changeset
5655
81345636387d arm continue...
kono
parents: 371
diff changeset
5656 sub make_const {
81345636387d arm continue...
kono
parents: 371
diff changeset
5657 my ($c) = @_;
81345636387d arm continue...
kono
parents: 371
diff changeset
5658 my ($sign,$im,$jm,$km);
81345636387d arm continue...
kono
parents: 371
diff changeset
5659 my ($min_stage) = 4;
81345636387d arm continue...
kono
parents: 371
diff changeset
5660 my ($msign,$mim,$mjm,$mkm);
81345636387d arm continue...
kono
parents: 371
diff changeset
5661 for($sign=1;$sign>=-1;$sign-=2) {
81345636387d arm continue...
kono
parents: 371
diff changeset
5662 my $d;
81345636387d arm continue...
kono
parents: 371
diff changeset
5663 if ($sign==1) { $d = $c; } else { $d = -$c; }
81345636387d arm continue...
kono
parents: 371
diff changeset
5664 last if ($min_stage==1);
81345636387d arm continue...
kono
parents: 371
diff changeset
5665 for(my $i=24;$i>=0;$i-=2) {
81345636387d arm continue...
kono
parents: 371
diff changeset
5666 $jm = $km = 0;
81345636387d arm continue...
kono
parents: 371
diff changeset
5667 next if (!($im=mask8($d,$i)));
81345636387d arm continue...
kono
parents: 371
diff changeset
5668 my $id = $d - $im;
81345636387d arm continue...
kono
parents: 371
diff changeset
5669 if ($id==0) {
81345636387d arm continue...
kono
parents: 371
diff changeset
5670 $min_stage=1; $msign = $sign;
81345636387d arm continue...
kono
parents: 371
diff changeset
5671 $mim = $im;$mjm = $jm;$mkm = $km;
81345636387d arm continue...
kono
parents: 371
diff changeset
5672 last;
81345636387d arm continue...
kono
parents: 371
diff changeset
5673 }
81345636387d arm continue...
kono
parents: 371
diff changeset
5674 next if ($min_stage<=2);
81345636387d arm continue...
kono
parents: 371
diff changeset
5675 for(my $j=$i-8;$j>=0;$j-=2) {
81345636387d arm continue...
kono
parents: 371
diff changeset
5676 $km = 0;
81345636387d arm continue...
kono
parents: 371
diff changeset
5677 next if (!($jm=mask8($id,$j)));
81345636387d arm continue...
kono
parents: 371
diff changeset
5678 $jd = $id - $jm;
81345636387d arm continue...
kono
parents: 371
diff changeset
5679 if ($jd==0) {
81345636387d arm continue...
kono
parents: 371
diff changeset
5680 $min_stage=2; $msign = $sign;
81345636387d arm continue...
kono
parents: 371
diff changeset
5681 $mim = $im;$mjm = $jm;$mkm = $km;
81345636387d arm continue...
kono
parents: 371
diff changeset
5682 last;
81345636387d arm continue...
kono
parents: 371
diff changeset
5683 }
81345636387d arm continue...
kono
parents: 371
diff changeset
5684 next if ($min_stage<=3);
81345636387d arm continue...
kono
parents: 371
diff changeset
5685 for(my $k=$j-8;$k>=0;$k-=2) {
81345636387d arm continue...
kono
parents: 371
diff changeset
5686 next if (!($km=mask8($jd,$k)));
81345636387d arm continue...
kono
parents: 371
diff changeset
5687 $kd = $jd - $km;
81345636387d arm continue...
kono
parents: 371
diff changeset
5688 if ($kd==0) {
81345636387d arm continue...
kono
parents: 371
diff changeset
5689 $min_stage=3; $msign = $sign;
81345636387d arm continue...
kono
parents: 371
diff changeset
5690 $mim = $im;$mjm = $jm;$mkm = $km;
81345636387d arm continue...
kono
parents: 371
diff changeset
5691 last;
81345636387d arm continue...
kono
parents: 371
diff changeset
5692 }
81345636387d arm continue...
kono
parents: 371
diff changeset
5693 }
81345636387d arm continue...
kono
parents: 371
diff changeset
5694 }
81345636387d arm continue...
kono
parents: 371
diff changeset
5695 }
81345636387d arm continue...
kono
parents: 371
diff changeset
5696 }
81345636387d arm continue...
kono
parents: 371
diff changeset
5697 if ($min_stage<=3) { emit($sign,$im,$jm,$km); }
81345636387d arm continue...
kono
parents: 371
diff changeset
5698 else { print "emit const $c\n"; }
81345636387d arm continue...
kono
parents: 371
diff changeset
5699 }
81345636387d arm continue...
kono
parents: 371
diff changeset
5700
81345636387d arm continue...
kono
parents: 371
diff changeset
5701 ���餤�Ǥ�����
81345636387d arm continue...
kono
parents: 371
diff changeset
5702
373
a9bc85fe6702 *** empty log message ***
kono
parents: 372
diff changeset
5703 Sun Jul 11 12:54:26 JST 2004
a9bc85fe6702 *** empty log message ***
kono
parents: 372
diff changeset
5704
a9bc85fe6702 *** empty log message ***
kono
parents: 372
diff changeset
5705 ��äѤ�large offset �Ϥ��ޤ�ư���Ƥʤ��ߤ����͡�
a9bc85fe6702 *** empty log message ***
kono
parents: 372
diff changeset
5706
a9bc85fe6702 *** empty log message ***
kono
parents: 372
diff changeset
5707 local global table �ϡ�12bit offset(+sign 1bit) ������4096/4
a9bc85fe6702 *** empty log message ***
kono
parents: 372
diff changeset
5708 ��1000̿����ˤϽ��Ϥ���ɬ�פ����롣�����⡢���˽��Ϥ���Ƥ�
a9bc85fe6702 *** empty log message ***
kono
parents: 372
diff changeset
5709 ���Τϡ����Τ�Ȥ�ɬ�פ����롣�ʤ�ۤɤ͡��äƤ������Ȥϡ�
a9bc85fe6702 *** empty log message ***
kono
parents: 372
diff changeset
5710 �ơ��֥�ˤ��������ե饰��Ĥ��ʤ��Ȥ��ᤫ��(���줰�餤
374
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5711 ������֥�Ǥ�äƤ��)
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5712
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5713 ���٤Ƥ�printf��counter ��Ĥ�����ɤ��櫓�����ɡ������Ĥ���
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5714 ���꤬����������ʡ�����ä���¿�����͡�
373
a9bc85fe6702 *** empty log message ***
kono
parents: 372
diff changeset
5715
a9bc85fe6702 *** empty log message ***
kono
parents: 372
diff changeset
5716 ARM�ˤ� short �äƤʤ��Τ���short ��¿�Ѥ��Ƥ���ץ�������
a9bc85fe6702 *** empty log message ***
kono
parents: 372
diff changeset
5717 ����ʤΤ͡�
a9bc85fe6702 *** empty log message ***
kono
parents: 372
diff changeset
5718
a9bc85fe6702 *** empty log message ***
kono
parents: 372
diff changeset
5719 (�Ǥ⡢�ɤä����äƸ����ȥƥ��ȴĶ����������񤷤���)
374
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5720
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5721 sl�Ȥ�ip�Ȥ��פ����줬���ꤽ���ʥ쥸������̾�����礷����̣������
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5722 �櫓�ǤϤʤ��餷����
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5723
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5724 ARM�äơ��ʤ�signed char ��unsinged char �ζ��̤��ʤ��ʡ�
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5725
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5726 lvar offset ��������äȤ��ɤ��������ʡ�
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5727 constant ����ޤäƤʤ����顢���ä�����ä�code_add
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5728 ���Ȥ��ʤ������䡢��ޤ�Τ���?
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5729
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5730 Sun Jul 11 20:37:20 JST 2004
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5731
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5732 ��äѤꡢlocal variable �Υ��ե��åȤ����ξ������Ǥʤ��Τ�
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5733 �ޤ�����
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5734
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5735 �����
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5736 fp <-------|
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5737 +------+------------------+
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5738 <----lvar_offset--->
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5739
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5740 �ʤΤ��ޤ��������͡�
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5741
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5742 �����
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5743 fp-------> |
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5744 +------+------------------+
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5745 <----lvar_offset--->
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5746
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5747 �ˤ�����ɤ���������͡��ʤ󤱤ɡ�def �� pre decrement ���Ƥ��뤬
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5748 �ޤ���������<0 �Ǥʤ��Ȥޤ����Τǡ�ñ��� post decrement �Ǥ���ᡣ
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5749
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5750 �Ǥ⡢���콤���̤�¿����͡�
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5751
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5752 �����
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5753 fp-------> sp----->
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5754 +------+------------------+
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5755 callee <----lvar_offset---> caller
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5756 arg arg
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5757 <------> pre known offset
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5758 ---->
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5759
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5760 �ȡ�ľ�����ɤ���
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5761
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5762 �󡢤���....
9bc42f69f653 arm continue...
kono
parents: 373
diff changeset
5763
375
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5764 <------r1_offset------------------------------>
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5765 <-lvar_offset------->
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5766 r+ +------------+---+-------+------------------+--------------+----+ -
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5767 callee arg xx local register save caller arg xx
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5768 disp reg_save max_func_args*SIZE_OF_INT
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5769 lvar>0 lvar<0 lvar>0x1000 0000
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5770 r30 r1
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5771
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5772 �Ȥ���Τϡ�PowerPC �Ǥ��ѹ����礭�����롣�쥸���������֤�����
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5773 ���ɤ��狼��ʤ�����
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5774
377
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5775 �⤷�����ơ�register save �ΰ�ϸ���?!
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5776
375
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5777
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5778 Mon Jul 12 05:35:33 JST 2004
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5779
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5780 �����󡢤�äѤꡢ�񤷤����... ���Τ���printf �� local variable
91849fdeea60 PowerPC large offset.
kono
parents: 374
diff changeset
5781 ������Ƥ��ޤ���
376
d81e1be4036f frame offset fix MIPS
kono
parents: 375
diff changeset
5782
377
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5783 register save �ΰ�ϸ���ʤ櫓����ʤ��������ǽ餫����ľ���ơ�
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5784
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5785 function call stack frame
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5786 <-------r1_offset------------------------------>
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5787 <------------lvar_offset0------>
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5788 <--lvar_offset-->
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5789 r+ +------------+---+---------------+----------+--------------+----+ -
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5790 callee arg xx register save local caller arg xx
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5791 reg_save disp max_func_args*SIZE_OF_INT
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5792 lvar>0 lvar<0 lvar>0x1000 0000
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5793
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5794 �Ȥ������Ȥˤʤ�ޤ�����frame ������ΤȤ�������̵����32bit add
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5795 �ˤʤä��������ʤ��ʡ�������ȡ�callee arg �����ꥪ�ե��åȤˤʤ餶��
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5796 �����ʤ���reg_save ���Ǹ�ޤǷ�ޤ�ʤ����顣
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5797
376
d81e1be4036f frame offset fix MIPS
kono
parents: 375
diff changeset
5798 �Ϥ������ѤʤΤ�PowerPC�����ǡ�MIPS��ia32 �ϡ����Τޤ�ư���Ȥ����Τ�
d81e1be4036f frame offset fix MIPS
kono
parents: 375
diff changeset
5799 �狼��ޤ�����
377
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5800
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5801 Mon Jul 12 12:54:14 JST 2004
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5802
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5803 ������ɡ�MIPS�� $fp ������祪�ե��åȤˤ���Τ϶�ϫ�����͡�
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5804 .frame $fp ����ʤ��ơ� .frame $sp �ˤ����ư���Τ���
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5805 ���ȡ�goto ��Ϣ�ϡ�
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5806 code_environment
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5807 code_fix_frame_pointer
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5808 leave
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5809 �λ��Ĥ�ľ���ʤ��Ȥ���ʤΤ͡�
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5810
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5811 �����ѹ��ϡ�ARM�Υ��ե��åȷ׻�����ꥪ�ե��åȤǹԤ������
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5812 ��äƤ��������ɡ�ARM�Υ쥸���������֤�����ΰ�ˤ���С�
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5813 ���뤤�ϡ��ɤ������ɤ����С�callee arg ��ޤ�Ƹ���˽���
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5814 ��Ϥ���
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5815
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5816
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5817 �ʤ���ư�������쥸������ f4 �����ߤ����͡�
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5818
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5819 mov ip, sp
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5820 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, ip, lr, pc}
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5821 sub fp, ip, #4
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5822 sub sp, sp, #12
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5823 .L3:
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5824 ldmea fp, {r4, r5, r6, r7, r8, r9, sl, fp, sp, pc}
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5825 .Lfe1:
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5826
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5827 �ޤ�ǡ�6809 �� PSHS X,Y,D ���͡�PULS X,PC �Ȥ���
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5828
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5829 �ʤ�����ɡ�������ȡ�
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5830
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5831 <-------r1_offset------------------------------>
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5832 <------------lvar_offset0------>
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5833 <--lvar_offset-->
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5834 r+ +------------+---+---------------+----------+--------------+----+ -
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5835 callee arg xx register save local caller arg xx
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5836 reg_save disp max_func_args*SIZE_OF_INT
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5837 lvar>0 lvar<0 lvar>0x1000 0000
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5838
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5839 �ˤʤ餶������ʤ����Ȥʤ�ȡ��ɤä����ϡ����ꥪ�ե��åȤ��ʡ�
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5840 �ޡ�callee ¦�Ǥ��礦���ޡ�����˽����������뤤�ϡ��ݥ���
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5841 �ǻؤ��Ƥ⤤�������͡��Ƥ�������reg_save �˴ؤ�餺��ޤä��ΰ�
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5842 ��Ȥä��㤨�Ф����󤸤�ʤ�? �礷���̤���ʤ�������ư������
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5843 �쥸�������Ĥ����͡�
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5844
b23568be1155 ARM continue (const table)
kono
parents: 376
diff changeset
5845 �⤦���������ꤽ�����͡�
378
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5846
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5847 Wed Jul 14 12:45:01 JST 2004
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5848
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5849 ��äѤ���ư����������Ȥʤ�����˼�������ΤϤ��ɤ���
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5850
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5851 ���졢? mc-code-mips.c ��
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5852 rexpr_bool(int e1, int reg)
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5853 {
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5854 int e2,reg0;
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5855 int op = car(e1);
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5856 return 0;
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5857
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5858 �äƤʤ��? ���ä�����ä��Τ�?
b3c6c479c522 ARM continue...
kono
parents: 377
diff changeset
5859
379
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5860 ����äȥХ��äƤޤ������Ǥ⡢�ʤ�Ǥ�����? logic miss ������?
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5861
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5862 drexpr_bool for MIPS �Ϻ�äƤʤ��ߤ����͡�long long �Ϥ�������
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5863 ���Ѥ���������
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5864
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5865 double/long long ����������ɤ���
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5866 local const table ��Ϣ³���������
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5867 ����ΰ�˽�������ơ������ؤΥݥ��󥿤�local const table �������
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5868 �Ǥ����������... ���Ԥ��ȡ�search�����ɤ�����Ԥ��ȡ�double load
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5869 �ˤʤ�Τǡ��ʤ󤫷������ޤ��ް��פ���0��Ȥ��ʤ��Τ�ʤ󤫤͡�
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5870
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5871 adr �ʤ�Ƹ����Τ�����Τ���adr ���� ldmia �äƤʤ��ѡ�mvfs #0
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5872 �ʤ�ƤΤ�����Τ���0,1,10 ������Τ��狼�뤱��...
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5873
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5874 float �� switch �äƤ����?
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5875
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5876 (�Ϥ������ɤ�����... �콵�֤����äƤ뤷...)
c7abd48191b3 ARM continue...
kono
parents: 378
diff changeset
5877
380
c9ae2ea267c2 ARM continue...
kono
parents: 379
diff changeset
5878 Sun Jul 18 20:45:48 JST 2004
c9ae2ea267c2 ARM continue...
kono
parents: 379
diff changeset
5879
c9ae2ea267c2 ARM continue...
kono
parents: 379
diff changeset
5880 �ʤ��ʤ�����ʤ��͡�GBA��Linux Zaurus ��ξ��������ʡ�
381
5a9a27fadb9b ARM continue...
kono
parents: 380
diff changeset
5881 (��ä� ARM �˼��Ĥ����Τϼ��ԤǤ���)
383
9a3d897d58fd ARM continue...
kono
parents: 381
diff changeset
5882
9a3d897d58fd ARM continue...
kono
parents: 381
diff changeset
5883 alloca �ΰ���������ξ����äƤʤ��͡�
9a3d897d58fd ARM continue...
kono
parents: 381
diff changeset
5884
9a3d897d58fd ARM continue...
kono
parents: 381
diff changeset
5885 �ޤ�����Ĺ�������Ǥ⡢��ꤿ���ä�������顢�����ʤ���
9a3d897d58fd ARM continue...
kono
parents: 381
diff changeset
5886
9a3d897d58fd ARM continue...
kono
parents: 381
diff changeset
5887 ��ư�������쥸������ĤäƤα����ʡ��쥸�����ϻȤ����Ӥˡ�
9a3d897d58fd ARM continue...
kono
parents: 381
diff changeset
5888 ��󥻡��֤���ߤ����͡�
384
5fc059f1947d ARM continue...
kono
parents: 383
diff changeset
5889
5fc059f1947d ARM continue...
kono
parents: 383
diff changeset
5890 Wed Jul 21 13:51:56 JST 2004
5fc059f1947d ARM continue...
kono
parents: 383
diff changeset
5891
5fc059f1947d ARM continue...
kono
parents: 383
diff changeset
5892 ���ơ�inc_inst �򡢤ɤ���äƤ���뤫....
385
875582d14b26 ARM continue...
kono
parents: 384
diff changeset
5893
875582d14b26 ARM continue...
kono
parents: 384
diff changeset
5894 copmpile error �ϼ�ä����ɤ���
875582d14b26 ARM continue...
kono
parents: 384
diff changeset
5895
875582d14b26 ARM continue...
kono
parents: 384
diff changeset
5896 Fri Jul 23 13:28:24 JST 2004
875582d14b26 ARM continue...
kono
parents: 384
diff changeset
5897
875582d14b26 ARM continue...
kono
parents: 384
diff changeset
5898 �ʤ�Ƭ�����ʤ��ʡ�
386
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5899
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5900 Sat Jul 24 19:27:55 JST 2004
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5901
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5902 ����mc-arm �ǹ�ʸ���顼���Ǥ�Τϡ��ʤ󤫤�����Ƥ��뤫��
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5903 �ʤ�����ɡ������ľ�ܤ˥ǥХå�����Τϡ�����ޤ��ɤ���ˡ
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5904 ����ʤ�����������������٤Υ��顼��ưŪ�˸��Ĥ��Ƥ����Τ�
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5905 �ߤ����衣
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5906
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5907
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5908 Tue Jul 27 13:45:21 JST 2004
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5909
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5910 .L183:
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5911 mov sl, r9
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5912 .L178:
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5913 mov r9, sl
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5914 .L175:
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5915 mov sl, r9
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5916 .L172:
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5917 mov r9, sl
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5918 .L169:
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5919 mov sl, r9
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5920 .L166:
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5921 mov r8, sl
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5922 .L163:
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5923
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5924 ����ͤ���
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5925
5b59949adc02 ARM continue... mc-parse.c compiler pass.
kono
parents: 385
diff changeset
5926 �ޤ����Ǥ⡢�ʤ�Ȥʤ���ä��褿����
387
dc50ca364922 ARM continue..
kono
parents: 386
diff changeset
5927
dc50ca364922 ARM continue..
kono
parents: 386
diff changeset
5928 �ܤ��ܤ����ʤ�����ʸ��񤫤ʤ��㤤���ʤ��Τˡ�
388
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5929
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5930 Thu Aug 12 14:15:40 JST 2004
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5931
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5932 ����äȴ֤������͡�ARM�⡢�⤦���������ɡ�c2cbc ���������
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5933 ���ʤ��ȡ�C++ ������Ѵ��Ϥɤ�����? cfront �ä�ư���Τ���?
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5934
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5935 (�������ʸ�񤤤���ä�...)
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5936
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5937 Mon Aug 16 17:27:17 JST 2004
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5938
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5939 COND �ϡ��Ǥ������ CREG_REGISTER ��Ȥ��褦�ˤ������ɡ�
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5940 ���ɥۥå����͡�(�ޤ��ͤ�)
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5941
245c6033683d *** empty log message ***
kono
parents: 387
diff changeset
5942 COND�Υƥ��Ȥ����äƤʤ��ʤ���
389
68fb244e0e3c mc-arm generates code-gen-all.s with no error,
kono
parents: 388
diff changeset
5943
68fb244e0e3c mc-arm generates code-gen-all.s with no error,
kono
parents: 388
diff changeset
5944 Tue Aug 24 15:39:27 JST 2004
68fb244e0e3c mc-arm generates code-gen-all.s with no error,
kono
parents: 388
diff changeset
5945
68fb244e0e3c mc-arm generates code-gen-all.s with no error,
kono
parents: 388
diff changeset
5946 register �����Ƥ��ѡ��ۤȤ�ɤ�register var �˳�����Ƥ�褦��
68fb244e0e3c mc-arm generates code-gen-all.s with no error,
kono
parents: 388
diff changeset
5947 �ʤäƤ��뤱�ɡ���ä�tmp���ʤ��ȷ׻��Ǥ��ʤ���͡�
68fb244e0e3c mc-arm generates code-gen-all.s with no error,
kono
parents: 388
diff changeset
5948
68fb244e0e3c mc-arm generates code-gen-all.s with no error,
kono
parents: 388
diff changeset
5949 Thu Sep 2 20:46:56 JST 2004
68fb244e0e3c mc-arm generates code-gen-all.s with no error,
kono
parents: 388
diff changeset
5950
68fb244e0e3c mc-arm generates code-gen-all.s with no error,
kono
parents: 388
diff changeset
5951 ���������� Input register ��tmp�˻Ȥ�ʤ��ΤϤʤ��?
390
15cf97ce7db1 *** empty log message ***
kono
parents: 389
diff changeset
5952
15cf97ce7db1 *** empty log message ***
kono
parents: 389
diff changeset
5953 ��Ĵ�˥Х����Ͽʤ�ǤϤ���������...
391
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5954
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5955 Sat Sep 4 18:04:40 JST 2004
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5956
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5957 INPUT/REGISTER �� double int register �� float register
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5958 �ǰ�Ӥ��Ƥʤ���
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5959
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5960 Wed Sep 8 01:08:35 JST 2004
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5961
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5962 lvar_offset_label, r1_offset_label �äƤ����? fp ��
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5963 �ȤäƤ������顢����ʤ���⤢�뤬..
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5964
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5965 �ɽ��ѿ�����Υ��ե��åȤǥ������������ؿ��ƤӽФ���sp ���ե��å�
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5966 ���Ѥ�ʤ顢����ʤ��Ϥ���
a460a3f118d1 ARM continue...
kono
parents: 390
diff changeset
5967
393
fe5aceeb6e89 *** empty log message ***
kono
parents: 391
diff changeset
5968 Sat Sep 11 15:13:33 JST 2004
fe5aceeb6e89 *** empty log message ***
kono
parents: 391
diff changeset
5969
fe5aceeb6e89 *** empty log message ***
kono
parents: 391
diff changeset
5970 ��äѤꡢCSE ���餤���٤�����ʤ�? �ޥ��������������Ȥͤ���
fe5aceeb6e89 *** empty log message ***
kono
parents: 391
diff changeset
5971 if (o==H1||o==H2|o==H3)
fe5aceeb6e89 *** empty log message ***
kono
parents: 391
diff changeset
5972 �ߤ����ʤ�Τ͡��ޤ��ͤ���
fe5aceeb6e89 *** empty log message ***
kono
parents: 391
diff changeset
5973
fe5aceeb6e89 *** empty log message ***
kono
parents: 391
diff changeset
5974 �Ǥ⡢��������ȡ�asm ���ʤ����Ǥ⡢��������� elimination
fe5aceeb6e89 *** empty log message ***
kono
parents: 391
diff changeset
5975 ���ꤿ����͡�
fe5aceeb6e89 *** empty log message ***
kono
parents: 391
diff changeset
5976
fe5aceeb6e89 *** empty log message ***
kono
parents: 391
diff changeset
5977 ������ϡ�inline ���褫��
394
b96b46baa20f *** empty log message ***
kono
parents: 393
diff changeset
5978
b96b46baa20f *** empty log message ***
kono
parents: 393
diff changeset
5979 Tue Sep 14 14:36:15 JST 2004
b96b46baa20f *** empty log message ***
kono
parents: 393
diff changeset
5980
b96b46baa20f *** empty log message ***
kono
parents: 393
diff changeset
5981 arm lvar ��large offset ��ʤ�Ȥ����ʤ��ȡ�lvar intro
b96b46baa20f *** empty log message ***
kono
parents: 393
diff changeset
5982 �Ǥʤ��Ƥ�Ǥ���Ϥ�����͡�
b96b46baa20f *** empty log message ***
kono
parents: 393
diff changeset
5983
b96b46baa20f *** empty log message ***
kono
parents: 393
diff changeset
5984 �����ɡ�ptr cache �� const list
b96b46baa20f *** empty log message ***
kono
parents: 393
diff changeset
5985 �����Ū�˰��ˤǤ��ʤ�? ξ���Ȥ�const�����ͤ���
395
f82993ed5ab9 *** empty log message ***
kono
parents: 394
diff changeset
5986
f82993ed5ab9 *** empty log message ***
kono
parents: 394
diff changeset
5987 ��������ptr cache �ϳ��ˤǤ���äƤ��ơ�nptr ������ˤ��Ƥ���
f82993ed5ab9 *** empty log message ***
kono
parents: 394
diff changeset
5988 �Τǡ�����ä��񤷤���uniq nptr �����ƤϤ�Ƥ��Ф褤�ߤ���
f82993ed5ab9 *** empty log message ***
kono
parents: 394
diff changeset
5989 ������...
f82993ed5ab9 *** empty log message ***
kono
parents: 394
diff changeset
5990
f82993ed5ab9 *** empty log message ***
kono
parents: 394
diff changeset
5991 str r1, [fp, #0+.L3]
f82993ed5ab9 *** empty log message ***
kono
parents: 394
diff changeset
5992 str r2, [fp, #4+.L3]
f82993ed5ab9 *** empty log message ***
kono
parents: 394
diff changeset
5993 �ʤ�����ɡ�L3 ������ʤΤǤ���ˤʤäƤ��ޤ���(�ޤ������������)
f82993ed5ab9 *** empty log message ***
kono
parents: 394
diff changeset
5994 �ޤ����Ǥ⡢L3 �ϵ���ˤϤʤ�ʤ��󤸤�ʤ�?
396
bfeefa7f09f5 First binary run
kono
parents: 395
diff changeset
5995
bfeefa7f09f5 First binary run
kono
parents: 395
diff changeset
5996 Wed Sep 15 16:50:46 JST 2004
bfeefa7f09f5 First binary run
kono
parents: 395
diff changeset
5997
bfeefa7f09f5 First binary run
kono
parents: 395
diff changeset
5998 basic �Υ쥸�����˺ܤä������򥹥��å����᤹�Ȥ���������������
bfeefa7f09f5 First binary run
kono
parents: 395
diff changeset
5999
bfeefa7f09f5 First binary run
kono
parents: 395
diff changeset
6000
bfeefa7f09f5 First binary run
kono
parents: 395
diff changeset
6001 ��������C++ ��maglegation�򤤤��С�C++ �Ȥ���³��ǽ��
bfeefa7f09f5 First binary run
kono
parents: 395
diff changeset
6002 �����ɡ�
bfeefa7f09f5 First binary run
kono
parents: 395
diff changeset
6003
397
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6004
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6005 Wed Oct 13 21:06:31 JST 2004
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6006
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6007 mvn ��1's complement �ǡ�sub ��2's complement �ʤߤ����͡�
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6008 �ʤΤǡ�8bit const �λ��ˤ��������ʤ롣
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6009
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6010 32bit word ��alignment��4�Ǥʤ��ƤϤʤ�ʤ��餷����
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6011
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6012 0x20005cc <code_lvar_address+216>: str r0, [r11, -#22]
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6013 (gdb) p $r0
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6014 $13 = -1073742791
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6015 0x20005d0 <code_lvar_address+220>: ldr r0, [r11, -#22]
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6016 (gdb) si
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6017 (gdb) p $r0
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6018 $15 = -63324161
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6019 (gdb) p (char*) -1073742791
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6020 $16 = 0xbffffc39 " \004@L
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6021 (gdb) p (char*)-63324161
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6022 $17 = 0xfc39bfff <Address 0xfc39bfff out of bounds>
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6023 (gdb) quit
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6024
33a09aa401ba arm const pass
kono
parents: 396
diff changeset
6025 �����ࡣ
398
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6026
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6027 Fri Oct 15 08:46:59 JST 2004
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6028
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6029 mov ip, sp
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6030 stmfd sp!, {fp, ip, lr, pc}
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6031 sub fp, ip, #4
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6032 sub sp, sp, #16
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6033 str r0, [fp, #-16] ����1
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6034 str r1, [fp, #-20] ����2
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6035 str r2, [fp, #-24] ����3
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6036 str r3, [fp, #-28] ����4
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6037 ...
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6038 ldr r2, [fp, #4] ����5
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6039 add r3, r3, r2
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6040 ldr r2, [fp, #8] ����6
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6041
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6042 ���������쥸�����ΰ���ʬ�ϥ���ˤϼ���ʤ��ǡ��ɽ��ѿ�¦
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6043 �ˤ������餷����sp�ϡ�stmfd �Ǽ�ưŪ��Ĵ������뤫�顢sub sp
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6044 �϶ɽ��ѿ�ʬ������fp ��#4��������Ϥ���?
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6045
bf583e04936f ARM continue... calling sequence, float/duble arg function
kono
parents: 397
diff changeset
6046 �Ǥ⡢������� va_next �����������ɡ�
399
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6047
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6048 Fri Oct 15 20:51:19 JST 2004
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6049
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6050 mov r3, #0
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6051 str r3, [sp, #0]
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6052 mov r3, #1069547520
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6053 add r3, r3, #3145728
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6054 ldr r0, .L28+388
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6055 adr r1, .L28+392
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6056 ldmia r1, {r1-r2} @ double
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6057 bl printf
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6058
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6059 �äƤ櫓�ǡ��ޤ����ä�double/long�ϡ�Ⱦʬ�����쥸�������֤����
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6060 �ߤ����͡�
9d0015a1fa54 lvar address fix
kono
parents: 398
diff changeset
6061
401
d621a113b0ca ARM continue... no segv code-gen
kono
parents: 399
diff changeset
6062 Sat Oct 16 19:12:31 JST 2004
d621a113b0ca ARM continue... no segv code-gen
kono
parents: 399
diff changeset
6063
d621a113b0ca ARM continue... no segv code-gen
kono
parents: 399
diff changeset
6064 �ޡ������ľ�ä�������ɡ�register �ϡ�input register �ʳ���
d621a113b0ca ARM continue... no segv code-gen
kono
parents: 399
diff changeset
6065 ���� save ���Ƥ���ߤ������ʡ�frame ���碌�����ɤ�������
d621a113b0ca ARM continue... no segv code-gen
kono
parents: 399
diff changeset
6066
d621a113b0ca ARM continue... no segv code-gen
kono
parents: 399
diff changeset
6067 cmf f4,#0����f4 �����������Ƥʤ��������ߤ�����illigal instruction
d621a113b0ca ARM continue... no segv code-gen
kono
parents: 399
diff changeset
6068 �äƤ������ɡ� f4 ���ͤˤ��Τ�?
402
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6069
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6070 fdecl_struct(int fntype)
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6071 {
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6072 ...
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6073 mode=ADECL;
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6074 args = 0;
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6075 def(&str_ret);
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6076 struct_return = list3(list2(LVAR,str_ret.dsp),sz,type);
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6077 caddr(fnptr->ty) = glist2(POINTER,caddr(fnptr->ty));
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6078
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6079 �ʤ�����ɡ�����ä� save_input_register �����LVAR�ˤʤ�櫓
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6080 ����͡�def �������ˤϥ쥸�����˳�����Ƥ����ǽ���⤢���͡�
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6081 �����������ȤϤʤ��Τ���
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6082
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6083 �ǡ�mc-parse.c �ǡ�
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6084 if (struct_return) {
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6085 ...
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6086 gexpr(list4(STASS,rvalue(car(struct_return)),e,e1),0);
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6087
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6088 �äƤʤ�櫓����͡�
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6089
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6090 �ǡ�mc-code-arm.c �Ǥϡ�������dsp���ѹ�����뤫�����ʤ櫓�͡�(�����å�
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6091 �˳�����Ƥ��Ƥʤ�����)
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6092
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6093 �����顢struct_return �� save_input_register �ǽ�������ɬ�פ����롣
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6094
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6095 ARM�Ǥϡ�register�������ʬ��stack�˼���Ƥʤ��Τǡ�struct_push
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6096 �ǡ�����ʬ��register ��copy���ʤ��Ȥ��ᡣ�Ǥ⡢��������ȡ�����¦
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6097 �Ϥɤ������?
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6098 mov ip, sp
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6099 sub sp, sp, #8
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6100 stmfd sp!, {r4, r5, fp, ip, lr, pc}
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6101 sub fp, ip, #12
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6102 sub sp, sp, #96
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6103 ��������ʤ��Ȥ�äƤ뤷��
cda558feec30 ARM continue..
kono
parents: 401
diff changeset
6104
404
95956779df2e ARM continue...
kono
parents: 402
diff changeset
6105 Sun Oct 17 13:13:00 JST 2004
95956779df2e ARM continue...
kono
parents: 402
diff changeset
6106
95956779df2e ARM continue...
kono
parents: 402
diff changeset
6107 �ʤ� long long �˴ؤ��Ƥϡ�gcc �������빽���ְ�äƤ���ʤ���
405
5b76a2bc1177 ARM code-gen-all passed.
kono
parents: 404
diff changeset
6108
5b76a2bc1177 ARM code-gen-all passed.
kono
parents: 404
diff changeset
6109 signed char �˴ؤ��Ƥϡ�ldrsb �äƤΤ�����ߤ����͡��ʤ�ǡ�
5b76a2bc1177 ARM code-gen-all passed.
kono
parents: 404
diff changeset
6110 arm-linux-gcc �ǤϤǤʤ��������?
406
8528af42e7f7 switch fix.
kono
parents: 405
diff changeset
6111
8528af42e7f7 switch fix.
kono
parents: 405
diff changeset
6112 Mon Oct 18 00:15:05 JST 2004
8528af42e7f7 switch fix.
kono
parents: 405
diff changeset
6113
8528af42e7f7 switch fix.
kono
parents: 405
diff changeset
6114 self compile ���̤�ʤ���¾�Υƥ��Ȥ�ͥ�褹��٤�����
8528af42e7f7 switch fix.
kono
parents: 405
diff changeset
6115
408
b4375f895fd5 ARM struct copy, alloca fix
kono
parents: 406
diff changeset
6116 Mon Oct 18 20:25:16 JST 2004
b4375f895fd5 ARM struct copy, alloca fix
kono
parents: 406
diff changeset
6117
b4375f895fd5 ARM struct copy, alloca fix
kono
parents: 406
diff changeset
6118 emit_copy �� offset �ΰ�������Ӥ��Ƥʤ��餷����
b4375f895fd5 ARM struct copy, alloca fix
kono
parents: 406
diff changeset
6119 ���ȡ� powerpc ��r3,r4,r5 ��Ȥä����֤�memmove���ƤФ��ߤ�����
b4375f895fd5 ARM struct copy, alloca fix
kono
parents: 406
diff changeset
6120
b4375f895fd5 ARM struct copy, alloca fix
kono
parents: 406
diff changeset
6121 �����󡢤�äѤ깽¤�Τ�쥸�����˳�꿶��ΤäƤ��ʤ���ɤ�
b4375f895fd5 ARM struct copy, alloca fix
kono
parents: 406
diff changeset
6122 �ʤΤ͡��ä˥ͥ��Ȥ���ؿ��Ǥ�...
409
b72682778d75 ARM varargs
kono
parents: 408
diff changeset
6123
b72682778d75 ARM varargs
kono
parents: 408
diff changeset
6124 ��¤�Τ�stack���ɬ�� align �����餷����
b72682778d75 ARM varargs
kono
parents: 408
diff changeset
6125
b72682778d75 ARM varargs
kono
parents: 408
diff changeset
6126 ARM �� bitield �ʤ������ |---====|=====|====----| �Ȼ��Ĥˤޤ�����Τ�
b72682778d75 ARM varargs
kono
parents: 408
diff changeset
6127 �������ߤ������͡�char �Ǥ� |--===|===--| �����뤷���äƤ��Ȥϡ����ʤ�
b72682778d75 ARM varargs
kono
parents: 408
diff changeset
6128 �Ѥ��ʤ��Ȥ�����Ƥ��Ȥ��ʤ������ʤ����Ǥʤ���С�����������ư��������ɡ�
b72682778d75 ARM varargs
kono
parents: 408
diff changeset
6129
b72682778d75 ARM varargs
kono
parents: 408
diff changeset
6130 �Ĥ�ϡ�stdarg �� bitfield ���������ޤ��������󤸤�ʤ�? stdarg �ϡ�
b72682778d75 ARM varargs
kono
parents: 408
diff changeset
6131 stdarg.h ��ʬ�Ǻ����ɤ��ߤ�����
b72682778d75 ARM varargs
kono
parents: 408
diff changeset
6132
410
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6133 Tue Oct 19 11:12:16 JST 2004
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6134
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6135 �ޤ���? �Υ��顼����
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6136 ## mode=(s==STRUCT?GSDECL:GUDECL);
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6137 # 1287: : creg=r4 freg=f0
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6138 ldr r4, [fp, #4]
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6139 mvn r7, #6
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6140 cmp r4, r7
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6141 bne .L713
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6142 mov r7, #2
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6143 b .L714
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6144 .L713:
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6145 mov r7, #3
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6146 mov r0, r7
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6147 .L714:
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6148 ldr r7, .L709+4
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6149 str r0, [r7, #0]
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6150 �ƥ��ȥ롼����ɬ�פ��͡�
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6151
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6152 (MIPS�Ȥ�PowerPC�Ȥ��������ֲ�������ä��ߤ���...)
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6153
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6154 C �ȤθƽФ�������Ƥ���(��äѤ�쥸����?) mc �� gcc �Υ��֥������Ȥ�
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6155 ���ߤ�����Ȥ�����͡�
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6156
5a3b1b65c6a8 ARM self compile almost passed.
kono
parents: 409
diff changeset
6157 ��ư�������ط��� Endian ����������
412
6b3385124e5e ARM regsiter var pattern fix.
kono
parents: 410
diff changeset
6158
6b3385124e5e ARM regsiter var pattern fix.
kono
parents: 410
diff changeset
6159 Tue Oct 19 19:07:57 JST 2004
6b3385124e5e ARM regsiter var pattern fix.
kono
parents: 410
diff changeset
6160
6b3385124e5e ARM regsiter var pattern fix.
kono
parents: 410
diff changeset
6161 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, ip, lr, pc}
6b3385124e5e ARM regsiter var pattern fix.
kono
parents: 410
diff changeset
6162
6b3385124e5e ARM regsiter var pattern fix.
kono
parents: 410
diff changeset
6163 �äƤ櫓�ǡ�r0-r3 ��input register�ǡ�r4-sl ��register_var ��tmp
6b3385124e5e ARM regsiter var pattern fix.
kono
parents: 410
diff changeset
6164 ���ͤ�櫓���͡�r4����������register_var �˳�꿶�����þ�����������
6b3385124e5e ARM regsiter var pattern fix.
kono
parents: 410
diff changeset
6165
6b3385124e5e ARM regsiter var pattern fix.
kono
parents: 410
diff changeset
6166 �äƤ��Ȥϡ�����ѿ��ǤϤʤ��Ѷ�Ū�˥쥸�����ѿ���Ȥä�����
6b3385124e5e ARM regsiter var pattern fix.
kono
parents: 410
diff changeset
6167 �ɤ��櫓������...
413
d4dc6d99ffdb *** empty log message ***
kono
parents: 412
diff changeset
6168
d4dc6d99ffdb *** empty log message ***
kono
parents: 412
diff changeset
6169 save_stack �� register var ��save ����ɬ�פϤʤ�������...
d4dc6d99ffdb *** empty log message ***
kono
parents: 412
diff changeset
6170
d4dc6d99ffdb *** empty log message ***
kono
parents: 412
diff changeset
6171 longlong_lib �� creg �� RET_LREG �ˤʤäƤ������ɡ����γ��ǡ�
d4dc6d99ffdb *** empty log message ***
kono
parents: 412
diff changeset
6172 emit_pop_free ������ˡ����ΰ�����RET_LREG�ȽŤʤäƤ��ơ�
d4dc6d99ffdb *** empty log message ***
kono
parents: 412
diff changeset
6173 ����free����Ƥ��ޤ�����������ȡ�����emit_pop�ǡ���񤭤���Ƥ��ޤ���
d4dc6d99ffdb *** empty log message ***
kono
parents: 412
diff changeset
6174 �ʤΤǡ�RET_LREG�ˤ��ʤ��ǡ�lmove ���Ƥ��ޤ��Τ��ɤ���
414
0a4416b34d4a align fix.
kono
parents: 413
diff changeset
6175
0a4416b34d4a align fix.
kono
parents: 413
diff changeset
6176 align ����������
416
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6177
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6178 Sat Oct 23 23:33:11 JST 2004
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6179
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6180 struct ��Ȥä� interface ��register ��map���뤫�ɤ������ޤ���
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6181 �񤷤����ɤ͡�
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6182
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6183 ��äѤ�arm��bitfield���碌��Τϻߤ᤿���������󤸤�ʤ�?
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6184 long long �ʳ��ϡ������礭�������б��Ǥ��롣long long �ΤϤ߽Ф�
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6185 �ϡ�����ä��н�Ǥ��ʤ���
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6186 a:8 => a0:4<<4+a1:4
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6187 a:8 = hoge => a0:4 = hoge<<4, a1:4 = hoge;
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6188 �Ȥ����褦��ʬ�򤹤�?
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6189
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6190 Sun Oct 24 14:19:13 JST 2004
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6191
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6192 code_frame_pointer �� code_environment ��Ʊ���ʤ�Ǥ�����...
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6193
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6194 ����ʹ�¤�Τ�������������ȡ�
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6195
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6196 ��ʬ���Ȥ��ŤʤäƤ���
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6197 |----------|
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6198 |----------|
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6199
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6200 �Ǥϡ�
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6201 |----------|
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6202 --copy-> |----------|
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6203 ¾�Τ�Τ�����
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6204 <-copy--
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6205 |----------|
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6206 �äƤ��Ȥˤʤ롣
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6207
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6208 ����ϡ�����äȼ�֤��礭����
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6209 |--|---|---|
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6210 |--|---|---|
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6211 ��ʬ�䤹��(ʬ�䤬�٤����ʤ�ʤ�?)
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6212 |---|--|---|
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6213 |---|--|---|
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6214
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6215 ʬ��Ϥ�����͡���ʬ���Ȥ����ŤʤäƤʤ��Τ��ä���overappable copy
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6216 ���롣
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6217 |----------|----------|----------|
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6218 |----------|----------|----------|
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6219
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6220 circular dependency ��recursive call����ɬ�פϤʤ��͡�
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6221
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6222 �ʤ󤫡���¤�Τ����١������å��ˤ������Ƥ����ᤵ��Ƥ���ߤ���
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6223
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6224 RSTRUCT �äơ������ˤ����?
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6225
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6226 �ʤ󤫡��֤ޤ���emit_copy ���ְ�äƤ���!��
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6227
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6228 PowerPC �ϡ�code �Υ쥸�����˳�����Ƥ�줿ʬ�Υ����å���ΰ���
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6229 �������ƤƤ���ʡ��ʤΤǡ�
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6230 ## code carg6(int i, int j,int k,int l,struct arg args0)
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6231 ## goto carg3(args0,args0,i,j,k,l);
417
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6232 �ǡ�args0 ��copy��;�פ˽Ф�͡� �����⤺�������ѡ�(*)
416
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6233
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6234 ̵���ǤϤ�������...
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6235
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6236 �Ǥ⡢����ǥХ��򸫤Ĥ����櫓����
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6237
a6ed0575d731 ARM goto code, Parallel assignment
kono
parents: 414
diff changeset
6238 �����֡�enbug ������ä���...
417
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6239
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6240 emit_copy ��memmove ������ˤϡ�offset ��̵�뤹�롣address + offset
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6241 ���顢reverse �� address �ޤǥ��ԡ�����Ȥ�����̣�����顣
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6242
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6243 memmove �ϡ�����쥸����������Ƥ��ޤ��Τǡ�parallel assignment
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6244 �ΰ���ˤ����̤Υ쥸�����ϻȤ��ʤ���
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6245
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6246 PowerPC �� code segment �ǡ���������CALLER_ARG �Ĥޤꡢ�ؿ��ƤӽФ�
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6247 �Υ����å��ȽŤʤäƤ��롣code_disp_offset �Ǥ�Ĵ���Ǥ��ʤ��餷����
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6248 ���ޤǤϡ�(*) �Τ�����;�פ˰���ѿ����äƤ����ΤǸ������ʤ��ä�
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6249 �餷����
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6250
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6251 ������... �����ľ�ä�����...
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6252
98888da30b35 code jump fixes (not finished)
kono
parents: 416
diff changeset
6253 ¾�Τ��ɤ�ɤ�ư���ʤ��ʤ�...
418
c73f013d07d7 ARM complete. PowerPC, MIPS, IA32 checked.
kono
parents: 417
diff changeset
6254
c73f013d07d7 ARM complete. PowerPC, MIPS, IA32 checked.
kono
parents: 417
diff changeset
6255 Mon Oct 25 03:13:48 JST 2004
c73f013d07d7 ARM complete. PowerPC, MIPS, IA32 checked.
kono
parents: 417
diff changeset
6256
c73f013d07d7 ARM complete. PowerPC, MIPS, IA32 checked.
kono
parents: 417
diff changeset
6257 codegen �ǡ�jump ���Ƥ���Τ����ɡ������Ǥϡ�offset -1 �ǡ�
c73f013d07d7 ARM complete. PowerPC, MIPS, IA32 checked.
kono
parents: 417
diff changeset
6258 �ɽ��ѿ��Ȥʤ롣�ɽ��ѿ��򤽤Τޤ�code_segment �ΰ�����
c73f013d07d7 ARM complete. PowerPC, MIPS, IA32 checked.
kono
parents: 417
diff changeset
6259 ���Ƥ���餷����
c73f013d07d7 ARM complete. PowerPC, MIPS, IA32 checked.
kono
parents: 417
diff changeset
6260
c73f013d07d7 ARM complete. PowerPC, MIPS, IA32 checked.
kono
parents: 417
diff changeset
6261 code_segment¦�Ǥ⡢Ʊ��offset�ǽ������뤬��ARM�ξ��ϡ�
c73f013d07d7 ARM complete. PowerPC, MIPS, IA32 checked.
kono
parents: 417
diff changeset
6262 offset 0- -xx �ޤǤϡ�register save �����롣�������٤�
c73f013d07d7 ARM complete. PowerPC, MIPS, IA32 checked.
kono
parents: 417
diff changeset
6263 ���Ƥ��ޤ��餷����goto ���ˡ��ǡ���ä��Ȥ���error�Ȥʤ롣
c73f013d07d7 ARM complete. PowerPC, MIPS, IA32 checked.
kono
parents: 417
diff changeset
6264 register ��������save ����Τǡ����Ϥ狼�äƤ���Τǡ������
c73f013d07d7 ARM complete. PowerPC, MIPS, IA32 checked.
kono
parents: 417
diff changeset
6265 ­�����ɤ����������ɤ͡�(���졢�����ä���...)
419
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6266
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6267 Mon Oct 25 19:36:16 JST 2004
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6268
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6269 �ʤ󤫡��Ǥ�����
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6270
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6271 �ޤ����쥸����ʬ�Υ��ե��åȤ�code_segment�Ǽ����Τ�ľ���Ƥʤ���
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6272 ARM �� bit field �η�ɤ���͡�
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6273
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6274 ���Ȥϡ�
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6275 inline
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6276 CbC2C
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6277 C2CbC
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6278 �������͡�
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6279
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6280 Wed Oct 27 08:48:37 JST 2004
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6281
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6282 MIPS��alloca�ϡ�$sp���ư����Τǡ�j �θ�Ρ�code segement ��
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6283 lw $gp,$L_41($sp)
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6284 �Ϥޤ����������̾�ϡ�
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6285 lw $gp,$L_41($fp)
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6286 ���Ф롣�����顢alloca ��$gp���ư����ɬ�פϤʤ�����������code_segment
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6287 �� alloca �ϻȤ��ʤ���$gp ��sw���ʤ�����?
5fafb50df9d4 fix mips memmove
kono
parents: 418
diff changeset
6288
420
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6289 input interface ��¤�Τ� alignment ��64�ˤ���С��ޥå������ǽ����
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6290 ����äȹ⤯�ʤ롣
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6291
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6292 const ���쥸�����˴��ˤ��뤫�ɤ���������å�����? �ޡ�����ʤ�����
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6293
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6294 ARM �� bitield
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6295 |---====|=====|====----|
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6296 |--===|===--|
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6297 �ϡ�mc-codegen ¦���н褷�ʤ�? char/short/int �� -> short/int/long
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6298 �ˤ�����ɤ��櫓����͡�
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6299
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6300 ����ϡ�long �������Ϥߤ����Τ�int���äƤ狼�äƤ��롣
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6301
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6302 bit_filed
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6303 bit_field(upper) << offset + bit_filed(lower)
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6304
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6305 bassign
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6306 bit_filed(upper) = value >> offset;
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6307 bit_filed(lower) = value << (32-offset-size);
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6308
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6309 bassop ....
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6310
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6311 ��äѤ�����ᡣ
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6312
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6313 bit_filed �����ˡ��ɤ߹��ߤ��ʳ���
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6314 upper2 << offset + (lower&mask >> 32-offset-size)
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6315 ���뤫��
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6316
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6317 bit_field_repl,bit_filed_repl_const �Ϥ��Τޤޤǡ�
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6318 ��������Ȥ��ˡ���� replace ���롣
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6319
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6320 ����ʤ����Ȥ���
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6321
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6322 ** �����ǤϤʤ��ơ�
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6323
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6324 long ��int��;�ä��Ȥ��γ��ݤ�����(int)(bitfield_opt)��stack����Ѱդ��롣
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6325 (new_lvar�Ǥ��礦��) get_register_var �Ǥ⤤������... ARM �Ǥϰ�̣�ʤ�
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6326 �������ʡ�
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6327
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6328 mc-codegen:bit_field �Ǥϡ�load ������ˡ�bitfield_opt �ˤ�load
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6329 code_bit_field �Ǥϡ�ɬ�פʤ�С�bitfield_opt �����ͤ��ɤ�
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6330
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6331 mc-codegen:bassign �Ǥϡ�load ������ˡ�bitfield_opt �ˤ�load
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6332 mc-codegen:bit_field_repl �Ǥϡ�ɬ�פʤ�С�bitfield_opt ���ִ�����
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6333 �������ˤϡ�˺�줺��bit_field_opt ��񤭹���
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6334
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6335 mc-codegen:bassop �Ǥϡ�tmp1 ���ɤ�Ȥ���bitfield_opt �ˤ⤤���
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6336
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6337 �Ǥ����󤸤�ʤ�? ��������...
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6338
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6339 Thu Oct 28 17:40:35 JST 2004
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6340
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6341 ��������ѹ�����¿�����롣long long �ǥХ�����꤬�ޤ������
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6342 �ˤϡ���Ǽtype �� struct { int [3]; } �Ȥ��ơ�����ΰ�˳�Ǽ
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6343 ���롣�ºݤˤϡ����ɥ쥹�����ä���뤳�Ȥˤʤ롣�ǡ�code_bit_
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6344 replace_const �ʤɤǤϡ����ɥ쥹���Ф��ƽ���������ɤ�������
422
83a7f9426a55 bitfield continue...
kono
parents: 420
diff changeset
6345 ����С�codegen ¦���ѹ���(�ۤȤ��)�ʤ��ʤ롣
420
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6346
efbd420386c5 non aligned bitfield (not yet finished)
kono
parents: 419
diff changeset
6347 �Ǥ⡢��������ȳ�Ǽ�����ͷ�����̤��ʤ��Ȥޤ����͡�
422
83a7f9426a55 bitfield continue...
kono
parents: 420
diff changeset
6348
83a7f9426a55 bitfield continue...
kono
parents: 420
diff changeset
6349 Fri Oct 29 04:19:58 JST 2004
83a7f9426a55 bitfield continue...
kono
parents: 420
diff changeset
6350
83a7f9426a55 bitfield continue...
kono
parents: 420
diff changeset
6351 code-* ¦�ˤ�type��������¤�Ȥ����Ϥ��Τ��ɤ��ʤ���
83a7f9426a55 bitfield continue...
kono
parents: 420
diff changeset
6352
83a7f9426a55 bitfield continue...
kono
parents: 420
diff changeset
6353 ���Ȥϡ���Ǽ��>�ͷ��λ���bit���ͤν������ʡ�
83a7f9426a55 bitfield continue...
kono
parents: 420
diff changeset
6354
83a7f9426a55 bitfield continue...
kono
parents: 420
diff changeset
6355 ���μ��bit-field �äơ�����ʤ顢inline �� *C* �ǵ��Ҥ����٤�
83a7f9426a55 bitfield continue...
kono
parents: 420
diff changeset
6356 ��Τ���͡�
83a7f9426a55 bitfield continue...
kono
parents: 420
diff changeset
6357
424
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6358 Fri Oct 29 20:30:41 JST 2004
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6359
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6360 �Ǥ�������.... bassign �����sassign�ǥ��ɥ쥹�������Х���
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6361 ����餷��������ϡ�;�פʥ��ԡ������äƤ⡢���Ϥʤ��Ϥ�
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6362 �ʤ������
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6363 diff test/bitfield.gcc.out test/bitfield.mc-arm.out
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6364 1058c1058
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6365 < 2:00000000 00000000 00000000 def00000 56789abc 00000234 00000000 00000000
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6366 ---
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6367 > 2:00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6368 �ȸ������ǡ���񤭤��Ƥ��ޤ���
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6369
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6370 dum()��Ϥ����ľ�ä�������Τǥ쥸�����Υ��ƥʥ󥹤�
485bf7dde96a ARM non-aligned bitfield
kono
parents: 422
diff changeset
6371 ����餷����...
425
7851023f5af1 arg input register
kono
parents: 424
diff changeset
6372
7851023f5af1 arg input register
kono
parents: 424
diff changeset
6373 ����ѿ���ptr cache����jump ��input argument regsiter ��
7851023f5af1 arg input register
kono
parents: 424
diff changeset
6374 �����Ƥ��ޤ���ARM�ʳ��Ϥɤ����Ʋ����ʤ�? ñ�˥쥸����
7851023f5af1 arg input register
kono
parents: 424
diff changeset
6375 ���Ѥν��������ǡ��Ǥ��ǽ���Ϥ���äƤ��Ȥ���
7851023f5af1 arg input register
kono
parents: 424
diff changeset
6376 jump �����usig_reg ������ɤ�������ɡ�
7851023f5af1 arg input register
kono
parents: 424
diff changeset
6377
7851023f5af1 arg input register
kono
parents: 424
diff changeset
6378 get_input_register* ��code�ξ����� using_reg ������ä����ɡ�
7851023f5af1 arg input register
kono
parents: 424
diff changeset
6379 ��������?
7851023f5af1 arg input register
kono
parents: 424
diff changeset
6380
7851023f5af1 arg input register
kono
parents: 424
diff changeset
6381 ���äȡ�goto ����ư�������쥸�����Ϥ��򤢤ޤ�ƥ��Ȥ��Ƥʤ��͡�
426
fb136af3bf09 Bitfield reorganization.
kono
parents: 425
diff changeset
6382
fb136af3bf09 Bitfield reorganization.
kono
parents: 425
diff changeset
6383 bitfield �ϡ����ɥ쥹�Ϥ��ǡ��������ʤ������ɤ��͡�
427
0c256ea2a97e Bitfield left value for ia32
kono
parents: 426
diff changeset
6384
0c256ea2a97e Bitfield left value for ia32
kono
parents: 426
diff changeset
6385 Sat Oct 30 17:48:18 JST 2004
0c256ea2a97e Bitfield left value for ia32
kono
parents: 426
diff changeset
6386
0c256ea2a97e Bitfield left value for ia32
kono
parents: 426
diff changeset
6387 ������������ѹ������Ĥ�...
0c256ea2a97e Bitfield left value for ia32
kono
parents: 426
diff changeset
6388
0c256ea2a97e Bitfield left value for ia32
kono
parents: 426
diff changeset
6389 a = b = c = 0
0c256ea2a97e Bitfield left value for ia32
kono
parents: 426
diff changeset
6390
0c256ea2a97e Bitfield left value for ia32
kono
parents: 426
diff changeset
6391 �ǡ�a ����������ˤϤʤ�ʤ��Τ�? �̾�Ϥ���������ɡ�bitfield
0c256ea2a97e Bitfield left value for ia32
kono
parents: 426
diff changeset
6392 �Ȥ��Ǥ�;���ɤ��ʤ��͡�
428
61c77ff18023 MIPS bitfield fix
kono
parents: 427
diff changeset
6393
61c77ff18023 MIPS bitfield fix
kono
parents: 427
diff changeset
6394 Sat Oct 30 20:39:34 JST 2004
61c77ff18023 MIPS bitfield fix
kono
parents: 427
diff changeset
6395
61c77ff18023 MIPS bitfield fix
kono
parents: 427
diff changeset
6396 MIPS ��$4,$5,$6,$7 �ϰ����Ϥ��˻Ȥ���櫓�����ɡ�
61c77ff18023 MIPS bitfield fix
kono
parents: 427
diff changeset
6397 6,7��long long ������Ȥ��ˤϡ�$5 �ˤϡ�$6 ��Ʊ���ͤ�����?
61c77ff18023 MIPS bitfield fix
kono
parents: 427
diff changeset
6398 ���䡢bitfield1.c �� printf �� %lld �� %d �ˤʤäƤ��������Ǥ�����
430
ba5faa547607 ARM bitfield done.
kono
parents: 428
diff changeset
6399
ba5faa547607 ARM bitfield done.
kono
parents: 428
diff changeset
6400 ARM �� lreg ��regsiter �� lost ����Τ�ߤ���ʤ�...
ba5faa547607 ARM bitfield done.
kono
parents: 428
diff changeset
6401 use_input_reg(int reg,int mode) �äƤ�äѤꡢ����������͡�
ba5faa547607 ARM bitfield done.
kono
parents: 428
diff changeset
6402
432
f8ebd7e1c644 *** empty log message ***
kono
parents: 430
diff changeset
6403 �ʤ󤫡�ľ���Τ�5���֤⤫���ä��衣
f8ebd7e1c644 *** empty log message ***
kono
parents: 430
diff changeset
6404
f8ebd7e1c644 *** empty log message ***
kono
parents: 430
diff changeset
6405 ARM �Ǥϡ�use_int/use_longlong �η����֤��� lreg ��lost ����
f8ebd7e1c644 *** empty log message ***
kono
parents: 430
diff changeset
6406 �餷���Τ�����¾��mips/powerpc �Ǥϡ������������Ȥϵ����ʤ���
f8ebd7e1c644 *** empty log message ***
kono
parents: 430
diff changeset
6407 �ʤ�Ǥ�����?
f8ebd7e1c644 *** empty log message ***
kono
parents: 430
diff changeset
6408
434
6927ec51c1d7 Struct division in Parallel Assignment
kono
parents: 432
diff changeset
6409 Wed Nov 3 18:31:28 JST 2004
6927ec51c1d7 Struct division in Parallel Assignment
kono
parents: 432
diff changeset
6410
6927ec51c1d7 Struct division in Parallel Assignment
kono
parents: 432
diff changeset
6411 ��äѤ깽¤�Τ�intñ�̤�ʬ�򤹤�������������ɤ��ʤ�͡���
6927ec51c1d7 Struct division in Parallel Assignment
kono
parents: 432
diff changeset
6412 ������������ȡ�����ʹ�¤�ΤǤϥ���ѥ�����֤������ꤹ����
6927ec51c1d7 Struct division in Parallel Assignment
kono
parents: 432
diff changeset
6413 �Τȡ������ɤ��Ǥ����ʤäƤ��ޤ���
6927ec51c1d7 Struct division in Parallel Assignment
kono
parents: 432
diff changeset
6414
6927ec51c1d7 Struct division in Parallel Assignment
kono
parents: 432
diff changeset
6415 ���������⡢�⤦�����ͤ���٤����ʡ�
435
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6416 code f(int a,struct b) {
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6417 goto g(b,a);
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6418 }
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6419 �ߤ����ʾ����͡�
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6420
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6421 ʬ�򤷤Ƥ��顢�⤦���١�memcpy �ˤޤȤ��Ȥ�����⤢�뤱��...
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6422 �����١����ǤϤʤ��ơ�swap base ���ִ��ˤ���?
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6423 for(i) swap(a[i],b[i]);
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6424 �ߤ����ʴ���?
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6425 code f(struct a,struct b) {
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6426 goto g(b,a);
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6427 }
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6428 �ߤ����ʾ��ϡ�����ʤΤ�˾�ޤ�����...
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6429
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6430 ʬ�򤷤ƽ���¸���ä��ơ�address ��sort �����... memcpy
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6431 �ϸ��ФǤ���Ϥ�������...
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6432
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6433 ����������������¸�ϡ�����Ū��swap�Dz��Ǥ���Ϥ���
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6434 copy(a,b)
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6435 swap(a,b)
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6436 ���ȹ礻�ǡ���Ŭ�ʷ�̤�������Ϥ�����������С�save�Ȥ�
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6437 �򤷤ʤ��Ƥ��ࡣ
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6438 (a,b,c) <= (b,c,a)
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6439 �ϡ�
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6440 swap(a,b); swap(c,a);
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6441 �Ȥʤ�? ����?
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6442
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6443 case triple
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6444 a b c
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6445 |---||-----||---------|
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6446 b c a
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6447 |-----||---------||---|
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6448
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6449 ������
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6450
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6451 circular_dependency => smallest dependent element
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6452 singleton or not
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6453
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6454 swith(circula_depent(&small)) {
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6455 case CIRCULAR_DEPEND: save(small); remove(small); break;
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6456 case DEPEND_SINGLETON: memcpy(small); break;
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6457 default: continue; // try another
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6458 }
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6459
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6460 ������ȡ�a ��save, b ��save�ǡ�c ��signleton �Ȥ������Ȥˤʤ롣
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6461 ���䡢b ��singleton �ˤʤ뤫��? b&c ���Ĥ�memcpy�ˤޤȤ��
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6462 �Τϡ�����ۤɰ�̣�Ϥʤ���...
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6463
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6464 ����Ǥ⡢
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6465 case eq
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6466 a b
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6467 |---------|---------|
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6468 b a
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6469 |---------|---------|
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6470 �ϡ�save code ���ФƤ��ޤ����ޤ�����ξ��Ǥ⡢a ���Ǥ������
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6471 �������͡����衢
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6472 one integeter save
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6473 �������Ǥ���Ϥ���(�����swap) �ǡ�ʬ�򤹤�Ф����swap code�ϽФ롣
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6474
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6475 memcpy ���뤿��ˤϡ������������save���ʤ��Ȥ��ᡣ�����顢memcpy
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6476 �Ȥ�ξΩ���ʤ������󡣤����顢swap operation �ˤ���Τ��ɤ�������
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6477 case triple ��swap operation �Dz�褹����ˡ���ɤ��狼��ʤ���
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6478 a b c
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6479 |123||45678||9abcdefgh|
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6480 |-23||45678||9abcdefgh| {1}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6481 |423||-5678||9abcdefgh| {1}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6482 �äƤʴ�������������ϡ�space/operation trade off �ʤ�?
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6483 a b c
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6484 |123||45678||9abcdefgh|
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6485 |-23||45678||9abcdefgh| {1}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6486 |4-3||15678||9abcdefgh| {2}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6487 |45-||12678||9abcdefgh| {3}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6488 |456||-2378||9abcdefgh| {1}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6489 |456||7-318||9abcdefgh| {2}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6490 |45678||-12||9abcdefgh| {3}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6491 |45678||9-2||3abcdefgh| {1}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6492 |45678||9a-||31bcdefgh| {2}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6493 |45678||9ab-||12cdefgh| {3}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6494 |45678||9abc-||23defgh| {1}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6495 |45678||9abcd-||31efgh| {2}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6496 |45678||9abcde-||12fgh| {3}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6497 |45678||9abcdef-||23gh| {1}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6498 |45678||9abcdefg-||31h| {2}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6499 |45678||9abcdefgh||-12| {3}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6500 |45678||9abcdefgh||1-2| {3}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6501 |45678||9abcdefgh||12-| {3}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6502 |45678||9abcdefgh||123| {-}
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6503 b c a
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6504 �ǡ��Ǥ���ˤϤǤ�������....
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6505
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6506 ����ȡ�memcpy�Ȥɤä���®�����ϥ������ƥ������memcpy�ˤ�롣
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6507
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6508 �����顢
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6509 �������١���������¤�Τ�ʬ��
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6510 �礭�ʤ�Τϡ�singleton/smallest detection ��ޤ����
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6511 save ���礭������Ȥ��ˤϡ�circular dependent �����Ǥ���̤�Ф�
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6512 �äƤʴ����Ǥ����͡�
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6513
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6514 ����̤ʤ�����ɡ�
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6515 a b c
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6516 |-||---||-------|
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6517 123456789abcdefgh
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6518 a b1 c b2 c_t + c_s ��swap
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6519 |-||||-------||-|
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6520 123459abcdefgh678
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6521 b2 b1 c a a_t + b2 ��swap
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6522 |-||||-------||-|
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6523 678459abcdefgh123
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6524 b c a b2,b1 ��swap
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6525 |---||-------||-|
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6526 456789abcdefgh123
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6527 �äƤʴ������礭�ʤ�Τ���swap���ʡ���������м�ưŪ��ʬ�䤵���
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6528 �Τǡ�ʬ���ɬ�פʤ��ʤ�?
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6529
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6530 circular_dependency => smallest dependent element
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6531 singleton or not
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6532
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6533 swith(circula_depent(&small,&large_conflict)) {
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6534 case CIRCULAR_DEPEND:
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6535 if (size(small) < SAVE_MAX) {
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6536 save(small); remove(small); break;
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6537 } else {
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6538 swap_divide(large_conflict);
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6539 reposition(conflict);
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6540 remove(large);
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6541 break;
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6542 }
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6543 case DEPEND_SINGLETON: memmove(small); break;
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6544 default: continue; // try another
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6545 }
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6546
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6547 swap: ld r0,(to);
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6548 ld r1,(from);
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6549 st r0,(from++);
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6550 st r1,(to++);
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6551 if (cnt-->0) goto swap
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6552
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6553 �äƴ���? swap ���줿�Ǹ夬���ɤ������ѥ�����ˤʤ뤫�ϡ�����ä�
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6554 ������������ɤ͡�
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6555
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6556 Thu Nov 4 10:15:29 JST 2004
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6557
d3e6359f8501 loprtc LLSHIFT....
kono
parents: 434
diff changeset
6558 �����ʤ� long long ��������եȤ� > 32 �ξ���˺��Ƥ���͡�
436
kono
parents: 435
diff changeset
6559
kono
parents: 435
diff changeset
6560 Fri Nov 12 15:37:42 JST 2004
kono
parents: 435
diff changeset
6561
kono
parents: 435
diff changeset
6562 ��äѤꡢrecord (taged union) ���ߤ�����͡�
kono
parents: 435
diff changeset
6563
kono
parents: 435
diff changeset
6564 struct {
kono
parents: 435
diff changeset
6565 enum {hoge0,hoge1,hoge2} i;
kono
parents: 435
diff changeset
6566 switch(i) {
kono
parents: 435
diff changeset
6567 case hoge0: struct {...} b;
kono
parents: 435
diff changeset
6568 case hoge1: struct {...} c;
kono
parents: 435
diff changeset
6569 case hoge2: struct {...} d;
kono
parents: 435
diff changeset
6570 }
kono
parents: 435
diff changeset
6571 } a;
kono
parents: 435
diff changeset
6572
kono
parents: 435
diff changeset
6573 assert(a.i==hoge0);
kono
parents: 435
diff changeset
6574 a.b.j = 3;
kono
parents: 435
diff changeset
6575 assert(a.i==hoge0);
kono
parents: 435
diff changeset
6576 printf("%d\n",a.b.j);
kono
parents: 435
diff changeset
6577
kono
parents: 435
diff changeset
6578 �����󡢤���ޤ��ɤ��ʤ��ʤ���������ä��顢����ʤ���͡�
kono
parents: 435
diff changeset
6579
kono
parents: 435
diff changeset
6580 Fri Nov 12 15:59:32 JST 2004
kono
parents: 435
diff changeset
6581
kono
parents: 435
diff changeset
6582 Template ���뤤�Ϸ��ѿ������줿���ʤ���͡������Ȥ��Ƥ⡢
kono
parents: 435
diff changeset
6583 ��̸���������ʤ���
kono
parents: 435
diff changeset
6584
kono
parents: 435
diff changeset
6585 Sat Nov 13 11:05:06 JST 2004
kono
parents: 435
diff changeset
6586
kono
parents: 435
diff changeset
6587 main() { printf("%d,%d\n", -555>>3,-555/8); }
kono
parents: 435
diff changeset
6588 -70,-69
kono
parents: 435
diff changeset
6589
kono
parents: 435
diff changeset
6590 �ʤ�ۤɤ͡�
kono
parents: 435
diff changeset
6591
kono
parents: 435
diff changeset
6592 �ʤ� arm-linux-gcc ���Х��äƤ����...
kono
parents: 435
diff changeset
6593
kono
parents: 435
diff changeset
6594 ltosop_register()
kono
parents: 435
diff changeset
6595 {
kono
parents: 435
diff changeset
6596 register long long i1,i2,i;
kono
parents: 435
diff changeset
6597 register unsigned long long u1,u2,u;
kono
parents: 435
diff changeset
6598 u1 = 632423423; u2= 32394234;
kono
parents: 435
diff changeset
6599 u = 0;
kono
parents: 435
diff changeset
6600 ....
kono
parents: 435
diff changeset
6601 u = u1 & u2;
kono
parents: 435
diff changeset
6602 printf("#2052:ltosop r u 6 %llu\n",u);
kono
parents: 435
diff changeset
6603
kono
parents: 435
diff changeset
6604 sub r6, fp, #48
kono
parents: 435
diff changeset
6605 ldmia r6, {r2-r3}
kono
parents: 435
diff changeset
6606 sub r7, fp, #48 <---?!
kono
parents: 435
diff changeset
6607 ldmdb r7, {r6-r7}
kono
parents: 435
diff changeset
6608 and r2, r2, r6
kono
parents: 435
diff changeset
6609 and r3, r3, r7
kono
parents: 435
diff changeset
6610 sub r7, fp, #64
kono
parents: 435
diff changeset
6611 stmia r7, {r2-r3}
kono
parents: 435
diff changeset
6612 ldr r0, .L640+92
kono
parents: 435
diff changeset
6613
kono
parents: 435
diff changeset
6614 �ʤ�Ǥ��͡�
kono
parents: 435
diff changeset
6615
437
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6616 Sun Nov 14 15:59:33 JST 2004
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6617
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6618 �褷��inline ��뤫��
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6619
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6620 inline function (or parsed tree)
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6621 list4(INLINE,name,type)
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6622 declaration (argument, local, static)
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6623 list4(DECL,next,type,name) done by def (?)
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6624 statement
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6625 list3(IF,next,list3(cond,then,else))
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6626 list3(DO,next,list2(cond,while))
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6627 list3(FOR,next,list4(A,B,C,body))
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6628 list4(SWITCH,next,expr,body)
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6629 list3(COMP,next,body)
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6630 list2(BREAK,next)
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6631 list2(CONTINUE,next)
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6632 list3(CASE,next,label)
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6633 list3(RETURN,next,expr)
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6634 list3(GOTO,next,expr,env)
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6635 list3(ASM,next,list4(A,B,C,D))
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6636 list3(LABEL,next,label)
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6637 list3(COMMENT,next,comment) (?)
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6638
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6639 (1) make inline tree
49d4483d5110 LRULVAR in lassign
kono
parents: 436
diff changeset
6640 (2) evaluate inline function (copy and partial evaluation)
438
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6641 peval(inline_func,args)
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6642 similar to the function call (with type check)
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6643
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6644 const ����Τ��ʤ���
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6645 builtin_constant_p ������
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6646
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6647 Mon Nov 15 17:37:57 JST 2004
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6648
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6649 code hoge() { a; }
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6650 code hoge1() { b; }
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6651
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6652 �Ǥϡ�a-> b �ˡ����Τޤ������٤��������͡��ե����뤬ʬΥ�����
440
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6653 ���Ͼ������뤬.... �������ʤ����˥��顼��Ф��ʤ��ȡ�
438
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6654
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6655 if (0) hoge; ��hoge����������Ƥ��ޤ���control ���ڤäƤ�Ф�͡�
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6656 ���䡢�ä��Ƥޤ�����������jmp ����������Ƥ��ޤ��͡�checkret
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6657 �ǡ������å�����٤��Ǥ��礦��
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6658
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6659 checkret �ϡ�control �����������Ȥ����ǸƤФ��櫓�����顢�����
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6660 control=1 �ˤ���Τϡ�checkret �����Ǥ���٤���
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6661 jmp(hoge) �ϡ�pending_jmp
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6662 �����ꤷ�ơ�checkret �ǡ�pending_jmp ����������櫓������
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6663 �ǡ�pending jmp �����ꤷ��label����������С�pending_jmp ��0��
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6664 ���ꤵ���(������reference���줿�����Τ�ʤ�����label����������?)
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6665 label ��reference�������ɤ�����flag���դ��������ɤ�?
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6666
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6667 if (1) hoge else fuga ; �� fuga ����������Ƥ��ޤ���bexpr ��
626d705471d5 Unexecuted code in conditional. Lazy jmp code generation.
kono
parents: 437
diff changeset
6668 always jump ���ɤ������֤������Ȥ�������...
440
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6669
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6670 Mon Nov 15 21:25:15 JST 2004
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6671
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6672 ��¤Ū�ˤϤ���inline �ϡ�CbC �γ��ǹԤ���٤���Τ���͡�
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6673 �����ǽ������Ƥ⤤��������ɡ�����ϳ��Ǥ��٤���ΤǤ���
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6674
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6675 gcov ������!
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6676
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6677 Sat Nov 20 16:44:38 JST 2004
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6678
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6679 �Ť�switch�μ���������Ƥ��롣lazy jump �αƶ��餷����
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6680
441
1edaa643458e *** empty log message ***
kono
parents: 440
diff changeset
6681 PowerPC �� cmp immideate value ����Ϥ��Ƥʤ������Τ�����ϡ�
1edaa643458e *** empty log message ***
kono
parents: 440
diff changeset
6682 �Ѷ�Ū������������뤱�ɤ͡�ľ���Ȥ��ɤ��������⡣
1edaa643458e *** empty log message ***
kono
parents: 440
diff changeset
6683 MIPS �� ARM �ϡ�����äȤ������äƤ�ʡ�
440
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6684
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6685 ���졢ʣ���Υե�����򥳥�ѥ��뤹��Ȥ������꤬���ä��褦��
a531bbf572e3 regression test (case, float, long long)
kono
parents: 438
diff changeset
6686 ������������...
441
1edaa643458e *** empty log message ***
kono
parents: 440
diff changeset
6687
1edaa643458e *** empty log message ***
kono
parents: 440
diff changeset
6688
442
86b04fb4562e minor fix...
kono
parents: 441
diff changeset
6689 Sat Nov 20 22:00:36 JST 2004
86b04fb4562e minor fix...
kono
parents: 441
diff changeset
6690
86b04fb4562e minor fix...
kono
parents: 441
diff changeset
6691 �������ʤ󤫤��������˲����Ƥ��뤷��