Planet Squeak Code

blogs about Squeak, Pharo, Croquet and family
planet squeak - planet squeak es - planet squeak jp - planet croquet - planet squeak code - planet smalltalk

January 23, 2017

source.squeak.org

Morphic-mdlh.1319

corrected typo in description text of preference visualWrapBorder

by Patrick Rein (patrick.rein@gmail.com) at January 23, 2017 04:10 PM

squeaksource.com

PBE-LightsOut-PeterNguyen.3

Initial Version

by Peter Nguyen (pdnguyen@ryerson.ca) at January 23, 2017 03:06 PM

source.squeak.org

System-tfel.924

Update the hack around scaling in UserInterfaceTheme, so the label areas of Windows is resized correctly.

by Tim Felgentreff (timfelgentreff@gmail.com) at January 23, 2017 08:31 AM

Morphic-tfel.1318

- put font resizing on command key, so it works across platforms
- when we update the label area of a system window, also update the boxes

by Tim Felgentreff (timfelgentreff@gmail.com) at January 23, 2017 08:30 AM

January 22, 2017

source.squeak.org

System-monty.907

Removed sends of the old XMLParser's applyLanguageInfomation: (sic) from MOFile that I don't believe is still needed (it's leadingChar-based) and breaks installation of the newer SqueakMap XMLParser. If MOFile really needs this, the applyLanguageInfomation: (sic) extension methods on String and ByteString should be moved out of the old XMLParser package and into those classes.

January 22, 2017 03:54 PM

Tests-jr.362

add another test for Environments-jr.69

This time about not altering other environments when unbinding a symbol.

January 22, 2017 01:18 AM

Tests-jr.361

add a test case for Environments-jr.69

January 22, 2017 01:03 AM

Environments-jr.69

prevent the removal of third-party imported bindings

Previously, when environment T imported from A and B, which both had a binding for #x, unbinding #x from either A or B would remove the binding from T.
Now if the binding of #x is removed from A it will only be removed from T if T actually uses the binding from A, but not if T uses the binding from B.

It also prevents an environment A from unbinding something in an imported environment B when A imports itself and A and B both have a declaration with the same key.

January 22, 2017 12:58 AM

squeaksource.com

DateAndTimePerformance-dtl.2

Allow the loop count for tests to be initialized for running on a slow platform or VM

by Dave Lewis (lewis@mail.msen.com) at January 22, 2017 12:48 AM

source.squeak.org

Environments-jr.68

add a convenience method to activate an environment during a block

January 22, 2017 12:28 AM

January 21, 2017

source.squeak.org

VMMaker.oscog-eem.2107

Fix a slip in the last commit. Character tests in 32-bit Spur must use a scratch register.

by Eliot Miranda (eliot.miranda@gmail.com) at January 21, 2017 04:09 PM

squeaksource.com

ICal-Core-pre.6

Updating the API usage (Squeak 51 for now only) and fixes minor issues with parsing

January 21, 2017 11:53 AM

ICal-Tests-pre.7

Fixes for several tests for Squeak 51 for now. Mostly API changes (on:do:, resume:), some changes to enable standard conform parsing (ical 1.0 quoted printables parsing)

January 21, 2017 11:52 AM

source.squeak.org

VMMaker.oscog-eem.2106

SistaCogit:
Fix coging optimized methods with lots of literals.

Decode a method header when doing longPrintOop:.

Fix the ssFlushTo: call in genExtJumpIfNotInstanceOfBehaviorsBytecode

Use Spur's single-bit tests for immediates in the CogObjectRepresetationFor??BitSpur's branchIf:has[Not]ImmediateTag:target:

Remember to preserve BytecodeSetHasExtensions when constructing the Cogit hybrid bytecode tables (otherwise initExts dies in the Simulator, but not in C cuz nil = 0).

Hack around Pharo's String class>>findSubstringViaPrimitive:in:startingAt:matchTable: in the simulator.

by Eliot Miranda (eliot.miranda@gmail.com) at January 21, 2017 01:54 AM

BytecodeSets.spur-eem.70

interpretNext3ByteSistaV1Instruction:for:extA:extB:startPC: must decode the literal for the branchIf[Not]InstanceOf:distance: bytecode.

by Eliot Miranda (eliot.miranda@gmail.com) at January 21, 2017 12:20 AM

January 20, 2017

source.squeak.org

Graphics-pre.367

Implements HTML colors with 8 characters denoting RGBa colors. Small refactoring of fromString: method.

by Patrick Rein (patrick.rein@gmail.com) at January 20, 2017 04:47 PM

GraphicsTests-pre.42

Tests for HTML colors with 8 characters including alpha channel

by Patrick Rein (patrick.rein@gmail.com) at January 20, 2017 04:47 PM

January 19, 2017

source.squeak.org

BytecodeSets.spur-eem.69

Decode, but do not define, callLowcodeInlinePrimitive:extA:extB:.
Add description of branch If Instance Of alongside branch If Not Instance Of.

by Eliot Miranda (eliot.miranda@gmail.com) at January 19, 2017 06:54 PM

BytecodeSets.spur-eem.68

Fix a slip in branchIfNotInstanceOf:distance: decoding.

(Ignore the fix in BytecodeSets.spur-eem.67; it is wrong)

by Eliot Miranda (eliot.miranda@gmail.com) at January 19, 2017 06:27 PM

BytecodeSets.spur-eem.67

Fix a slip in branchIfNotInstanceOf:distance: decoding.

by Eliot Miranda (eliot.miranda@gmail.com) at January 19, 2017 06:03 PM

VMMaker.oscogSPC-cb.2105

Temporary branch for SpurPlanningCompactor as default compactor. Otherwise the same as VMMaker.oscog-cb.2105.

Set deadCode to true in trap bytecode to avoid generating merge machne code that is never reached.

Fixed a bug in eventualTargetOf: where nExts was misscomputed, leading jumps targeting jumps with extensions to be incorrectly computed.

Fixed a bug where branchIfNotInstanceOf: span function misscomputed the distance when ExtB is negated to inverse the branch.

Fixed CharacterAsInteger inlined primitive.

by Eliot Miranda (eliot.miranda@gmail.com) at January 19, 2017 05:00 PM

BytecodeSets.spur-cb.66

Added support for branchIfInstanceOf: decoding

by ClementBera (bera.clement@gmail.com) at January 19, 2017 04:52 PM

Multilingual-jr.218

support 'iso-8859-1' and do not let UTF8TextConverter expect that its input stream returns Characters from basicNext

A stream implementation might always return bytes from basicNext and expect the conversion to Character to be done solely by the TextConverter, so use asInteger instead of asciiValue to support both cases. Convert back with asCharacter.

January 19, 2017 04:14 PM

VMMaker.oscog-cb.2105

Set deadCode to true in trap bytecode to avoid generating merge machne code that is never reached.

Something is fishy in debugStackPointers in the SistaVM. It fails multiple assertion. I believe it's related tobranchIfInstanceOf bytecodes

by ClementBera (bera.clement@gmail.com) at January 19, 2017 11:19 AM

VMMaker.oscog-cb.2104

Fixed a bug in eventualTargetOf: where nExts was misscomputed, leading jumps targeting jumps with extensions to be incorrectly computed.

Fixed a bug where branchIfNotInstanceOf: span function misscomputed the distance when ExtB is negated to inverse the branch.

by ClementBera (bera.clement@gmail.com) at January 19, 2017 10:58 AM

VMMaker.oscog-cb.2103

Fixed CharacterAsInteger inlined primitive.

by ClementBera (bera.clement@gmail.com) at January 19, 2017 09:05 AM

January 18, 2017

source.squeak.org

VMMaker.oscogSPC-eem.2102

Temporary branch for SpurPlanningCompactor as default compactor. Otherwise the same as VMMaker.oscog-eem.2102.

Slang fixes for RegisterAllocatingCogit.
Eliminate the unused inst temp from popToReg: and storeToReg:

by Eliot Miranda (eliot.miranda@gmail.com) at January 18, 2017 10:50 PM

VMMaker.oscog-eem.2102

Slang fixes for RegisterAllocatingCogit.
Eliminate the unused inst temp from popToReg: and storeToReg:

by Eliot Miranda (eliot.miranda@gmail.com) at January 18, 2017 10:42 PM

VMMaker.oscogSPC-eem.2101

Temporary branch for SpurPlanningCompactor as default compactor. Otherwise the same as VMMaker.oscog-eem.2101.

Fix the RegisterAllocatingCogit in the face of the new follow jump code. Merge code for conditional branches must only be generated along the path that takes the jump.

Remove some dead code (genExtJumpIfNotInstanceOfBehaviorsOrPopBytecode) and "fix" SistaCogit>>genExtJumpIfNotInstanceOfBehaviorsBytecode (Clément, please review; my "fix" might be wrong).

Add deadCode to descriptor printing, and eliminate flag overlap for the map.

by Eliot Miranda (eliot.miranda@gmail.com) at January 18, 2017 08:59 PM

VMMaker.oscog-eem.2101

Fix the RegisterAllocatingCogit in the face of the new follow jump code. Merge code for conditional branches must only be generated along the path that takes the jump.

Remove some dead code (genExtJumpIfNotInstanceOfBehaviorsOrPopBytecode) and "fix" SistaCogit>>genExtJumpIfNotInstanceOfBehaviorsBytecode (Clémnt, please review; my "fix" might be wrong).

Add deadCode to descriptor printing, and eliminate flag overlap for the map.

by Eliot Miranda (eliot.miranda@gmail.com) at January 18, 2017 08:52 PM

System-tfel.923

add methods to quickly increase/decrease fonts

by Tim Felgentreff (timfelgentreff@gmail.com) at January 18, 2017 09:05 AM

Morphic-tfel.1317

add Ctrl +, Ctrl -, and Ctrl = (as in Emacs) for quick font size changes

by Tim Felgentreff (timfelgentreff@gmail.com) at January 18, 2017 09:03 AM

BytecodeSets.spur-eem.65

SistaV1:
Define a full set of variable instance creation primitives (new:).

Fill out more of the callInlinePrimitive:s for symbolic printing.

by Eliot Miranda (eliot.miranda@gmail.com) at January 18, 2017 01:40 AM

January 17, 2017

squeaksource.com

MQTTTests-tpr.2

First pass at making an asynch read loop for incoming data. Lots more to do.

by tim rowledge (tim@rowledge.org) at January 17, 2017 06:37 PM

MQTT-tpr.6

Some more useful printOn: stuff to help testing

by tim rowledge (tim@rowledge.org) at January 17, 2017 06:36 PM

source.squeak.org

VMMaker.oscogSPC-eem.2100

Temporary branch for SpurPlanningCompactor as default compactor. Otherwise the same as VMMaker.oscog-eem.2099.

by Eliot Miranda (eliot.miranda@gmail.com) at January 17, 2017 06:10 PM

VMMaker.oscog-eemSPC.2099

Temporary branch for SpurPlanningCompactor as default compactor. Otherwise the same as VMMaker.oscog-eem.2099.

by Eliot Miranda (eliot.miranda@gmail.com) at January 17, 2017 06:07 PM

VMMaker.oscog-eem.2099

StackToRegisterMappingCogits:
Clean-up after the branch following changes:
Make extractMaybeBranchDescriptorInto: fulfil its contract when it doesn't find a following branch (directly or indirectly).
Simplify the various gen*InlinedIdenticalOrNotIf: to eliminate the duplication using #== to compare orNot with the branch.

by Eliot Miranda (eliot.miranda@gmail.com) at January 17, 2017 06:04 PM

VMMaker.oscog-eem.2098

Fix slip in maybeHaltIfDebugPC

by Eliot Miranda (eliot.miranda@gmail.com) at January 17, 2017 05:29 PM

BytecodeSets.spur-eem.64

Remove EncoderForNewsqueakV4>>litIndex:; Encoder'>>litIndex: should contain the correct range check against self maxNumLiterals, instead of EncoderForNewsqueakV4 incorrectly hard-coding 65536.

Comment that the identityHash 1020 inline primitive only works for non-immediate, non-Behavior objects that have a hash.

by Eliot Miranda (eliot.miranda@gmail.com) at January 17, 2017 05:12 PM

ToolBuilder-Morphic-topa.190

re-use settings for multi- and single-selection lists in toolbuilder

by Tobias Pape (tobias+squeaksource@netshed.de) at January 17, 2017 04:59 PM

VMMaker.oscog-rsf.2097

Split the CogX64Compiler > #dispatchConcretize to avoid the 256 literal limit in Squeak.

by Ronie Salgado Faila (roniesalg@gmail.com) at January 17, 2017 03:18 PM

VMMaker.oscog-rsf.2096

Merging Clement version.
Fixing the character keycode is not normally used in source code problem.

by Ronie Salgado Faila (roniesalg@gmail.com) at January 17, 2017 03:06 PM

BytecodeSets.spur-cb.63

Updated SistaV1 encoder for MethodMassage support.

by ClementBera (bera.clement@gmail.com) at January 17, 2017 01:03 PM

squeaksource.com

OSProcess-dtl.101

OSProcess 4.6.7

Add nil checks in #shutDown: to prevent failures when exiting existing image with a VM that does not include OSPP (e.g. SqueakJS).

For AIO event hander, if the AIO plugin is not present, write an error to console rather than interrupting the image with a notiifer. Reduces the annoyance level if VM provider provides OSPP but neglects to include the AIO plugin.

by Dave Lewis (lewis@mail.msen.com) at January 17, 2017 12:48 PM

OSProcess-AIO-dtl.9

OSProcess 4.6.7

Add nil checks in #shutDown: to prevent failures when exiting existing image with a VM that does not include OSPP (e.g. SqueakJS).

For AIO event hander, if the AIO plugin is not present, write an error to console rather than interrupting the image with a notiifer. Reduces the annoyance level if VM provider provides OSPP but neglects to include the AIO plugin.

by Dave Lewis (lewis@mail.msen.com) at January 17, 2017 12:47 PM

OSProcess-Base-dtl.56

OSProcess 4.6.7

Add nil checks in #shutDown: to prevent failures when exiting existing image with a VM that does not include OSPP (e.g. SqueakJS).

For AIO event hander, if the AIO plugin is not present, write an error to console rather than interrupting the image with a notiifer. Reduces the annoyance level if VM provider provides OSPP but neglects to include the AIO plugin.

by Dave Lewis (lewis@mail.msen.com) at January 17, 2017 12:47 PM

source.squeak.org

BytecodeSets.spur-cb.62

added immediateAsInteger inlined primitive specifications

by ClementBera (bera.clement@gmail.com) at January 17, 2017 12:28 PM

VMMaker.oscog-cb.2095

Ronie, I could not merge with your code (I got "Could no merge because one character keycode is normally not used in code")

Added support for inlined primitive #characterAsInteger.

by ClementBera (bera.clement@gmail.com) at January 17, 2017 12:26 PM

VMMaker.oscog-rsf.2095

I keep working on the 64 bits version of Lowcode. Now I started writing the actual ABI compiler and I got most of the tests for the UFFI passing (except for a time to time crash on the qsort test), with both the Cogit and the StackInterpreter. I still have to implement and test the splitting of small structures into registers, but it should be easy to do.

by Ronie Salgado Faila (roniesalg@gmail.com) at January 17, 2017 08:08 AM

VMMaker.oscog-eem.2094

StackToRegisterMappingCogit:
Follow jumps to jumps and push: aBoolean; jump:if:s, eliminating dead code.

Elimnate jumps to the immediately following instruction in StackToRegisterMappingCogit>>generateInstructionsAt:.

Neaten the simulation-only breakpointing for bytecode and machine code pcs. Add suport for breakPC during in-image compilation.

by Eliot Miranda (eliot.miranda@gmail.com) at January 17, 2017 04:21 AM

January 16, 2017

source.squeak.org

VMMaker.oscog-rsf.2093

64 bits version of Lowcode. All of the tests for WodenMath are passing. Now I have to implement the image side ABI compiler for SysV and Win64.

by Ronie Salgado Faila (roniesalg@gmail.com) at January 16, 2017 06:40 AM

VMMaker.oscog-eem.2092

Cogit:
Finally understand and fix the non-local return stack depth assert fail issue.

Interpreter:
Make printFrame: lax enough to accept a married context and print its frame without complaint.

by Eliot Miranda (eliot.miranda@gmail.com) at January 16, 2017 01:15 AM

January 14, 2017

source.squeak.org

VMMaker.oscog-eem.2091

Fix a bogus assert fail in the simulator/in-image compilation when jitting methods containing unreachable pops after case statements where all arms return. StackDepthFinder must not be fooled by unreachable code. (An example method is Squeak's HandMorph>>#filterEvent:for: mt 6/10/2016 14:39)

by Eliot Miranda (eliot.miranda@gmail.com) at January 14, 2017 09:46 PM

VMMaker.oscogSPP-eem.2091

Temporary ranch for SpurPlanningCompactor as default compactor.

by Eliot Miranda (eliot.miranda@gmail.com) at January 14, 2017 02:18 AM

January 13, 2017

source.squeak.org

VMMaker.oscog-eem.2090

SpurPlanningCompactor:
Fix the freeing across segment boundaries at end of run bug (freeFrom:upTo:previousPin: must check for an intervening segment bridge).

Attempt to write a test to catch this.

SpurPlanningCompactor now ready for real-world testing.

by Eliot Miranda (eliot.miranda@gmail.com) at January 13, 2017 11:00 PM

VMMaker.oscog-eem.2089

SpurPlanningCompactor:
Add a variant of the testRandomAssortments test that tests for shrinkage
Beef up the validFreeTreeChunk:parent: and freeChunkWithBytes:at: asserts to insist that a free chunk lie within a single segment.
Both of these are chasing the real VM's freeing of memory across segment boundaries.

Change attemptToShrink to request the segmentManager to shrink by at least growHeadroom, since it won't otherwise. Have shrinkObjectMemory: anser if shrinkage occurred, and only increment statShrinkMemory if so.

by Eliot Miranda (eliot.miranda@gmail.com) at January 13, 2017 07:12 PM

VMMaker.oscog-cb.2088

Added support for BitShiftRight: and bitShiftLeft: unsafe operations

by ClementBera (bera.clement@gmail.com) at January 13, 2017 10:59 AM

BytecodeSets.spur-cb.61

changed bitShift specification from single bitShift to bitShiftRight: and bitShiftLeft:

by ClementBera (bera.clement@gmail.com) at January 13, 2017 10:57 AM

VMMaker-dtl.392

VMMaker 4.16.3

Support very early images in which method context copy fails due to stack pointer not yet adjusted to position. For these images, disable stack limit bounds check. Based on SqueakJS implementation as described below.

From: Bert Freudenberg <bert@freudenbergs.de>
Date: Wed, 11 Jan 2017 17:10:24 +0100
To: The general-purpose Squeak developers list <squeak-dev@lists.squeakfoundation.org>
Subject: Re: [squeak-dev] Backward image and VM compatibility

Some early images fill the context stack before advancing its stack pointer. I have a flag to allow that, it's pretty certainly used in primitive 61. Normally the VM does not allow access beyond the SP because there is garbage there (stack pops do not nil out the context slot):

https://github.com/bertfreudenberg/SqueakJS/search?q=allowAccessBeyondSP

But since the regular VM does not allow it, no image (except the really old ones) ever does it, so I just leave the flag enabled whenever "oldPrims" is in effect ;) Would be better if we could come up with a better way to identify these images.

by David T. Lewis (lewis@mail.msen.com) at January 13, 2017 01:41 AM

squeaksource.com

PlotMorph-tpr.36

After much puzzled digging, finally find where the per-point labelling is done and improve the visibility of the labels a bit by taking into account the plot series color choice

January 13, 2017 12:14 AM

January 12, 2017

source.squeak.org

VMMaker.oscog-eem.2087

SpurPlanningCompactor:
Thar she blows! Fix the bugs with trailing pinned objects following the last mobile object (they need unmarking and freeing memory beyond the end of the now compacted lastMobileObject must not free them).

testRandomAssortments takes a while and so needs a timeout specifying.

by Eliot Miranda (eliot.miranda@gmail.com) at January 12, 2017 11:44 PM

VMMaker.oscog-eem.2086

SpurPlanningCompactor:
Add a test for 10 repetitions of a repeatably random assortment of 1000 pinned, unpinned x live, dead or free objects. This has found a bug :-(

Include rawNumSlotsand eliminate the hex prefix in printEntity:'s size info.

by Eliot Miranda (eliot.miranda@gmail.com) at January 12, 2017 09:28 PM

VMMaker.oscog-eem.2085

SpurPlanningCompactor:

Add tests for pinned objects over which, and/or within which live objects are moved.

Move the emptyVM into SpurPlanningCompactorTestsImageResource as SUnit intends.

Fix the compaction enumeration. The previousPin must not be reset until the enumeration is unable to find room for the current mobile object below previousPin. So previousPin is only updated when a mobile object that won't fit beneath it is in hand. Since this means that the size of the object in hand will potentially be tested multiple times, pull it out of the loop over pinned object from previousPin up, and hence refactor copyAndUnmarkObject:to:firstField: to copyAndUnmarkObject:to:bytes:firstField:, and have all the enumerations update toFinger explicitly.

Makew sure that pinned objects above the lastMobileObject are unmarked. Pull this code into its own method.

by Eliot Miranda (eliot.miranda@gmail.com) at January 12, 2017 06:48 PM

January 11, 2017

squeaksource.com

PlotMorph-tpr.35

Fix selectedExtras to return only non-nil items

by tim rowledge (tim@rowledge.org) at January 11, 2017 10:22 PM

source.squeak.org

VMMaker.oscog-eem.2084

SpurPlanningCompactor:
Extend the incompactible heap test to test that compaction can be invoked directly avoiding fullGC.

Consequetly, add a test that shows the bug with long runs of pinned objects.

Simplify test setup by moving initializeMarkStack et al into initializedVM.

Refactor savedFirstFieldsSpaceWasAllocated into savedFirstFieldsSpaceNotInOldSpace to neaten the toFinger < top assert.

Fix a slip in SpurSegmentManager>>initialize; sweepIndex should be initialized to zero.

by Eliot Miranda (eliot.miranda@gmail.com) at January 11, 2017 08:42 PM

squeaksource.com

SqueakRosCore-edc.15

added convenience methods to String

January 11, 2017 02:29 PM

source.squeak.org

Morphic-mdlh.1297

corrected typo in description text (amout -> amount)

by Merlin de la Haye (merlin.haye@student.hpi.de) at January 11, 2017 09:31 AM

VMMaker.oscog-rsf.2083

Workaround a GCC crash in Windows when building a Lowcode VM. Too much register allocation pressure for calling a builtin memcpy.

by Ronie Salgado Faila (roniesalg@gmail.com) at January 11, 2017 07:42 AM

VMMaker.oscog-eem.2082

Spur:
Go the extra few inches and extract the store check in primitiveSpurStringReplace.

by Eliot Miranda (eliot.miranda@gmail.com) at January 11, 2017 01:25 AM

squeaksource.com

PlotMorph-tpr.34

More fun examples, including actual power usage data!
Tentative fix to #scaledPoints to avoid problem where skipped x values caused problems in #scalePointsAtScreenPosition:

by tim rowledge (tim@rowledge.org) at January 11, 2017 01:09 AM

source.squeak.org

VMMaker.oscog-eem.2081

Spur:
Fix primitive 105 to work for 64- and 16-bit arrays, and fix the bug there-in that failed for different length mod 4 32-bit arrays on 64-bits.

Split primitive 105 into a Spur and a V3 version.

Fix all the comments that were unsure about the reality of 64-bit word arrays.

by Eliot Miranda (eliot.miranda@gmail.com) at January 11, 2017 01:02 AM

January 10, 2017

source.squeak.org

VMMaker.oscog-eem.2080

SpurPlanningCompactor:
Add a test framework for the compactor based around loading a Pharo bootstrap image and extending it. For now include one test that shortens the heap to the minimum and checks that the heap is found to be incompressible. Add a test class that tests that the cloneSimulation and image (re)loading functions work (upon which the SpurPlanningCompactorTests relies).

Don't use a macro for setDesiredCogCodeSize: (not needed) and implement it in the StackInterpreter for the convenience of these tests as well as potential image-build Smalltalk code running on the StackInterpreter.
Requires Cog-eem.335

by Eliot Miranda (eliot.miranda@gmail.com) at January 10, 2017 09:10 PM

Cog-eem.335

Extend Spur32BitPreen to allow resetting header values to their defaults, and to not raise an error if there is no changes file (for the Pharo bootstrap).

by Eliot Miranda (eliot.miranda@gmail.com) at January 10, 2017 09:05 PM

squeaksource.com

PlotMorph-tpr.33

Expand example5 to use Date format x axis properly.
Add ability to get y axis labels on the left or right ot the plot.
Delete 2 more unused methds

by tim rowledge (tim@rowledge.org) at January 10, 2017 01:57 AM

PlotMorph-cmm.32

Include missed extension method.

by Chris Muller (ma.chris.m@gmail.com) at January 10, 2017 01:19 AM

January 09, 2017

squeaksource.com

PlotMorph-tpr.31

Add a couple of new examples simulating temperature data.
Remove a couple of unused methods.
Change the drawing of area to use 'sensible' bottom-left and bottom-right corners.

by tim rowledge (tim@rowledge.org) at January 09, 2017 11:10 PM

source.squeak.org

VMMaker.oscog-eem.2079

Slang:
Fix code generation for bitInvert64, fixing recently generated 64-bit sources.
Fix indenting for not.
Fix cogitClass for StackInterpreter[Primitives] to avoid unnecessary CCodeGenerator initialization.

by Eliot Miranda (eliot.miranda@gmail.com) at January 09, 2017 08:24 PM

squeaksource.com

PlotMorph-cmm.30

Provide missing methods needed for StackedPlotMorph class>>#example1.

by Chris Muller (ma.chris.m@gmail.com) at January 09, 2017 08:08 PM

source.squeak.org

VMMaker.oscog-eem.2078

Slang:
Add support for constant reduction of const ifTrue: [bool] ifFalse: [statements] => bool to reduce isVanillaBlockClosure: to true when not using SistaV1BytecodeSet, and hence rescue C compilation of the non-Sista sources (ensureMethodIsCoggeds: needs this).

by Eliot Miranda (eliot.miranda@gmail.com) at January 09, 2017 05:40 PM

squeaksource.com

Solitario1-ChristianSoto.6

empty log message

by Christian Soto (christianlufkin@gmail.com) at January 09, 2017 01:39 PM

GameTresEnRaya-pasto.2

Version final del juego

by Yemi (zpfmgy@gmail.com) at January 09, 2017 03:42 AM

Tempenky-FirstnameLastname.5

modifique el transcript

by Roycer Cordova (roycercordova@gmail.com) at January 09, 2017 02:24 AM

Tempenky-FirstnameLastname.4

este esta modificado

by Roycer Cordova (roycercordova@gmail.com) at January 09, 2017 02:21 AM

Tempenky-FirstnameLastname.3

empty log message

by Roycer Cordova (roycercordova@gmail.com) at January 09, 2017 02:10 AM

Tempenky-FirstnameLastname.2

empty log message

by Roycer Cordova (roycercordova@gmail.com) at January 09, 2017 02:10 AM

GameTresEnRaya-pasto.1

empty log message

by Paula Asto (carolinaasto@gmail.com) at January 09, 2017 01:56 AM

January 08, 2017

source.squeak.org

VMMaker.oscog-rsf.2077

ExtB 00000000 1xxxxxxx constant decoding bug fix.

by Ronie Salgado Faila (roniesalg@gmail.com) at January 08, 2017 10:39 PM

squeaksource.com

Damas-TEO

Guardando version estable

by Christian Incalla (christ.incalla@gmail.com) at January 08, 2017 10:30 PM

sieteymedio-Angel_Quispe_Arocutipa.2

empty log message

by Angel Quispe (an93luz@hotmail.com) at January 08, 2017 09:56 PM

System.V3-dtl.922

Name: System-ul.922
Author: ul
Time: 27 December 2016, 11:07:17.892759 pm
UUID: 694a8729-9b50-42d3-ae51-04dc932ab1f8
Ancestors: System-eem.921

SystemNavigation>>browseMethodsWithString:matchCase:
- ignore method selector from the results, just like messages
- cache messages for performance

by Dave Lewis (lewis@mail.msen.com) at January 08, 2017 09:37 PM

Collections.V3-dtl.730

Name: Collections-ul.730
Author: ul
Time: 25 December 2016, 4:19:28.820055 pm
UUID: 960b46c2-39af-42c0-8855-92413ba0dbda
Ancestors: Collections-ul.729, Collections-cmm.729

- merge

by Dave Lewis (lewis@mail.msen.com) at January 08, 2017 09:32 PM

Collections.V3-dtl.729

Name: Collections-cmm.729
Author: cmm
Time: 22 December 2016, 11:41:23.542114 pm
UUID: 7055f774-a3b6-4f1f-a8e6-94265108c10f
Ancestors: Collections-nice.728

Symbol>>#selector affords flexibility with input arguments that normally only accept Symbol selectors, to also accept MessageSends or CompiledMethods, too, as when drag and dropping a method out of a browser window.

by Dave Lewis (lewis@mail.msen.com) at January 08, 2017 09:30 PM

Solitario1-ChristianSoto.5

empty log message

by Christian Soto (christianlufkin@gmail.com) at January 08, 2017 08:30 PM

Juego-wilmer_pacheco_llacho.1

empty log message

by wilmer alberto (wilmerpllacho@gmail.com) at January 08, 2017 03:51 PM

January 07, 2017

source.squeak.org

VMMaker.oscog-eem.2076

SpurPlanningCompactor:
Fix stupid slip in seeing if enough space to move an object below previous pin.

Never inline the three phases for ease of debugging (so objOop, prevOpb et al don't get renamed due to multiple copies of the object enumeration loop) as much as for performance measurment.

by Eliot Miranda (eliot.miranda@gmail.com) at January 07, 2017 12:59 AM

January 06, 2017

source.squeak.org

VMMaker-dtl.391

VMMaker 4.16.2

Old image support: Rescue five sound primitive assignments for updatePrimitiveTable for primitives that should be loaded from SouondGenerationPlugin, not from SoundPlugin.

The following ancient primitives are still not loadable into the primitiive table for old image support:

#primWaveTableSoundmixSampleCountintostartingAtpan
#primFMSoundmixSampleCountintostartingAtpan
#primPluckedSoundmixSampleCountintostartingAtpan
#primSampledSoundmixSampleCountintostartingAtpan
#oldprimSampledSoundmixSampleCountintostartingAtleftVolrightVol

In addition #primitiveReadJoystick does not load from JoystickTabletPlugin when running on Linux, but this is confirmed to be an artifact of the function loader, which abandons the attempt to load a module if #initialiseModule answers false, as is the case in the Unix stub code implementation (so it should work on platforms that do support the joystick plugin).

by David T. Lewis (lewis@mail.msen.com) at January 06, 2017 12:35 AM

January 05, 2017

source.squeak.org

VMMaker.oscog-eem.2075

SpurPlanningCompactor:
Enjoy a moment of clarity and eliminate the continue... nonsense. The enumerators can simply continue with toFinger in lock-step with the current object while pinned objects prevent movement.

To help debug the previous state of SPC change checkInterpreterIntegrity to answer 0 if ok, and a set of problem-identifying flags if not. Hence remember to send mapExtraRoots in updatePointers.

Select fthe highest suitable free block properly.

The CoInterpreter now appears to work.

by Eliot Miranda (eliot.miranda@gmail.com) at January 05, 2017 10:58 PM

VMMaker.oscog-eem.2074

Fix the NumTrampolines issue, albeit in an ugly way.
Revert some timestamps of unchanged methods.

by Eliot Miranda (eliot.miranda@gmail.com) at January 05, 2017 09:04 PM

VMMaker.oscog-nice.2073

Fix access to 64 bits int from 32 bit VM in primitiveFFIIntegerAtPut

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at January 05, 2017 08:00 PM

VMMaker.oscog-rsf.2072

Fixing some compilation warnings.
Fixing the order of the arguments of some trampolines.
Fixing the computation of the numTrampolines to return values according to the LowcodeVM flag.
Added a hack in CogObjectRepresentationForSpur to always add the NumStoreTrampolines count. The generated NumTrampolines C define is just a constant, which does not take into account if -DIMMUTABILITY was passed to the compiler, which happens with the PharoVM.

by Ronie Salgado Faila (roniesalg@gmail.com) at January 05, 2017 02:19 AM

VMMaker.oscog-eem.2071

Slang: To make code more readable when implementing SpurPlanningCompactor, markedBitShift was made a macro. That caused Slang to generate a bogus versuon of nullHeaderForMachineCodeMethod because it could no longer infer the type of the shift operand for the marked bit, and so generated 1UL << 55 instead of 1ULL << 55. Consequently nullHeaderForMachineCodeMethod answered 0 (!!).

Add TParseNode>>constantNumbericValueIfAtAllPossibleOrNilIn: that provides a vaue for defines and methods answerinf constants as well as explicit constants and use it in generateShiftLeft:on:indent:, hence fixing nullHeaderForMachineCodeMethod.

by Eliot Miranda (eliot.miranda@gmail.com) at January 05, 2017 01:40 AM

squeaksource.com

Games-Plumbin-tpr.2

Add dependency on the Morphic-Demo-Drag package

by tim rowledge (tim@rowledge.org) at January 05, 2017 12:43 AM

Morphic-Demo-Drag-tpr.1

Simple example of drag/drop morph setup, used by the Plumbin' demo

by tim rowledge (tim@rowledge.org) at January 05, 2017 12:42 AM

Games-Plumbin-tpr.1

Save this classic demo

by tim rowledge (tim@rowledge.org) at January 05, 2017 12:41 AM

January 04, 2017

source.squeak.org

VMMaker.oscog-eem.2070

CoInterpreter:
Make the stack depth check for abort sends consistent with normal sends. Add a stack chec for activating processes. Print non-local return info when there's an unwind to the transcript to aid debugging the wrong stack depth on some non-local returns issue.

No longer halt on code compaction; its utility/annoyance ratio is now too small.

by Eliot Miranda (eliot.miranda@gmail.com) at January 04, 2017 10:29 PM

VMMaker.oscog-eem.2069

Fix some memory access sends to self to be sends to objectMemory.

by Eliot Miranda (eliot.miranda@gmail.com) at January 04, 2017 05:17 PM

VMMaker.oscog-eem.2068

SpurPlanningCompactor:
Fix the bug in useFreeChunkForSavedFirstFieldsSpace:; the object must not be destroyed when filling it with saved first fields, so skip the first few fields.
(Code that debugged this included in a comment in check:)

Fix edge cases in asserts in the main enumerators.

It seems to be working.

by Eliot Miranda (eliot.miranda@gmail.com) at January 04, 2017 03:03 AM

January 03, 2017

source.squeak.org

VMMaker.oscog-eem.2067

SpurPlanningCompactor:
Nuke unmarkObjectsOverflowingSavedFirstFieldsSpace; it is never appropriate. Replace it by unmarkObjectsAfterLastMobileObject & objectAfterLastMobileObject.

copyAndUnmark should not unmark initial objects in a second pass, hence copyAndUnmark => copyAndUnmark: firstPass.

Fix reInitializeScan for subsequent passes by setting lastMobileObject appropriately.

Fix several oop comparisons to use the approved method, and add type declarations so that comparisons can work for toFinger and top.

Add an assert to planCompactSavingForwarders & copyAndUnmarkMobileObjectsWithTop: to check that a free chunk used for savedFirstFieldsSpace will not get improoperly overwritten.

Simplify numPointerSlotsWhileCompactingOf:withFormat:savedFirstFieldPointer:; the first field ptr is always present.

Fix printEntity: to use the new unprefixed hex printer.

Simulator:
Fix deprecated usage in fetchByte.

by Eliot Miranda (eliot.miranda@gmail.com) at January 03, 2017 07:54 PM

WebClient-Tests-jr.49

add test for chunk stream reading

by Tobias Pape (tobias+squeaksource@netshed.de) at January 03, 2017 02:12 PM

WebClient-Core-jr.104

fix: bogus chunked stream data if a later chunk is smaller than a previous one

also do not fetch the next chunk until its contents is requested

by Tobias Pape (tobias+squeaksource@netshed.de) at January 03, 2017 02:10 PM

VMMaker.oscog-rsf.2066

I added methods for generating the sources of the Lowcode VM.
I added some missing entries in the IA32 concretize instruction the dispatch table.

After this, I have to fix: the order of the arguments used by the Lowcode trampolines, and the 16r00XX problem with the extB bytecode.

by Ronie Salgado Faila (roniesalg@gmail.com) at January 03, 2017 09:08 AM

VMMaker.oscog-eem.2065

SpurPlanningCompactor:
Fix slip in continueCopyAndUnmarkMobileObjectsFrom:withTop:.
In all the enumerators, strengthen the previousPin asserts and ignore unmarked objects when skipping past previousPin.

Nuke a couple of unused methods.

Habe printEntity: print the state bits such as isMarked:, isRemembered: et al.

Simulator:
Remember to update CogVMSimulator>>close also.

by Eliot Miranda (eliot.miranda@gmail.com) at January 03, 2017 03:19 AM

VMMaker-dtl.390

VMMaker 4.16.1 - Support older Squeak images back to version 1.13 (circa 1996)

This set of updates is based on SqueakJS as a reference implementation that
supports a full range of images from Squeak 1.13 through the latest Spur images.

Numbered primitives are identified in the primitive table, established by the
implementations of #initializePrimitiveTable in the various images. Class
PrimitiveTableHistory has been added to document known versions of the
primitive table.

Background: In general, primitives that originated as numbered primitives in early
Squeak versions have been reimplemented as named primitives in the base
interpreter and in various interpreter plugins. The goal is to reduce or eliminate
use of numbered primitives. Support for old images therefore amounts to reassiging
the old primitive numbers to named primitives where necessary to support
running an older image.

Strategy: Check if the current image #hasClosures based on the image format
number, then provide an older set of numbered primitives suitable for a range of
pre-closure images dating back to Squeak 1.13. Do this by starting with the
default primitive table, checking at entry to interpreter() to see if this is a
pre-closure image, then installing old primitives as needed in #updatePrimitiveTable.

Interpreter primitives that require a primitive number for older images are
added to the primitive table with #installPrimitive:at: and primitives that are now
implemented in interpreter plugins are loaded and installed in the primitive
table with #installPrimitive:from:at:.

by David T. Lewis (lewis@mail.msen.com) at January 03, 2017 01:57 AM

January 01, 2017

squeaksource.com

OderParrot-rww.3

reorg

by Robert Withers (rob.withers@protonmail.com) at January 01, 2017 11:31 PM

Brook-rww.3

reorg

by Robert Withers (rob.withers@protonmail.com) at January 01, 2017 11:25 PM

Whisper-rww.126

reorg classes

by Robert Withers (rob.withers@protonmail.com) at January 01, 2017 09:19 PM

December 31, 2016

source.squeak.org

VMMaker.oscog-eem.2064

SmartSyntaxPlugin Slang:
And don't generate the return guard if there's nothing to guard.

by Eliot Miranda (eliot.miranda@gmail.com) at December 31, 2016 10:48 PM

VMMaker.oscog-eem.2063

SmartSyntaxPlugin Slang:

Avoid generating unreachable code when failing. Avoid an unnecessary test for failed if returning an expression which can't fail. Nuke an unused method.

by Eliot Miranda (eliot.miranda@gmail.com) at December 31, 2016 10:37 PM

VMMaker.oscog-eem.2062

SpurPlanningCompactor:
Fix "continue" enumeration (enumerating over an intervening run of immobile objects within the mobile objects) for update and copyAndUnmark.

Abstract the forward operation to forwardMobileObject:to:savedFirstFieldPtr: for clarity and comment the purpose of the loop in the "continue" methods.

Change the return value of copyAndUnmarkObject:to:firstField: to match forwardMobileObject:to:savedFirstFieldPtr:.

The simulator successfully updated and snapshotted :-)

by Eliot Miranda (eliot.miranda@gmail.com) at December 31, 2016 08:47 PM

VMMaker.oscog-eem.2061

Simulator:
Use Levente's lock-free growth of the externalSemaphoreSignalRequests/Responses code.

Turn off logging in the SocketPluginSimulator now that it can do an update.

SpurPlanningCompactor:
Add an assert to check that all marked and unpinned objects in the mobile range are actually mobile, and hence uncover the bug in planCompactSavingForwarders.

Fix the bug in planCompactSavingForwarders (the rest to follow).

Add an interestingObject and halt the enumerations at it for debugging (simulation only).

by Eliot Miranda (eliot.miranda@gmail.com) at December 31, 2016 06:46 PM

squeaksource.com

SBE-Quinto-WW.1

empty log message

by Wojciech Wieczorek (wojciech.wieczorek@us.edu.pl) at December 31, 2016 03:20 PM

source.squeak.org

VMMaker.oscog-eem.2060

SocketPluginSimulator:
SocketPlugin simulation sufficient to do a diff of a changed package against source.squeak.org/trunk, and indeed sufficient to get far enough to provke an assert-fail in compaction.

Simulate only ipv4.

Clean up primitiveHasSocketAccess to be smart syntax and eliminate the cCode: from initialiseModule.

by Eliot Miranda (eliot.miranda@gmail.com) at December 31, 2016 01:35 AM

VMMaker.oscog-eem.2059

SmartSyntaxPluginSimulator
Simplify getting at the interpreterProxy and hence streamline asSmallIntegerObj et al.

Add support for logging (print frame, primitive selecvtor and result).

by Eliot Miranda (eliot.miranda@gmail.com) at December 31, 2016 12:33 AM

December 30, 2016

squeaksource.com

Shout-edc.98

empty log message

December 30, 2016 06:34 PM

SqueakRosCore-edc.14

remove unnedeed method whit references Undeclared class

December 30, 2016 09:39 AM

source.squeak.org

VMMaker.oscog-eem.2058

Simulator:
Add a Processor yield to doSignalExternalSemaphores: so that e.g. background processes in teh SocketPluginSimulator will get a chance to run more frequently than if ythe yield we in ioProcessEvents.

Fix the new implementation of asCharPtr; it should coerce the firstIndexableField:.

Fix the new generic plugin closing.

Implement windowIsClosing in the stack interpreter sim.

by Eliot Miranda (eliot.miranda@gmail.com) at December 30, 2016 01:26 AM

December 29, 2016

squeaksource.com

MQTTTests-tpr.1

Tests for the main MQTT stuff.
The packet tests are simple can-I-write-and-read-back tests. The connection tests actually talk to a broker - currently just my local one so you'd need to change the host name in each method.
All the test pass at this time.

by tim rowledge (tim@rowledge.org) at December 29, 2016 09:34 PM

MQTT-tpr.5

Can now subscribe to both normal messages and the retained messages previously published

by tim rowledge (tim@rowledge.org) at December 29, 2016 09:32 PM

source.squeak.org

VMMaker.oscog-eem.2057

SmartSyntaxPluginSimulator:

Fix several bugs with smart syntax operations (cPtrAsOop asSmallIntegerObj et al) that weren't being simulated.

Delete Object>>primitive: and implement it in SmartSyntaxInterpreterPlugin & SmartSyntaxPluginSimulator to be able to collect the signatures of zero-arg smart syntax prims.

Extend SmartSyntaxPluginSimulator instantiation to include a simulator subclass if one exists (the simulatorClass has to remain SmartSyntaxPluginSimulator to get the wrapping and marshalling on forwarding to work).

Fix returning self in SmartSyntaxPluginSimulator>>doesNotUnderstand:

Implement the ccgLoad:*andThen: methods.

FIx coercion of the byteArrayArg in the FilePluginSimulator read and write methods.

by Eliot Miranda (eliot.miranda@gmail.com) at December 29, 2016 05:07 PM

VMMaker.oscog-eem.2056

Simulator:

Fix firstIndexableField: in the Spur MM sims.

Have plugins be closed whenever the VM is closed. Properly implement close to send close to any plugin that wants it.

by Eliot Miranda (eliot.miranda@gmail.com) at December 29, 2016 04:54 PM

December 28, 2016

source.squeak.org

VMMaker.oscog-eem.2055

SpurPlanningCompactor:
Continue correctly in the update and copyAndUnmark phases by adding a top parameter to hold the initial and/or continuing value of top.

Refactor updatePointersIn:startingAt:savedFirstFieldPointer: into two separate updatePointersIn: & updatePointersIn:savedFirstFieldPointer: methods, and move updating the savedFirstField into updatePointersIn:savedFirstFieldPointer:.

Log the phases.

General:
Fix a C compiler warning.

Sim:
Delete an unused method.

by Eliot Miranda (eliot.miranda@gmail.com) at December 28, 2016 10:08 PM

squeaksource.com

JSON-cqr.40

fixed cross padding

by Robert Withers (robert.w.withers@gmail.com) at December 28, 2016 04:13 PM

JSON-tonyg.39

Change JsonTests>>testStreaming to compare to JsonObject new, rather than just testing isDictionary.

testStreaming should not only check that the result is a dictionary, but that it is empty.

by Robert Withers (robert.w.withers@gmail.com) at December 28, 2016 03:55 PM

Whisper-cqr.123

fixed encoder testing, here are the velocity

DBL_AESede/asn1der: 100 KB compressed data chunks received: 100
send time: 1096 ms, rate: 73 Mbs.
receive time: 1096 ms. rate: 73 Mbs.

DBL_AESede/bytes: 100 KB compressed data chunks received: 100
send time: 1094 ms, rate: 73 Mbs.
receive time: 1095 ms. rate: 73 Mbs.

DBL_AESede,json: 100 KB compressed data chunks received: 10
send time: 2107 ms, rate: 4 Mbs.
receive time: 2107 ms. rate: 4 Mbs.
---

Here's the master plan, always malleable; if anyone sees something interesting to dive into, you are welcome. minfadlaq

Future Features
---
0 - fix vector corruption through pbeStorage
1 - java/squeak interoperability
2 - FEC-RS testing/repair
3 - define QR-coded PBE identity
4 - switch to SHA256/scrypt PBE for identities
5 - porciniz
6 - DNS/meta layer injection
7 - stack hacking/network discovery/graphing/routing
8 - blockchain
9 - support non-secret finite field key exchange ("Whisper-2")/add dataEncoder to EncoderData
10 - ratcheting/group join/leave ratcheting
11 - asn1derMetaEncoder/class autocreation and meta qufrums
12 - qufrum/data replication
13 - thermoHarmonics3NeuralRuleGA (PV = nrT + distortion)

by Robert Withers (robert.w.withers@gmail.com) at December 28, 2016 03:00 PM

MQTT-tpr.4

Can now connect, ping, publish and disconnect

by tim rowledge (tim@rowledge.org) at December 28, 2016 03:29 AM

December 27, 2016

source.squeak.org

Cog-nice.334

In Win64 X64 ABI, RSI and RDI are non volatile (hence callee saved rather than caller saved).

See MSDN Caller/Callee Saved Registers in x64 calling convention
https://msdn.microsoft.com/en-us/library/6t169e9c.aspx

by Nicolas Cellier (nicolas.cellier.aka.nice@gmail.com) at December 27, 2016 10:49 PM

System-ul.922

SystemNavigation>>browseMethodsWithString:matchCase:
- ignore method selector from the results, just like messages
- cache messages for performance

by Levente Uzonyi (leves@elte.hu) at December 27, 2016 10:26 PM

VMMaker.oscog-eem.2054

SpurPlanningCompactor:
Move the initial scan for firstFreeObject and firstMobileObject to the earliest point and hence bail out when the heap is already compacted.

by Eliot Miranda (eliot.miranda@gmail.com) at December 27, 2016 09:03 PM

VMMaker.oscog-eem.2053

Spur:
Move the attemptToShrink from fullGC to globalGarbageCollect so that it is included in lemming debugging.

Make checkHeapFreeSpaceIntegrity check totalFreeOldSpace and hence catch SpurPlannngCompactor not freeing a free object at the end of an already compacted heap.

Fix the free space leak checker invocations for the allocateSlots*InOldSpace:... One cannot invoke the leak checker until the allocated object's header has been filled in. Shows how long its been since the free space leak checker has been run :-/.

Fix a slip in the refactoring of initializeScan to use reinitializeScan.

by Eliot Miranda (eliot.miranda@gmail.com) at December 27, 2016 08:24 PM

VMMaker.oscog-eem.2052

Fix the regression in VMMaker.oscog-eem.2050's buildCodeGeneratorForInterpreter:includeAPIMethods:initializeClasses:. Fix setting of optionsDictionary on instantiating a simulator.

by Eliot Miranda (eliot.miranda@gmail.com) at December 27, 2016 05:43 AM

VMMaker.oscog-eem.2051

Nuke the exportAPISelectors: nonsense since we can use isAPIMetod on the methods set (I guess since apiMethods were available separately?).

by Eliot Miranda (eliot.miranda@gmail.com) at December 27, 2016 05:11 AM

VMMaker.oscog-eem.2050

Slang:
Fix inlining bugs due to an overcomplex and inaccurate completion check.

Specifically:
- inlineableFunctionCall:in: & inlineableSend:in: must see if a method wants to be inlined, so that completeness can be computed properly.
- fix slips in tryToInlineMethodsIn: exiting too soon and always setting complete in a macro.
- refactor checkForCompleteness:in: to checkForCompletenessIn: and simplify, setting complete if no incomplete send is found, rather than assuming completeness and then looking for inlineability, which is wrong.

Have collectInlineList: set inline to false (rather than nil) if using asSpecified or asSpecifiedOrQuick.

Fix pruneUnreachableMethods: to not delete <api> methods.

Add cppIf:ifTrue: to statementsListsForInliningIn:'s filtering out.

Slightly more flexible generateTruncateTo:on:indent:,probably not needed due to inlining fixes, but is goodness.

Fix mis-initialization on code generation by setting the vmClass's objectmemoryClass's initializationOptions before asking it for its ancilliary classes.

Spur:
Include the compactorClass's exportAPISelectors:.

Revert some now unnecessary <inline: #always> to <inline: true>.

Declare savedFirstFieldsSpace correctly.

Declatre the compactor's default return type correctly.

General:
Add printMethodImplementorsOf: for debugging.

by Eliot Miranda (eliot.miranda@gmail.com) at December 27, 2016 03:16 AM

December 25, 2016

source.squeak.org

Tools-ul.742

Simplified and removed the duplicate selector from the results of StringHolder >> #withSelectorAndMessagesIn:evaluate:.

by Levente Uzonyi (leves@elte.hu) at December 25, 2016 10:06 PM

VMMaker.oscog-eem.2049

SpurPlanningCompactor:
Solve the two GCs in a row bug by setting firstMobileObject to endOfMemory before scanning for free objects. Its value should not be a remnant from a previous compaction. fistFreeObject should be used as the start of each pass's enumeration, since this can ascend on each pass, whereas firstMobileObject must remain that of the first object whose first field has been saved in savedFirstFieldsSpace. Hence firstMobileObject should be reset before continuing in each of the continueOPERATIONFrom: methods.

by Eliot Miranda (eliot.miranda@gmail.com) at December 25, 2016 09:02 PM

VMMaker.oscog-eem.2048

First cut of SpurPlanningCompactor, a traditional two-finger sliding compactor adapted to handle pinned objects. It appears to work in the simulator with both CoInterpreter and StackInterpreter for a single GC, but does not handle Smalltalk garbageCollect; garbageCollect yet.


Refacor scavengeInProgress into gcPhaseInProgress so that SpurPlanningCompactor can identify sliding compaction. Refactor shouldRemapObj:/remapObj: to double-dispatch throguh the compactor so that SpurPlanningCompactor can use its implicit forwarding test isMobile: to decide if a forwasrding pointer should be followed.

Move globalGarbageCollect's segmentManager prepareForGlobalSweep send to immediately before compactor compact.

Move nextInSortedFreeListLink:given: to SpurPigCompactor.

Extract the printing in printOopsFrom:to: into printEntity:, which is useful on its own for debugging.

Rename excludeUnmarkedNewSpaceObjs to excludeUnmarkedObjs throughout the leak checker; indeed any unmarked obj should be excluded immediately after the mark phase.

Nuke a couple of unused methods and correct some comment spellings.

by Eliot Miranda (eliot.miranda@gmail.com) at December 25, 2016 08:12 PM

December 23, 2016

squeaksource.com

Maui-Core-cmm.521

In MessageMorphs whose label has been manually configured, put the message selector at the _end_, in parentheses, rather than at the beginning, which confuses the very users the custom-labeled message is trying to appeal to.

by Chris Muller (ma.chris.m@gmail.com) at December 23, 2016 07:59 PM

ShoutCore-edc.34

empty log message

December 23, 2016 07:32 PM

December 21, 2016

squeaksource.com

System.V3-dtl.921

Name: System-eem.921
Author: eem
Time: 16 December 2016, 5:55:12.162336 pm
UUID: 1e3f5100-fcfc-44d0-a848-7dd76e1889f3
Ancestors: System-eem.920

Provide isMethodReference for MessageList et al.

by Dave Lewis (lewis@mail.msen.com) at December 21, 2016 02:45 PM

December 19, 2016

squeaksource.com

PBE-SeasideRPN-NicolaiHess.2

change app initialization for seaside 3.0
add empty stack guards for RPNKeypad stack operations, as the ensureStackMachineNotEmpty call from the rendering method does
not change the real stackMachine state (this behavior had changed since seaside 2.8)

by nicolai (nicolaihess@gmail.com) at December 19, 2016 09:24 PM

OpenWeatherMaps-tpr.2

Add requirement for JSon package and update comment

by tim rowledge (tim@rowledge.org) at December 19, 2016 09:22 PM

HardwarePeripherals-Core-tpr.35

Change to suit new library message for buzzer tone

by tim rowledge (tim@rowledge.org) at December 19, 2016 09:15 PM

ScratchGPIO-tpr.13

correct the ServiceRegistry usage

by tim rowledge (tim@rowledge.org) at December 19, 2016 09:14 PM

NuScratch-tpr.380

Make the sound system not stop when playing silence aftera sample; requested by simon in order to reduce the hdmi sound startup delay that some nonsense in the hardware causes

by tim rowledge (tim@rowledge.org) at December 19, 2016 09:14 PM

December 18, 2016

squeaksource.com

LIF-vd.21

Ancestors: LIF-vd.20
Added, Modified, Deleted vs. LIF-vd.20:
M LIFGalerija class>>kaipPirkti
M LIFGalerija>>renderKaipPirktiContentOn:
M LIFGalerija>>renderKontaktaiContentOn:
M LIFGalerija>>renderPatariuContentOn:

by Vaidotas Didzbalis (vaidasd@gmail.com) at December 18, 2016 08:07 PM

LIF-vd.20

Ancestors: LIF-vd.19
Added, Modified, Deleted vs. LIF-vd.19:
M LIF2 class>>serveCatalog
M LIFAbstractPage
M LIFAbstractPage>>renderSearchBandOn:
A LIFAbstractPage>>setTitle:
A LIFAbstractPage>>title
M LIFGalerija
A LIFGalerija class>>kaipPirkti
A LIFGalerija class>>kontaktai
A LIFGalerija class>>patariu
M LIFGalerija class>>root
A LIFGalerija>>hasTOC
M LIFGalerija>>menuButtonId
M LIFGalerija>>renderContentOn:
M LIFGalerija>>renderFontsCssRootOn:
A LIFGalerija>>renderKaipPirktiContentOn:
A LIFGalerija>>renderKontaktaiContentOn:
A LIFGalerija>>renderPatariuContentOn:
A LIFGalerija>>renderSubTitleIfAnyOn:
M LIFGalerija>>renderTOCOn:
A LIFGalerija>>setMenuButtonId:
A LIFGalerija>>setSubTitle:
D LIFGalerija>>setTitle:
A LIFGalerija>>subTitle
D LIFGalerija>>title

by Vaidotas Didzbalis (vaidasd@gmail.com) at December 18, 2016 07:23 PM

MQTT-tpr.3

Lots of class commenting to refer to the doc sections important to the code.
Refactor the classes to reflect the split between fixed header only/ fixed + variable header / headers + payload formats.

by tim rowledge (tim@rowledge.org) at December 18, 2016 07:02 PM

Cryptography-rww.69

rename pbe

by Robert Withers (robert.w.withers@gmail.com) at December 18, 2016 06:37 PM

Whisper-rww.122

sorted out the specification of encoders nd protocols. performance varies: bytes: 123 Mbs
json: 5 Mbs
asn1der: 5 Mbs

by Robert Withers (robert.w.withers@gmail.com) at December 18, 2016 01:56 AM

Cryptography-rww.68

added printOn:

by Robert Withers (robert.w.withers@gmail.com) at December 18, 2016 01:56 AM

December 17, 2016

squeaksource.com

Magma-Server-cmm.507

I don't think Preferences #serverMode is needed any more.

by Chris Muller (ma.chris.m@gmail.com) at December 17, 2016 11:08 PM

Ma-Client-Server-Core-cmm.282

Don't enable #serverMode. I don't know that it actually still does anything good.

by Chris Muller (ma.chris.m@gmail.com) at December 17, 2016 11:07 PM

Ma-Serializer-Tests-cmm.45

Override maEquivalentForSerializationTest:using:halt: because the superclass implementation exposes that it was comparing the physical structure of Integers. A logical comparison is sufficient and proper, and compatible with 64-bit images.

by Chris Muller (ma.chris.m@gmail.com) at December 17, 2016 11:07 PM

Ma-Serializer-Core-cmm.334

"MagmaTestCase suite debug" just passed in the 64-bit image! Wow, that was a lot easier than I thought. The only compatibility issue turned out to be the new range of SmallInteger now extending out to 60 bits instead of only 30.
A 64-bit image should be able to read all LargeInteger buffers valued between legacyMaxVal and newMaxVal just fine. However, It must serialize SmallIntegers larger than legacyMaxVal as LargeIntegers, because the oid space is only 48 bits.
With these overrides in SmallInteger, legacy Magma applications can now run in a heterogeneous environment of 32 and 64-bit images and VMs. VM installation onto 64-bit OS's will no longer require the complicated installation of the 32-bit libraries, a big gain for users.
Back when Squeak only had the interpreter VM, Magma had a 64-bit oid space, but it proved to be bigger than necessary for the speed of that time, so I cut it to 48 bits.
48 bits is still big enough for huge databases, but starting to feel limiting in the 64-bit environment especially now that the 64-bit image has optimized double-precision floats, as well. So many projects. I wish a brilliant PhD student would design Magma a new optimal "magma64" oid-space.

by Chris Muller (ma.chris.m@gmail.com) at December 17, 2016 11:07 PM

OSProcess-Tests-dtl.15

OSProcess 4.6.6
Test updates only:
Add stream flushes in file lock testing because some C runtimes require the flush.
Do not use accessors when variable references are sufficient.
Delete temp files to prevent test interaction.

by Dave Lewis (lewis@mail.msen.com) at December 17, 2016 10:24 PM

OSProcess-dtl.100

OSProcess 4.6.6
Test updates only:
Add stream flushes in file lock testing because some C runtimes require the flush.
Do not use accessors when variable references are sufficient.
Delete temp files to prevent test interaction.

by Dave Lewis (lewis@mail.msen.com) at December 17, 2016 10:23 PM

Collections.V3-dtl.728

Merge Collections-nice.723 (WeakIdentityDictionary)

Name: Collections-nice.723
Author: nice
Time: 27 October 2016, 8:04:09.437881 pm
UUID: 0c01b091-06e9-694d-9415-56c62c06babc
Ancestors: Collections-nice.722

Provide a WeakIdentityDictionary - a good candidate for being used as environments undeclared pool.

by Dave Lewis (lewis@mail.msen.com) at December 17, 2016 02:02 PM

Kernel.V3-dtl.1053

Name: Kernel-eem.1053
Author: eem
Time: 16 December 2016, 5:52:27.549163 pm
UUID: 649183d7-831c-44a0-acc7-451ffcfa664f
Ancestors: Kernel-eem.1052

Provide isMethodReference for MessageList et al

by Dave Lewis (lewis@mail.msen.com) at December 17, 2016 01:44 PM

Kernel.V3-dtl.1052

Name: Kernel-eem.1052
Author: eem
Time: 6 December 2016, 11:30:33.659177 am
UUID: 925c6bf0-e0ad-483a-b0fd-a20c5efa4470
Ancestors: Kernel-ul.1051

Provide CompiledMethod>>tempNames again. Requires Tools-eem.735

by Dave Lewis (lewis@mail.msen.com) at December 17, 2016 01:41 PM

December 16, 2016

squeaksource.com

Whisper-rww.120

removed halt,

by Robert Withers (robert.w.withers@gmail.com) at December 16, 2016 02:28 AM

Whisper-rww.119

vheck

by Robert Withers (robert.w.withers@gmail.com) at December 16, 2016 02:06 AM

Cryptography-rww.67

caught that swordfish

by Robert Withers (robert.w.withers@gmail.com) at December 16, 2016 02:06 AM

December 14, 2016

squeaksource.com

Asteroid-edc.1

empty log message

December 14, 2016 04:30 PM

Asteroid-edc.21

empty log message

December 14, 2016 11:20 AM

December 13, 2016

squeaksource.com

Asteroid-edc.20

Another methods missed in other images

December 13, 2016 01:29 PM

SWT-dgd.144

December 13, 2016 11:09 AM

SWT-edc.178

empty log message

December 13, 2016 10:03 AM

ST2JS-dgd.144

December 13, 2016 10:01 AM

ST2JS-dgd.147

December 13, 2016 09:46 AM

December 12, 2016

squeaksource.com

Asteroid-edc.19

This methods are missed in others .image, so i add to package

December 12, 2016 10:22 PM

Daniels-games-DanielThornton.1

First version of Number guess game

by Daniel Thornton (dhsaggy28@yahoo.com) at December 12, 2016 03:13 AM

December 11, 2016

squeaksource.com

System.V3-dtl.920

Name: System-eem.920
Author: eem
Time: 3 December 2016, 9:33:47.096323 am
UUID: 694cd18b-4572-4762-b5b9-29e116119a9d
Ancestors: System-bf.919

The various scanFor: and scanForEmptySlotFor: implementations only need to access the size of their array once.

by Dave Lewis (lewis@mail.msen.com) at December 11, 2016 01:36 AM

System.V3-dtl.919

Name: System-bf.919
Author: bf
Time: 29 November 2016, 4:25:21.448787 pm
UUID: 74ade1d7-aa4a-41a2-b229-894c3c2602ac
Ancestors: System-cmm.918

Another fix for reading Characters from SmartRefStream

by Dave Lewis (lewis@mail.msen.com) at December 11, 2016 01:35 AM

System.V3-dtl.918

Name: System-cmm.918
Author: cmm
Time: 22 November 2016, 5:17:50.933976 pm
UUID: 508aa5e7-48e0-4137-bb2d-7bbb96a1a722
Ancestors: System-tfel.917

Guard against patching a newer system with an older patch file.

by Dave Lewis (lewis@mail.msen.com) at December 11, 2016 01:32 AM

Kernel.V3-dtl.1051

Name: Kernel-ul.1051
Author: ul
Time: 6 December 2016, 6:50:56.960382 pm
UUID: 15f0443e-a6cc-4c91-ba44-190ef66534c7
Ancestors: Kernel-eem.1050

- simplified Semaphore >> critical:ifLocked:
- Float >> #arcTan: always return a Float + some micro-optimizations
- micro-optimizations in Float >> #sign

by Dave Lewis (lewis@mail.msen.com) at December 11, 2016 01:28 AM

Kernel.V3-dtl.1050

Name: Kernel-eem.1050
Author: eem
Time: 3 December 2016, 9:32:37.361263 am
UUID: 57843650-49e3-4f32-a54b-026878128dc2
Ancestors: Kernel-cmm.1049

The various scanFor: and scanForEmptySlotFor: implementations only need to access the size of their array once.

by Dave Lewis (lewis@mail.msen.com) at December 11, 2016 01:21 AM

Collections.V3-dtl.727

Name: Collections-ul.727
Author: ul
Time: 6 December 2016, 7:01:42.838977 pm
UUID: 08250fa9-de61-4316-a96e-c2e4d3e53d1a
Ancestors: Collections-topa.726

- micro-optimized OrderedCollection's #first, #last, #removeFirst and #removeLast

by Dave Lewis (lewis@mail.msen.com) at December 11, 2016 01:16 AM

Collections.V3-dtl.726

Name: Collections-topa.726
Author: topa
Time: 6 December 2016, 2:31:08.021296 pm
UUID: 8409fe6a-d5ea-4d4e-ac78-243182dd1fd7
Ancestors: Collections-topa.725

Adopt improved (ie, actually working) Linked List from our relatives.

by Dave Lewis (lewis@mail.msen.com) at December 11, 2016 01:14 AM

Collections.V3-dtl.725

Name: Collections-topa.725
Author: topa
Time: 5 December 2016, 8:58:22.49114 pm
UUID: d521fd18-86b5-42ce-8c74-475031b54934
Ancestors: Collections-eem.724

Fix a few comments

by Dave Lewis (lewis@mail.msen.com) at December 11, 2016 12:55 AM

Collections.V3-dtl.724

Name: Collections-eem.724
Author: eem
Time: 3 December 2016, 9:30:36.13835 am
UUID: 83cb6b85-2b47-4c92-a953-e3787a19d53b
Ancestors: Collections-eem.723

The various scanFor: and scanForEmptySlotFor: implementations only need to access the size of their array once.

Fix protocol for an #=

by Dave Lewis (lewis@mail.msen.com) at December 11, 2016 12:54 AM

December 09, 2016

squeaksource.com

Chronology-Core-dtl.26

Fix readDataFrom:size: and implement storeDataOn:

Strategy - Always store instances of DateAndTime as if they were the old format with seconds, offset, jdn, nanos. This ensures that serialized instances such as those in the snapshot.bin of a Monticello archive can be read by any image.

by Dave Lewis (lewis@mail.msen.com) at December 09, 2016 12:23 AM

December 03, 2016

squeaksource.com

Chronology-Core-dtl.25

Fix DateAndTime class>>epoch and remove the #FIXME flag.

The Smalltalk epoch is assumed to be 1 January 1901, Greenwich Mean Time. The number of elapsed seconds from the Smalltalk epoch to the Posix epoch is assumed to be a constant

References: Eliot Miranda confirms that Smalltalk epoch was intended to be defined UTC, not relative to local time zone. Ian Piumarta documented the assumed offset in platforms/unix/vm/sqUnixMain.c:

/* Squeak epoch is Jan 1, 1901. Unix epoch is Jan 1, 1970: 17 leap years and 52 non-leap years later than Squeak. */ return unixTime + ((52*365UL + 17*366UL) * 24*60*60UL);

by Dave Lewis (lewis@mail.msen.com) at December 03, 2016 10:31 PM

December 02, 2016

squeaksource.com

Chronology-Core-dtl.24

Handle DataStream deserialization of old format DateAndTime by converting to the new format. This is required for reading instances that have been saved in the snapshot.bin of a Monticello MCZ archive. If deserializing the snapshot.bin works at all, then it must also handle the special case of DataAndTime instances that were serialized with the old DateAndTime instance format.

by Dave Lewis (lewis@mail.msen.com) at December 02, 2016 02:20 AM

November 28, 2016

squeaksource.com

ConfigurationOfZincHTTPComponents-SvenVanCaekenberghe.98

stable v 2.8.0 (pharo 6 support)

November 28, 2016 08:53 AM

November 27, 2016

squeaksource.com

VL-Modelling-VladimirLutsenko.5

empty log message

by Vladimir Lutsenko (veluts@mail.ru) at November 27, 2016 06:30 PM

SqueakRosCore-edc.13

empty log message

November 27, 2016 09:33 AM

November 23, 2016

squeaksource.com

HV-Divagaciones-edc.8

Primer intento de agregar recursos

November 23, 2016 10:56 AM

Chronology-Core-dtl.23

Add Edgar's DateAndTime class>>fromUnixTime:

From: Edgar De Cleene <edgardec2005@gmail.com>
Date: Fri, 18 Nov 2016 10:16:07 -0300
To: The general-purpose Squeak developers list <squeak-dev@lists.squeakfoundation.org>
Subject: [squeak-dev] UnixTime

Fellows:
I found useful add UnixTime at the beginning of file names for you have
nnnFoo.etc what is compatible with different OS and you easily see ordered .

But I my image I do not have how convert this value to DateAndTime again.
So i attach this just in case some could use it.

[-- Attachment #2: DateAndTime class-fromUnixTime.st --]

by Dave Lewis (lewis@mail.msen.com) at November 23, 2016 01:45 AM

Chronology-Core-dtl.22

Make #asSeconds be consistent with #fromSeconds:

Squeak traditionally used seconds since the Smalltalk epoch in local time, which is undefinable. The error was probably caused by some early VM design choices that have since been corrected. Assume now that the Smalltalk epoch is defined relative to GMT, and that it may be treated similarly to the Posix epoch except for a constant offset value.

This implementation differs from earlier Squeak in that it uses seconds relative to the Smalltalk epoch (not local time), and represents seconds as an arbitrary precision number rather than an integer.

by Dave Lewis (lewis@mail.msen.com) at November 23, 2016 01:27 AM

November 22, 2016

squeaksource.com

HV-Divagaciones-edc.7

Several fixes for synch with wiki and more

November 22, 2016 06:20 AM