Yuguiã§ã™ã€‚
「第7回RHGã®é€†è¥²ã€(http://qwik.jp/rhg-strikes-back/78.html )ã®çµæžœã¨ã—
ã¦ã€RNode::nd_fileã¯èª°ã‚‚利用ã—ã¦ã„ãªã„ã“ã¨ãŒåˆ†ã‹ã‚Šã¾ã—ãŸã€‚
よã£ã¦ã€RNodeã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã«ãŠã„ã¦ãƒã‚¤ãƒ³ã‚¿é•·ã ã‘空間ãŒä½™ã£ã¦ã„ã¾ã™ã€‚添付
ã®ãƒ‘ッãƒã§ã¯ã€ã¨ã‚Šã‚ãˆãšã“ã®ç©ºé–“ã‚’void *reservedã¨ã—ã¦ã€YARVã«æ®‹ã£ã¦ã„ã‚‹
ç„¡é§„ãªNULL pointer代入を削除ã—ã¦ã¿ã¾ã—ãŸã€‚
ã•ã¦ã€ã“ã®ç©ºé–“を何らã‹ã®å½¢ã§æœ‰ç›Šã«æ´»ç”¨ã—ãŸã„ã¨æ€ã„ã¾ã™ã€‚関係者ã«èžã„ã¦ã¿
ãŸã¨ã“ã‚ã§ã¯æ¬¡ã®ã‚ˆã†ãªæ¡ˆãŒå‡ºã¦ãã¾ã—ãŸã€‚
-
行番å·ã«ä½¿ã†
行番å·ã®MAXãŒ15bit増ãˆã¾ã™ã€‚ç¾çжã§ã¯32bit環境ã§ã‚‚2**17ã‚ã‚‹ã®ã§ç¾å®Ÿçš„ã«
特ã«å›°ã‚‹ã“ã¨ã¯ãªã„ã¨æ€ã„ã¾ã™ãŒã€ã‚‚ã†å°‘ã—増ãˆã¦ã‚‚悪ãã¯ãªã„ã‹ã‚‚ã—れã¾ã›ã‚“。
-
RNodeã‚’4分木ã«ã™ã‚‹
ASTã®åˆ†å²ã®æ•°ã‚’増やã—ã¾ã™ã€‚笹田ã•ã‚“ã«ã‚ˆã‚Œã°ã€ã“ã‚Œã§æ¥½ã«ãªã‚‹ã‚±ãƒ¼ã‚¹ãŒå°‘
ã—ã¯ã‚ã‚‹ã¨ã®ã“ã¨ã§ã™ã€‚
ã©ã®ã‚ˆã†ã«ã—ãŸã‚‰è‰¯ã„ã‹ã€ã”æ„見をã„ãŸã ã‘れã°ã¨æ€ã„ã¾ã™ã€‚
nagachika e$B$H?=$7$^$9!#e(B
RHGe$B$N5U=1$G$O$*@$OC$K$J$C$F$$$^$9!#e(B
- e$B9THV9f$K;H$&e(B
e$B9THV9f$Ne(BMAXe$B$,e(B15bite$BA}$($^$9!#8=>u$G$Oe(B32bite$B4D6-$G$be(B2**17e$B$"$k$N$G8=<BE*$Ke(B
e$BFC$K:$$k$3$H$O$J$$$H;W$$$^$9$,!"$b$&>/$7A}$($F$b0-$/$O$J$$$+$b$7$l$^$;$s!#e(B
[email protected]|[email protected]$5$s$,Js9p$7$F$$$?$h$&$K!"Nc30$N%P%C%/%H%l!<%9$de(B caller
e$B$K4^$^$l$ke(B
e$B9THV9f$Oe(B 65536 e$B$Ge(B overflow e$B$9$k$h$&$G$7$?!#3N$+$Ke(B
struct RNode e$B$G$Oe(B 17 bit
(long e$B$,e(B 32bit e$B$N4D6-$Ge(B)e$B$^$G;H$($F$$$k$N$G$9$,!“e(BVM
e$B$N<B9T%3!<%I$K%3%s%Q%$%k$5$l$k$He(B
struct iseq_insn_info_entry e$B$H$$$&9=B$BN$Ne(B line_no
e$B%a%s%P$K3JG<$5$l!”$3$l$,e(B
unsigned short e$B$KDj5A$5$l$F$$$k$?$a$G$7$?!#e(B
e$B$G$9$N$Ge(B nd_line
e$B$r3HD%$9$k$N$O0UL#[email protected](B/e$B%3%s%Q%$%k%(%i!<$N%a%C%;!<%8$K$OM-8z$G$9$,!“e(B
e$B<B9T;~$N%P%C%/%H%l!<%9$N>pJs$O$3$N9=B$BN$NDj5A$b3HD%$7$J$$$H$$$1$^$;$s!#e(B
e$B%3%s%Q%$%k8e$N9=B$$O$h$/D4$Y$F$$$^$;$s$1$I!”;HMQ%a%b%jNL$,A}$($=$&$G$9$7!"e(B
e$B9THV9f$K;H$&$N$O$b$C$?$$$J$$$+$J$!$H;W$$$^$9!#e(B
4e$BJ,LZ$K$7$F4r$7$$$3$H$,$"$k$J$i$=$l$G$$$$$N$+$J$H;W$$$^$9!#e(B
e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B
In message “Re: [ruby-dev:35947] [Feature: trunk] relayouting struct
RNode”
on Mon, 25 Aug 2008 15:03:10 +0900, “Yugui (Yuki S.)”
[email protected] writes:
|e$B!VBhe(B7e$B2se(BRHGe$B$N5U=1!We(B(http://qwik.jp/rhg-strikes-back/78.html )e$B$N7k2L$H$7e(B
|e$B$F!"e(BRNode::nd_filee$B$OC/$bMxMQ$7$F$$$J$$$3$H$,J,$+$j$^$7$?!#e(B
1.9e$B$G$O;H$C$F$$$J$$$s$G$9$M$(!#e(B
|e$B$h$C$F!“e(BRNodee$B$N%l%$%”%&%H$K$*$$$F%]%$%s%[email protected]$16u4V$,M>$C$F$$$^$9!#E:IUe(B
|e$B$N%Q%C%A$G$O!"$H$j$"$($:$3$N6u4V$re(Bvoid *reservede$B$H$7$F!"e(BYARVe$B$K;D$C$F$$$ke(B
|e$BL5BL$Je(BNULL pointere$BBeF~$r:o=|$7$F$_$^$7$?!#e(B
e$B;H$C$F$J$$$J$i:o$C$F$b$h$$$N$G$O$J$$$G$7$g$&$+!#e(B
|e$B$5$F!"$3$N6u4V$r2?$i$+$N7A$GM-1W$K3hMQ$7$?$$$H;W$$$^$9!#4X78<T$KJ9$$$F$_e(B
|e$B$?$H$3$m$G$O<!$N$h$&$J0F$,=P$F$-$^$7$?!#e(B
|
|1) e$B9THV9f$K;H$&e(B
| e$B9THV9f$Ne(BMAXe$B$,e(B15bite$BA}$($^$9!#8=>u$G$Oe(B32bite$B4D6-$G$be(B2**17e$B$"$k$N$G8=<BE*$Ke(B
|e$BFC$K:$$k$3$H$O$J$$$H;W$$$^$9$,!"$b$&>/$7A}$($F$b0-$/$O$J$$$+$b$7$l$^$;$s!#e(B
|
|2) RNodee$B$re(B4e$BJ,LZ$K$9$ke(B
| ASTe$B$NJ,4t$N?t$rA}$d$7$^$9!#:{ED$5$s$K$h$l$P!"$3$l$G3Z$K$J$k%1!<%9$,>/e(B
|e$B$7$O$"$k$H$N$3$H$G$9!#e(B
|
|e$B$I$N$h$&$K$7$?$iNI$$$+!"[email protected]$1$l$P$H;W$$$^$9!#e(B
4e$BJ,[email protected]$1L%NOE*$G$9$M$(!#e(B
[email protected]$G$9!%e(B
nagachika wrote:
e$B$G$9$N$Ge(B nd_line e$B$r3HD%$9$k$N$O0UL#[email protected](B/e$B%3%s%Q%$%k%(%i!<$N%a%C%;!<%8$K$OM-8z$G$9$,!"e(B
e$B<B9T;~$N%P%C%/%H%l!<%9$N>pJs$O$3$N9=B$BN$NDj5A$b3HD%$7$J$$$H$$$1$^$;$s!#e(B
e$B!!$3$NOC$OGD0.$7$F$$$^$9!%e(B
e$B%3%s%Q%$%k8e$N9=B$$O$h$/D4$Y$F$$$^$;$s$1$I!";HMQ%a%b%jNL$,A}$($=$&$G$9$7!"e(B
e$B9THV9f$K;H$&$N$O$b$C$?$$$J$$$+$J$!$H;W$$$^$9!#e(B
e$B!!7k6I!$e(BRValue
e$B$N%G!<%?%5%$%:$OJQ$o$i$J$$$N$G!$;HMQ%a%b%jNL$OJQ$o$je(B
e$B$^$;$s!%e(B