# \[Feature: trunk\] relayouting struct RNode

**URL:** <https://www.ruby-forum.com/t/feature-trunk-relayouting-struct-rnode/146760>\
**Category:** Development\
**Created:** [August 25, 2008, 8:08am UTC](https://www.ruby-forum.com/t/feature-trunk-relayouting-struct-rnode/146760 "2008-08-25T08:08:17Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yugui\_SYuki\_S.S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/dec6dc/32.png) [@Yugui\_SYuki\_S.S](https://www.ruby-forum.com/u/Yugui_SYuki_S.S)\
**Post date:** [August 25, 2008, 8:08am UTC](https://www.ruby-forum.com/t/feature-trunk-relayouting-struct-rnode/146760/1 "2008-08-25T08:08:17Z")

</div>

Yuguiã§ã™ã€‚

ã€Œç¬¬7å›žRHGã®é€†è¥²ã€([http://qwik.jp/rhg-strikes-back/78.html](http://qwik.jp/rhg-strikes-back/78.html) )ã®çµæžœã¨ã—  
ã¦ã€RNode::nd\_fileã¯èª°ã‚‚åˆ©ç”¨ã—ã¦ã„ãªã„ã“ã¨ãŒåˆ†ã‹ã‚Šã¾ã—ãŸã€‚

ã‚ˆã£ã¦ã€RNodeã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã«ãŠã„ã¦ãƒã‚¤ãƒ³ã‚¿é•·ã ã‘ç©ºé–“ãŒä½™ã£ã¦ã„ã¾ã™ã€‚æ·»ä»˜  
ã®ãƒ‘ãƒƒãƒã§ã¯ã€ã¨ã‚Šã‚ãˆãšã“ã®ç©ºé–“ã‚’void \*reservedã¨ã—ã¦ã€YARVã«æ®‹ã£ã¦ã„ã‚‹  
ç„¡é§„ãªNULL pointerä»£å…¥ã‚’å‰Šé™¤ã—ã¦ã¿ã¾ã—ãŸã€‚

ã•ã¦ã€ã“ã®ç©ºé–“ã‚’ä½•ã‚‰ã‹ã®å½¢ã§æœ‰ç›Šã«æ´»ç”¨ã—ãŸã„ã¨æ€ã„ã¾ã™ã€‚é–¢ä¿‚è€…ã«èžã„ã¦ã¿  
ãŸã¨ã“ã‚ã§ã¯æ¬¡ã®ã‚ˆã†ãªæ¡ˆãŒå‡ºã¦ãã¾ã—ãŸã€‚

1. è¡Œç•ªå·ã«ä½¿ã†  
è¡Œç•ªå·ã®MAXãŒ15bitå¢—ãˆã¾ã™ã€‚ç¾çŠ¶ã§ã¯32bitç’°å¢ƒã§ã‚‚2\*\*17ã‚ã‚‹ã®ã§ç¾å®Ÿçš„ã«  
ç‰¹ã«å›°ã‚‹ã“ã¨ã¯ãªã„ã¨æ€ã„ã¾ã™ãŒã€ã‚‚ã†å°‘ã—å¢—ãˆã¦ã‚‚æ‚ªãã¯ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ã€‚

2. RNodeã‚’4åˆ†æœ¨ã«ã™ã‚‹  
ASTã®åˆ†å²ã®æ•°ã‚’å¢—ã‚„ã—ã¾ã™ã€‚ç¬¹ç”°ã•ã‚“ã«ã‚ˆã‚Œã°ã€ã“ã‚Œã§æ¥½ã«ãªã‚‹ã‚±ãƒ¼ã‚¹ãŒå°‘  
ã—ã¯ã‚ã‚‹ã¨ã®ã“ã¨ã§ã™ã€‚

ã©ã®ã‚ˆã†ã«ã—ãŸã‚‰è‰¯ã„ã‹ã€ã”æ„è¦‹ã‚’ã„ãŸã ã‘ã‚Œã°ã¨æ€ã„ã¾ã™ã€‚

---

<div class="post-metadata">

**Author:** ![Yugui\_SYuki\_S.S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/dec6dc/32.png) [@Yugui\_SYuki\_S.S](https://www.ruby-forum.com/u/Yugui_SYuki_S.S)\
**Post date:** [August 25, 2008, 6:02pm UTC](https://www.ruby-forum.com/t/feature-trunk-relayouting-struct-rnode/146760/2 "2008-08-25T18:02:09Z")

</div>

nagachika e$B$H?=$7$^$9!#e(B  
RHGe$B$N5U=1$G$O$\*@$OC$K$J$C$F$$$^$9!#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  
> e$B@hF|$5$o$@$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#2r@Oe(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

---

<div class="post-metadata">

**Author:** ![Yugui\_SYuki\_S.S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/dec6dc/32.png) [@Yugui\_SYuki\_S.S](https://www.ruby-forum.com/u/Yugui_SYuki_S.S)\
**Post date:** [August 25, 2008, 10:43am UTC](https://www.ruby-forum.com/t/feature-trunk-relayouting-struct-rnode/146760/3 "2008-08-25T10:43:26Z")

</div>

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.)”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|e$B!VBhe(B7e$B2se(BRHGe$B$N5U=1!We(B([http://qwik.jp/rhg-strikes-back/78.html](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%?D9$@$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$$$+!”$40U8+$r$$$?$@$1$l$P$H;W$$$^$9!#e(B

4e$BJ,LZ$K$9$k$N$O$A$g$C$H$@$1L%NOE\*$G$9$M$(!#e(B

---

<div class="post-metadata">

**Author:** ![Yugui\_SYuki\_S.S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/dec6dc/32.png) [@Yugui\_SYuki\_S.S](https://www.ruby-forum.com/u/Yugui_SYuki_S.S)\
**Post date:** [August 25, 2008, 6:06pm UTC](https://www.ruby-forum.com/t/feature-trunk-relayouting-struct-rnode/146760/4 "2008-08-25T18:06:50Z")

</div>

e$B!!$5$5$@$G$9!%e(B

nagachika wrote:

> e$B$G$9$N$Ge(B nd\_line e$B$r3HD%$9$k$N$O0UL#2r@Oe(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
