[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