[Vm-dev] VM Maker: VMMaker.oscog-eem.1897.mcz

Eliot Miranda eliot.miranda at gmail.com
Mon Jul 4 23:25:05 UTC 2016


On Mon, Jul 4, 2016 at 4:22 PM, <commits at source.squeak.org> wrote:

>
> Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
> http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1897.mcz
>
> ==================== Summary ====================
>
> Name: VMMaker.oscog-eem.1897
> Author: eem
> Time: 4 July 2016, 4:21:58.850141 pm
> UUID: c3215ac9-9da7-4d9d-9f40-a6ef2eaaa861
> Ancestors: VMMaker.oscog-cb.1896
>
> Fix genJumpIsSmallIntegerValue:scratch: for all memory managers and hence
> fix SmallInteger minVal // -1.
>

Damn, I missed this:


   - January 22 <https://en.wikipedia.org/wiki/January_22> – In this date's
   issue of the journal *Engineering*, the word "computer
   <https://en.wikipedia.org/wiki/Computer>", is first used to refer to a
   mechanical calculation device, according to the *Oxford English
   Dictionary*.[1] <https://en.wikipedia.org/wiki/1897#cite_note-1>



>
> =============== Diff against VMMaker.oscog-cb.1896 ===============
>
> Item was changed:
>   ----- Method:
> CogObjectRepresentationFor32BitSpur>>genJumpIsSmallIntegerValue:scratch:
> (in category 'compile abstract instructions') -----
>   genJumpIsSmallIntegerValue: aRegister scratch: scratchReg
>         "Generate a test for aRegister containing an integer value in the
> SmallInteger range, and a jump if so, answering the jump.
>          c.f. Spur32BitMemoryManager>>isIntegerValue:"
>         <returnTypeC: #'AbstractInstruction *'>
>         ^cogit
>                 MoveR: aRegister R: scratchReg;
> +               LogicalShiftLeftCq: 1 R: scratchReg;
> -               ArithmeticShiftRightCq: 1 R: scratchReg;
>                 XorR: aRegister R: scratchReg;
>                 JumpGreaterOrEqual: 0!
>
> Item was changed:
>   ----- Method:
> CogObjectRepresentationFor64BitSpur>>genJumpIsSmallIntegerValue:scratch:
> (in category 'compile abstract instructions') -----
>   genJumpIsSmallIntegerValue: aRegister scratch: scratchReg
>         "Generate a test for aRegister containing an integer value in the
> SmallInteger range, and a jump if so, answering the jump.
>          c.f. Spur64BitMemoryManager>>isIntegerValue:"
>         <returnTypeC: #'AbstractInstruction *'>
>         ^cogit
>                 MoveR: aRegister R: scratchReg;
> +               ArithmeticShiftRightCq: 63 - objectMemory numTagBits R:
> scratchReg;
> -               ArithmeticShiftRightCq: 64 - objectMemory numTagBits R:
> scratchReg;
>                 AddCq: 1 R: scratchReg;
>                 AndCq: 1 << (objectMemory numTagBits + 1) - 1 R:
> scratchReg; "sign and top numTags bits must be the same"
>                 CmpCq: 1 R: scratchReg;
>                 JumpLessOrEqual: 0!
>
> Item was changed:
>   ----- Method:
> CogObjectRepresentationForSqueakV3>>genJumpIsSmallIntegerValue:scratch: (in
> category 'compile abstract instructions') -----
>   genJumpIsSmallIntegerValue: aRegister scratch: scratchReg
>         "Generate a test for aRegister containing an integer value in the
> SmallInteger range, and a jump if so, answering the jump.
>          c.f. ObjectMemory>>isIntegerValue:"
>         <returnTypeC: #'AbstractInstruction *'>
>         ^cogit
>                 MoveR: aRegister R: scratchReg;
> +               LogicalShiftLeftCq: 1 R: scratchReg;
> -               ArithmeticShiftRightCq: 1 R: scratchReg;
>                 XorR: aRegister R: scratchReg;
>                 JumpGreaterOrEqual: 0!
>
>


-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20160704/3fdd1d0b/attachment-0001.htm


More information about the Vm-dev mailing list