[#10661] bmingw package — WATANABE Hirofumi <eban@...>

わたなべです.

49 messages 2000/08/21
[#10664] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/21

なかだです。

[#10665] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/21

なかだです。

[#10667] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/08/21

わたなべです.

[#10668] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/22

なかだです。

[#10670] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/08/22

わたなべです.

[#10671] Re: bmingw package — nobu.nakada@... 2000/08/22

なかだです。

[#10673] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/08/23

わたなべです.

[#10675] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/23

なかだです。

[#10693] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/08/28

わたなべです.

[#10707] Re: bmingw package — nobu.nakada@... 2000/08/28

なかだです。

[#10713] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/08/29

わたなべです.

[#10717] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/29

なかだです。

[#10723] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/08/30

わたなべです.

[#10797] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/09/01

なかだです。

[#10821] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/09/04

わたなべです.

[#10824] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/09/04

なかだです。

[#10825] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/09/04

わたなべです.

[#10827] Re: bmingw package — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/09/04

なかだです。

[#10837] Re: bmingw package — WATANABE Hirofumi <eban@...> 2000/09/05

わたなべです.

[#10677] Class Variable — Shin-ichiro Hara <sinara@...>

原です。

16 messages 2000/08/24
[#10681] Re: Class Variable — matz@... (Yukihiro Matsumoto) 2000/08/25

まつもと ゆきひろです

[#10688] ruby-1.6.0-20000824.i586-mswin32 bug — Kazuhiro NISHIYAMA <zn@...>

http://www.geocities.co.jp/SiliconValley-Bay/4076/

34 messages 2000/08/27
[#10692] Re: ruby-1.6.0-20000824.i586-mswin32 bug — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/28

なかだです。

[#10705] Re: ruby-1.6.0-20000824.i586-mswin32 bug — Kazuhiro NISHIYAMA <zn@...> 2000/08/28

"Nobuyoshi.Nakada" <nobu.nakada@nifty.ne.jp> wrote:

[#10711] Re: ruby-1.6.0-20000824.i586-mswin32 bug — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/29

なかだです。

[#10720] Re: ruby-1.6.0-20000824.i586-mswin32 bug — Katsuyuki Komatsu <komatsu@...> 2000/08/30

小松です.

[#10725] Re: ruby-1.6.0-20000824.i586-mswin32 bug — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/30

なかだです。

[#10805] ruby-1.6.0-20000901.i586-mswin32.lzh — Kazuhiro NISHIYAMA <zn@...> 2000/09/02

20000901のでもirbでCtrl+Cを押したら落ちました。

[#10807] Re: ruby-1.6.0-20000901.i586-mswin32.lzh — matz@... (Yukihiro Matsumoto) 2000/09/02

まつもと ゆきひろです

[#10811] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh — " たけ (tk)" <ggb03124@...> 2000/09/03

たけ(tk)です。

[#10813] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh — nobu.nakada@... 2000/09/03

なかだです。

[#10729] Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha. — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

18 messages 2000/08/30
[#10730] Re: Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha. — WATANABE Hirofumi <eban@...> 2000/08/30

わたなべです.

[#10762] ruby 1.6.0 preview — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

42 messages 2000/08/31

[ruby-dev:10753] Re: Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.

From: kou@...1609.sip.eee.yamaguchi-u.ac.jp (Koichi Okada)
Date: 2000-08-30 15:06:38 UTC
List: ruby-dev #10753
岡田です。

eban>> だよね. Cygwin Project に大声でいいたいんだけど.
eban>> macro 化は 1.7 でします.

と言うかすみませんm(_ _)m。
macro 化しても現時点では無意味なようです(; ;)。



Ruby on Windows - 海賊版
	http://www.geocities.co.jp/SiliconValley-Bay/4076/
を見てようやく Win32API の使い方を覚えたので、
早速 port 結果をデバッグしてみようと試みたのですが、
あえなく失敗しました(x x)。
# と言う事で、予想通り先ごろ投稿した patch では
# Win32API は動作しません。すみませんm(_ _)m。
## 他は問題なく動いているっぽいんですけど、、、(- -;;;)

原因ですが、RISC だから、、、って言うか、、、(- -;;;)
とりあえず以下のコンパイル結果を見て下さい。

# h = CreateWindowEx(6, NULL, NULL, 1, 2, 3, 4, 5, NULL, NULL, NULL, NULL);
004021bc   ldah      t1,0x41(zero)	# DLL のエントリーテーブル?
004021c0   ldl       v0,0x6174(t1)	# CreateWindowEx のアドレス
004021c4   stq       zero,0x28(sp)	# NULL(6)
004021c8   stq       zero,0x20(sp)	# NULL(5)
004021cc   stq       zero,0x18(sp)	# NULL(4)
004021d0   stq       zero,0x10(sp)	# NULL(3)
004021d4   bis       zero,#0x5,t5	# 5
004021d8   stq       t5,0x8(sp)	# 5
004021dc   bis       zero,#0x4,a0	# 4
004021e0   stq       a0,0x0(sp)	# 4
004021e4   bis       zero,#0x6,a0	# 6
004021e8   bis       zero,zero,a1	# NULL(1)
004021ec   bis       zero,zero,a2	# NULL(2)
004021f0   bis       zero,#0x1,a3	# 1
004021f4   bis       zero,#0x2,a4	# 2
004021f8   bis       zero,#0x3,a5	# 3
004021fc   jsr       ra,(v0),0x0	# サブルーチンへジャンプ
00402200   stl       v0,0x38(sp)	# h

以上から言える事は、AlphaNT の関数呼び出し規則は、
a0〜a5 レジスタに引数を積んで行き、
溢れた分はスタックに積んで行くと言う事です。

つまるところ、上記の例において引数とレジスタ/スタックの対応は
v0 = CreateWindowEx(
	a0, a1, a2, a3, a4, a5,
	0x00(sp), 0x08(sp), 0x10(sp), 0x18(sp), 0x20(sp), 0x28(sp));
となっているわけです。

RISC プロセッサは関数呼び出しのオーバーヘッドを軽減するために、
引数をレジスタに積んで渡す動作を行うのが慣例のようですが、
NT もご多分に漏れずそうなってたという落ちです:-P。
# RISC アセンブラは始めてなのですっかり忘れてました。

結局 ix86 と同じように、スタックに引数を積んで行くだけでは
駄目だったというのが結論なんですけれど、
問題の根が深いのは、a0〜a5 レジスタは
常にワークとして使用さているため恒常的に破壊されると言う事です(x x)。

何かうまい実装方法があると良いのですが、、、(- -;;;)

------------------------------------------------------------
        山口大学大学院理工学研究科
                博士後期課程物質工学専攻 2年
                               画像情報工学研究室
                                        岡田 耕一

        e-mail:kou@sip.eee.yamaguchi-u.ac.jp
------------------------------------------------------------




In This Thread