comparison Changes @ 205:a50f90d0b63a

*** empty log message ***
author kono
date Thu, 15 Apr 2004 01:01:51 +0900
parents 28baf6cd9ad1
children 4170cefb48f6
comparison
equal deleted inserted replaced
204:4c614334f3d0 205:a50f90d0b63a
3884 3464 (car(t)==STRUCT||car(t)==UNION)) { 3884 3464 (car(t)==STRUCT||car(t)==UNION)) {
3885 3885
3886 じゃなくて、t>0 && (car(t)==STRUCT||car(t)==UNION)) { 3886 じゃなくて、t>0 && (car(t)==STRUCT||car(t)==UNION)) {
3887 じゃないか? 3887 じゃないか?
3888 3888
3889
3890 Wed Apr 14 14:26:04 JST 2004
3891
3892 creg なんだけど、直接レジスタを入れるのだと「複数レジスタを
3893 使って double / long を扱う」ってのがやりずらい。だから、
3894 register 変数を入れるのがいいんじゃない? でも、そうすると
3895 変更が多くなるけど...
3896
3897 free_register の関係があるから、やっぱり、全部変えないと
3898 だめだね。
3899
3900 creg/freg を止めたのは、MIPSが float/double を区別する
3901 必要があるため。この時に、creg を構造体化するべきだった
3902 みたいだね。
3903 creg = { ireg, freg, dreg }
3904 みたいにしても良かったわけだ。
3905
3906 もしかして、regv って使ってないの? (そうかも...)
3907
3908 register は list で持つ? 配列にいれる?
3909 regs[0] = glist4(LREGISTER,use,r1,r2)
3910 regs[0] = glist3(REGISTER,use,r1)
3911 みたいな感じ? うーん... それよりは、
3912 ireg_list
3913 dreg_list
3914 freg_list
3915 lreg_list
3916 かな。でしょ? 意外にめんどくさい。ptr cache のコードもあるし。
3917
3918 まぁ、conservative にいこう。
3919
3920 lreg は、積極的に解放しないとまずいけど、どのタイミングで?
3921 というか、creg もそのタイミングで解放して良いんじゃない?
3922 ふーん。
3923
3924 gexpr_init() のタイミングで解放してもいいんだけど、それだと、
3925 gexpr_0 で廻っているときに解放されないけど。
3926 g[long long hoge]
3927 みたいな場合では、途中で解放して欲しいよね?
3928
3929 use_int とかで lreg は解放して良いんじゃない?