[Vm-dev] VM Maker: VMMaker.oscog-rsf.1951.mcz
nicolas.cellier.aka.nice at gmail.com
Fri Nov 4 18:04:06 UTC 2016
just counting number of extB bytes should do it...
extB := (extB = 0 and: [byte > 127])
ifTrue: [byte - 256]
ifFalse: [(extB bitShift: 8) + byte]
extB := (numExtB = 0 and: [byte > 127])
ifTrue: [byte - 256]
ifFalse: [(extB bitShift: 8) + byte].
numExtB := numExtB + 1
then reset numExtB := 0 where we reset extB := 0...
2016-11-04 17:42 GMT+01:00 Eliot Miranda <eliot.miranda at gmail.com>:
> Hi Ronie,
> then I'll take a look at fixing the 00000000 1xxxxxxx ... case. The
> nice thing is that it's all localized to the extBBytecode. Excuse my
> confusion earlier in the week.
> _,,,^..^,,,_ (phone)
> On Nov 4, 2016, at 12:53 AM, Ronie Salgado <roniesalg at gmail.com> wrote:
> Hi Eliot,
> in the below you, Roni, added extBFirstZero. As far as I can tell this
>> breaks the newspeak (and Cadence (*)) VM. I don't quite see the purpose
>> of extBFirstZero and urgently need to restore the Newspeak and Cadence
>> VMs. So forgive me but I'm going to revert that part of the changes. It
>> has caused me to misdiagnose the problems with extPushInteger and
>> genExtUnconditionalJump. These I'll revert too. If this breaks Lowcode
>> then let's collaborate on developing a fix for Lowcode that doesn't break
>> Newspeak and Cadence VMs. But it's a priority of mine (they pay for my
>> work) to keep these VMs working.
>> This was a quick hack that I added to be able to encode unsigned values
> such as 0x00FF . Since ExtB is signed, the sequence ExtB 00 ExtB FF ends
> decoded as -1 (0xFFFFFFFF) instead of 255, which is the correct value, and
> it is used by some Lowcode instructions such as pointer offsetting.
> I am still trying to figure out how to move into the opensmalltalk-vm
> branch. I have been using the pharo-vm branch mostly because the scripts
> for making a Squeak bases VM Maker image are not working on my Linux boxes.
> Best regards,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Vm-dev