diff Changes @ 576:00e5ce0e341a

*** empty log message ***
author kono
date Sun, 15 Jan 2006 12:03:37 +0900 (2006-01-15)
parents a4445cb1aa91
children 7e0076617c76
line wrap: on
line diff
--- a/Changes	Sat Jan 14 01:00:05 2006 +0900
+++ b/Changes	Sun Jan 15 12:03:37 2006 +0900
@@ -8298,6 +8298,69 @@
 global heap �˻Ĥ���Τ򤢤ޤ굤�ˤ��Ƥʤ��ä�
 �ߤ�����
 
-
-
-
+Sat Jan 14 22:58:45 JST 2006
+
+goto with environment �����ɡ�code segment ���椫������ؤ��ϲ�ǽ�餷����
+���������̾�δؿ������goto with environment �Ϥ��ޤ�ư���ʤ���
+����ϲ��Τ�����?
+
+��������env �����ꤷ���Ȥ��ϡ���¤�Τϥ��ԡ����ʤ��Ȥ����ʤ�
+�櫓�͡�����ϡ�code segment ����Ǥ�Ʊ����
+
+�դ˥����overrap �ϵ��ˤ��ʤ����ɤ��Τ����̾�δؿ�����
+����ϡ�������Ĥȷ�ޤäƤ��뤫��ʡ�
+
+Sun Jan 15 09:24:58 JST 2006
+
+return ���ʤ����ˤϡ�retlabel���������ʤ��ۤ���������
+
+env �����ꤷ���顢jump ��target��env �ؤ�indirect + offset ��
+�Ѥ��ʤ��ȥ��ᡣ
+
+goto with env �� r1 �����ѹ����Ƥʤ�������ϡ�code segment �Ǥϡ�
+stack top �˲᤮�ʤ���r30 �������ѹ����ʤ��ȡ�
+(���䡢����� PowerPC �Ǥ���������ʤΤ�...)
+
+code_set_frame_pointer ���¤�stack top �������ꤷ�Ƥʤ���
+
+env �����ꤵ��Ƥ�����ϡ�������interface�ϡ�
+���Τޤޥ��ԡ���¹Ԥ�����ɤ���������������ɬ�פϤʤ���
+
+stack tpo ��code segment �Ǥ� frame pointer ����׻�����롣(̵��?)
+���顢���ꤹ��ɬ�פϼ¤Ϥʤ���function �����Ȥ���ɬ�ס�
+
+new_environ �Υ��깽����...
+
+                 * goto��ƤӽФ����ؿ���r1 ! r1(goto����r1)
+   #             *                           r30 <---r1_offset---------> r1
+r+ +----------+--+----------+----------------+-----------+----------+----+
+    cousin arg xx  reg save !callee arg      !code local  caller arg  xx
+                   r20-r29     lvar>0         lvar<0      lvar>0x1000 000
+                   f20-f31  <-my_func_args--><--disp-----><-max_func_arg->
+                              *SIZE_OF_INT                  *SIZE_OF_INT
+
+�Ƚ񤤤Ƥ��뤬��
+        disp = -args;
+�Ȥ���
+    /* reverse all argument offset (with size) */
+    arglist = fnptr->dsp;
+    for(t=arglist;t;t=cadr(t)) {
+        n=(NMTBL *)caddr(t);
+        if(n->sc==LVAR)
+            n->dsp = -n->dsp-cadddr(t);
+    }
+�Ȥ���äƤ���Τǡ�lvar>0 �äƤΤ�¸�ߤ��ʤ��餷�����Ĥޤꡢ
+������local variable �����ˤʤ�ޤ���inline code �äƤΤ�
+���򤤤��ɡ������դ��θ���ʤ��Ȥ�����͡�
+
+�äƤ��Ȥϡ�fp ��environment �ΰ��ֲ�(�Ĥޤ� environment ��
+�ؤ��Ƥ���Ȥ������Τޤޡ����ɤ��äƤ��Ȥ�? ��äѤ�
+�ؿ��ƤӽФ�����٤Ƥʤ�ƴ�ñ�ʤ����
+
+R1SAVE���ơ�frame pointer = environment �Ǥʤ��Τϡ�
+PowerPC �Ǥ��������Ȥ������Ȥϡ�PowerPC �Ǥ� R1SAVE
+���ä��뤳�Ȥ���Ϥ�ʤ��Ȥ���ʤߤ�����
+
+
+
+