[Win32] VM update (3.2 release candidate)

John M McIntosh johnmci at smalltalkconsulting.com
Mon May 6 22:42:08 UTC 2002


Sigh. Lets look at the MACROS figure out we've meddled with my copy 
and dump this again Seems I got a JP_REG define in there which might 
have lead to confusion as I was integrating Ian's changes. Then again 
does Ian have a #define JP_REG at the bottom of his sqGnu.h?

Note my benchmarks used a hand coded sqGnu.h and tampering with 
interp.c so I could really what was happening.

So without any changes your assemble should look like so.

.text
         .p2align 2,0x90
.L1000:
.stabn 68,0,5156,.LM1764-interpret
.LM1764:
         incl %esi
         movzbl (%esi),%eax
         movl %eax,56(%esp)
.stabn 68,0,5159,.LM1765-interpret
.LM1765:
         addl $4,%edi
         movl receiver,%eax
         movl 4(%eax),%eax
         movl %eax,(%edi)
.stabn 68,0,5160,.LM1766-interpret
.LM1766:
         movl 56(%esp),%edx
         jmp *jumpTable.331(,%edx,4)
         .p2align 2,0x90
.L1001:
.stabn 68,0,5164,.LM1767-interpret
.LM1767:
         incl %esi
         movzbl (%esi),%ecx
         movl %ecx,56(%esp)
.stabn 68,0,5167,.LM1768-interpret
.LM1768:
         addl $4,%edi
         movl receiver,%eax
         movl 8(%eax),%eax
         movl %eax,(%edi)
.stabn 68,0,5168,.LM1769-interpret
.LM1769:
         jmp *jumpTable.331(,%ecx,4)
         .p2align 2,0x90
.L1002:
.stabn 68,0,5172,.LM1770-interpret
.LM1770:
         incl %esi
         movzbl (%esi),%eax
         movl %eax,56(%esp)
.stabn 68,0,5175,.LM1771-interpret
.LM1771:
         addl $4,%edi
         movl receiver,%eax
         movl 12(%eax),%eax
         movl %eax,(%edi)
.stabn 68,0,5176,.LM1772-interpret
.LM1772:
         movl 56(%esp),%edx
         jmp *jumpTable.331(,%edx,4)
         .p2align 2,0x90



ok with the jumptableptr
void **jumpTablePtr = jumpTable;

.text
         .p2align 2,0x90
.L1000:
.stabn 68,0,5156,.LM1764-interpret
.LM1764:
         incl %esi
         movzbl (%esi),%ebp
.stabn 68,0,5159,.LM1765-interpret
.LM1765:
         addl $4,%edi
         movl receiver,%eax
         movl 4(%eax),%eax
         movl %eax,(%edi)
.stabn 68,0,5160,.LM1766-interpret
.LM1766:
         jmp *jumpTable.331(,%ebp,4)
         .p2align 2,0x90
.L1001:
.stabn 68,0,5164,.LM1767-interpret
.LM1767:
         incl %esi
         movzbl (%esi),%ebp
.stabn 68,0,5167,.LM1768-interpret
.LM1768:
         addl $4,%edi
         movl receiver,%eax
         movl 8(%eax),%eax
         movl %eax,(%edi)
.stabn 68,0,5168,.LM1769-interpret
.LM1769:
         jmp *jumpTable.331(,%ebp,4)
         .p2align 2,0x90
.L1002:
.stabn 68,0,5172,.LM1770-interpret
.LM1770:
         incl %esi
         movzbl (%esi),%ebp
.stabn 68,0,5175,.LM1771-interpret
.LM1771:
         addl $4,%edi
         movl receiver,%eax
         movl 12(%eax),%eax
         movl %eax,(%edi)
.stabn 68,0,5176,.LM1772-interpret
.LM1772:
         jmp *jumpTable.331(,%ebp,4)
         .p2align 2,0x90
.L1003:
.stabn 68,0,5180,.LM1773-interpret
.LM1773:
         incl %esi
         movzbl (%esi),%ebp
.stabn 68,0,5183,.LM1774-interpret
.LM1774:
         addl $4,%edi
         movl receiver,%eax
         movl 16(%eax),%eax
         movl %eax,(%edi)
.stabn 68,0,5184,.LM1775-interpret
.LM1775:
         jmp *jumpTable.331(,%ebp,4)
         .p2align 2,0x90


-- 
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================



More information about the Squeak-dev mailing list