[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: [MD:7362] Re: 整数のビット数
- X-ml-count: 7381
- Subject: Re: [MD:7362] Re: 整数のビット数
- From: MIYOSHI Masanori <miyoshi@xxxxxxxxxxx>
- Date: Fri, 14 Jul 2006 22:36:15 +0900
- User-agent: Wanderlust/2.15.3 (Almost Unreal) EMIKO/1.14.1 (Choanoflagellata) LIMIT/1.14.8 (Hajinosato) APEL/10.6 Emacs/22.0.50 (i386-msvc-nt5.1.2600) MULE/5.0 (SAKAKI) Meadow/3.00-dev (KIKU)
>>>>> [meadow-develop : No.7371] にて
>>>>> 白井さんは書きました:
> > > meadow:
> > > #define VALBITS (BITS_PER_EMACS_INT - (GCTYPEBITS + 1))
> > > => 32-(3+1) == 28bits
> >
> > #define ARRAY_MARK_FLAG ((EMACS_INT) ((EMACS_UINT) 1 << (VALBITS + GCTYPEBITS - 2)))
> > > emacs:
> > > #define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS)
> > > => 32-3 == 29bits
> >
> > #define ARRAY_MARK_FLAG ((EMACS_INT) ((EMACS_UINT) 1 << (VALBITS + GCTYPEBITS - 1)))
> これらを直しちゃいますね。
> # なにか問題があるなら revert してくれ、ということで。
昔の話なので、すっかり忘れてしまっているのですが、MSVC の場合でも、
多分問題があると思います。
;; この関係はかなり注意深くやった記憶はあるのですが、今となっては
;; さっぱりわかりません。:-(
GC用のマークビットを完全に捨て切れていないので、その分を確保する必
要があったような気がします。他の理由だったかもしれません。
>>>>> In [meadow-develop: 6474]
> o Lisp_Float と Lisp_Cons に GC 用のマークビットを仮に追加
> (lisp.h)。pdump の実装を容易にするため。これらの両オブジェクトの
> マークビットは下記のようにオブジェクトの外部に移動された。この変
> 更に、pdumper を対応させるのは面倒(というかよく分からん)だったの
> で、このように仮に対処。
>
> alloc.c:
> > struct float_block
> > {
> > /* Place `floats' at the beginning, to ease up FLOAT_INDEX's job. */
> > struct Lisp_Float floats[FLOAT_BLOCK_SIZE];
> > int gcmarkbits[1 + FLOAT_BLOCK_SIZE / (sizeof(int) * CHAR_BIT)];
> > struct float_block *next;
> > };
もはやメンテ不能となっている pdump を Meadow から切り離したいと以
前から思っています。どなたかやってもらえないでしょうか?
--
三好 雅則 http://miyoshi.meadowy.org/