Update of /cvsroot/win32forth/win32forth/src
In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv30501/win32forth/src
Modified Files:
PRIMHASH.F
Log Message:
gah: Bug fix to work correctly for more than 2 method lists
Index: PRIMHASH.F
===================================================================
RCS file: /cvsroot/win32forth/win32forth/src/PRIMHASH.F,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** PRIMHASH.F 16 Apr 2007 09:07:23 -0000 1.6
--- PRIMHASH.F 18 Apr 2007 09:18:40 -0000 1.7
***************
*** 8,17 ****
sys-here ' classes >body - \ voc-pfa-size
! 5 cells sys-reserve \ extra for a class
! constant voc-pfa-size
! also classes get-current definitions
! 2 constant #mlists \ Number of method lists; must be a non-zero power of 2.
set-current previous
--- 8,18 ----
sys-here ' classes >body - \ voc-pfa-size
! 2 dup \ for #mlists below
! 4 + cells sys-reserve \ extra for a class
! swap constant voc-pfa-size
! also classes get-current swap definitions
! constant #mlists \ Number of method lists; must be a non-zero power of 2.
set-current previous
***************
*** 51,55 ****
@@2: next c;
! CODE ((FINDV)) ( SelID addr -- 0cfa t | f )
pop eax \ selector id
@@1: mov ebx, 0 [ebx] \ follow link
--- 52,56 ----
@@2: next c;
! CODE ((FINDV)) ( SelID addr -- 'ivar t | f )
pop eax \ selector id
@@1: mov ebx, 0 [ebx] \ follow link
***************
*** 58,62 ****
cmp eax, 4 [ebx] \ selectors match?
jne short @@1
! add ebx, # 8 \ method cfa
push ebx
mov ebx, # -1 \ and true flag
--- 59,63 ----
cmp eax, 4 [ebx] \ selectors match?
jne short @@1
! add ebx, # 8 \ ivar structure
push ebx
mov ebx, # -1 \ and true flag
|