|
Initial pull request to include VMMaker source in opensmalltalk-vm repo.
Things that still need to be done before we can move to this version:
- provide access to the Smalltalk part of the repo (Tonel format) from Squeak.
- plugin source still needs to be included.
You can view, comment on, or merge this pull request online at:
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305
Commit Summary
- Bit 17 of the image format number may be used as a test for 64-bit-ness for both Spur and V3. Add testBit17AsTestFor64BitImages to document this.
- Plugin Slang
- Fix Spur instantiateClass:indexableSize: for non-indexaqble objects. Old code would allocate if num indexable slots was 0, but would zero-fill. New code has the fixed old code ifdef'ed out and always fails. We can make the old code work for Squeak if required, but since no one's noticed DirectoryEntry crashing the system this shouldn't be an issue. If peopel feel strongly about the ugly old code simply delete it.
- Modify the profiling primitive cogCodeConstituents: to be able to differentiate the closedPICs from the openPICs in the profiling report
- * take into account the modified primitive collectCogCodeConstituents to display the differenciation open/closedPICs
- LargeIntegers plugin
- Fix simulation of Pharo primitiveDirectoryLookup above Squeak.
- Spur:
- Oops! Writing the function does nothing unless it is called. So once again, if ioScreenSize answers a zero screen extent (as is the case for headless images) then on snapshot write the sawvedWindowSize rather thna the zero extent. This should fix the experience people have with Pharo of saving headless images that then come up with a zero sized window when started headful.
- * UI for Pharo
- Spur:
- Slang:
- First pass at removing obsolete window color setting and move to the new theme framework.
- Normally this commit has no impact on the production VM (some refactorings were made to share code between different part of the GC, but no new things). I tried to simulate the whole VM and generate a VM and it works, but only Travis can confirm us everything's ok.
- SpurSweeper is working in the simulator, effectively changing Spur's fullGC to a mark-sweep algorithm when enabled.
- Since this commit SpurSweeper seems to be production-ready. I compiled a VM with SpurSweeper and it worked just fine, handling many GCs.
- Fixed bug with large struct in FFI with SysV .
- Sort the format numbers for more convenient display
- Added primitiveStringReplace in the JIT with Spur (was showing to Sophie how to write code in the JIT, so we did that together). We implemented only the quick paths for byte objects and array-like objects.
- Fix the growth of the remembered table during GC when there is not enough memory in old space. Allocates an extra memory segment in that case. This is very uncommon.
- Fix typo, the hypothetical 68003 is a known version number, 68004 is not.
- Provide a logging facility that uses the Printf package. See VMClass>>log:with:* for API. See Slang changes below for support.
- Simplify flushLog in the logging framework by providing fflush on WriteStream.
- Oops. Revert an inadvertent change to flushLog.
- Spur:
- VMMaker: Fix bad misinitialization bug where running VMMaker generation routines in 64-bits would cause 64-but sources to be generated. This caused the recent misgeneration of src/vm/cogit.c.
- Fix type inference of variable unskew in BitBlt >> copyLoop
- fix primStringReplace in the JIT.
- Fix incorrect size of replArray in genPrimitiveStringReplace
- BitBltSimulation>>copyLoop:
- BitBltSimulation>>copyLoop: No changes other than reformatting indentation for readability.
- Simulation on 64-bit Squeak.
- Spur:
- Refactor reaping the primFailCode on method activation to pull it out of the common path and hence lay the ground for a platform error object since all failures now call a single reapAndResetErrorCodeTo:header:
- Add support for conveying os/library error codes through a special primitive failure code object. The error code is a signed 64-bit value (so that e.g. answering -1 is not expensive). Specific image-level clients can map that value to unsigned as appropriate.
- Slang:
- CoInterpreter:
- Interpreter: Eliminate some uses of #== to compare integral values.
- Fix vorgotten variables in the unused variable elimination scheme for inlined value:[value:*] and to:by:do:
- Spur Image Segments:
- Spur Image Segments: The short cut in ensureNoNewObjectsIn: was wrong. Best not take any short cuts here at all.
- Fix bugs in DoubleWordArray>>[unsigned]long64At:
- Cogit: Extend Spur 64-bit primitiveAt with full support for 64-bit longs.
- Cogit: More work to full 64-bit access in at:[put:] primitives. Fix slip in x64 setsConditionCodesFor:.
- Get the StackInterpreterSimulator to a state where it can correctly simulate the DoubleByteArray, WordArray, DoubleWordArray and MemoryTests. Principally allow the SqueakFFIPrims plugin (ThreadedFFIPlugin) to load and make primitiveFFIIntegerAt[Put] function correctly in simulation. Change the two primitives to use unalignedShortAt:[put:], unalignedLong32At:[put:] & unalignedLong64At:[put:] and implement these in SpurMemoryManager (ObjectMemory can wait) and have the preambleCCode map these to the original shortAt[put], long32At[put] & long32At[put] C functions/macros.
- Change the contract of ThreadedFFIPlugin>>ffiAddressOf:startingAt:size:, moving the primitive fails to the callers for equivalent but more compact code.
- Fix a slip in CogObjectRepresentationFor64BitSpur>>genPrimitiveAt's 64-bit indexable suypport. The range check must include the sign bit since 64-bit at: answers an unsigned value. The Cogit now correctly passes the DoubleByteArrayTests, WordArrayTests, DoubleWordArrayTests and MemoryTests in simulation and actuality.
- Fix a slip in the new ThreadedFFIPlugin preambleCCode (the atput's need an extra parameter).
- Simulation/Translation tweaks. Mark some simulation-only InterpreterPlugin methods as doNotGenerate. Slow down the simulated clock on the StackInterpreter (so that in simulation fewer tests time out). Provide an optional simulation-only primTraceLog for the StackInterpreter (which was used to debug the new 64-bit at:[put:] support).
- Add a check for the knownClassIndex actually binding to a class in the relevant eeInstantiate routines.
- Slang for Plugins
- Slang: Make sure that numeric constant methods inlined through the tryToInlineMethodExpressionsIn: path get commented with their selector.
- Refactor preDeclareInterpreterProxyOn: to extract collecting the InterpreterProxy interface to its own method to simplify consistency checking. To make the checking more correct use a concrete Sour class for the referenceObjectMemoryClass.
- Tweak the recent inlining commenting change; don't bother to comment if what's being inlined is a named constant.
- Simulation:
- Fix typo in function declaration in ImmX11Plugin, identified by Stuart Cassoff.
- Fix two places where cloning forgets to set the immutability bit if the input has it set (shallowCopy should /not/ copy across the immutability bit, but become: and pin: should).
- Save BytecodeeSets now that both Pharo and Squeak have the SistaV1 bytecode set in the base.
- Remove SistaV1 category (its now empty here). Better temp names in printing method. Fix typo.
- Cogit:
- Hack fix comment generation. The API for comments in TParseNode is broken because in some subclasses it is a sequence of Strings, and elsewhere is a single String.
- Double-back on the rash statement that there was a bad bug in ceSend:above:to:numArgs: which was written to accept an association, not a class. This was by design. generalize the JIT support for directed super sends so that it accepts both the
- Interpreter: Fix bad bug in reverseDisplayFrom:to: feedback from the leak checker. The displayBits are not uopdated soon enough after a compaction and objects may be overwritten. So refactor postGCAction: to extract postGCUpdateDisplayBits which is also used by reverseDisplayFrom:to: to obtain up-to-date bits.
- Simulation:
- Phhhhh....
- Simulation:
- Spur:
- Implement following of pushConstant: aBoolean; jumpTo: target; ...target: jump: target2 if: cond in genJumpTo:.
- RegisterAllocatingCogit:
- Add the processor aliens when compiled in 64-bits for running on 64-bit Squeak
- Add the missing control register accessiors for GdbARMAlien64 and delete subclass accessors that are the same as the superclass's.
- Based on discussions decreased from 7 to 5 the number of instructions on Intel in primStringReplace copying loops
- Fix store check call in genPrimitiveStringReplace on RISCs (i.e. on ARM save & restore LinkReg around call).
- StackToRegisterMappingCogit:
- StackToRegisterMappingCogit:
- StackToRegisterMappingCogit:
- StackToRegisterMappingCogit:
- RegisterAllocatingCogit:
- RegisterAllocatingCogit:
- RegisterAllocatingCogit:
- RegisterAllocatingCogit:
- RegisterAllocatingCogit:
- Expand the set of names defined at compile time (e.g. for the option: pragma). Perhaps we should invert this and define the closed set of names defined at translation time.
- RegisterAllocatingCogit:
- RegisterAllocatingCogit:
- Rewrite the primitives in MiscPrimitivePlugin using conventional Slang, avoiding the translatedPrimitives ineffiicencies and dependence on methods in the image. Volunteers are invited to do the same for the ADPCMCodecPlugin and SoundGenerationPlugin.
- Fix a slip in primitiveDecompressFromByteArray caught by IncludedMethodsTests. Thank you David!
- Immutability:
- Extend FilePlugin to allow a file to be opened using either the file descriptor (fd) or FILE* in Pharo.
- Include FilePlugin>>primitiveFileOpenUseFileDescriptor & primitiveFileOpenUseFile on all platforms (not just PharoVM).
- The config should always come first.
- Better comment Tobias' inclusion of config.h in all plugins. Also ensure (almost) no duplications can occur.
- Cogit:
- Cogit:
- FilePlugin connect to file primitives
- Review of Alistair's recent FilePlugin changes:
- This commit is partially merged, I can only merge from a more recent Squeak image to get the DoubleWordArray/DoubleByteArray things correct. Also there's a conflict in SistaV1 bytecode table in StackToRegMappingCogit I need to figure out. I'll finish merging afterwards.
- Merge back the DoubleWordArray code from a fresh image. Normally everything should be merged, up and running.
- Decreases by 1 the number of instructions for byte reads on constants.
- Fogrot to merge back Eliot's change in the bytecode table with mine
- Cogits:
- Cogits:
- Restored SerialPlugin's *byName* primitives on non-PharoVM VMs.
- FilePlugin status checks and type declaration
- Implement multiple bytecode set aware scanning machinery for NewsqueakV4.
- fixed byteAt constant
- Fix regression introduced in VMMaker.oscog-eem.2333 or thereabouts when improving comoilation breakpoint. maybeSelectorOfMethod can answer nil so a guard is needed.
- Fix several (ancient) issues with the MiscPrimitivePlugin primitives, identified by Levente.
- Oops! Fixed one I missed.
- Plugin:
- Spur:
- For Spur MT interpreters to be generated by generateAllConfigurationsUnderVersionControl they must be in generateAllSqueakConfigurationsUnderVersionControl.
- Fix regression in generateInterpreterProxyFunctionDereference:on:indent: introduced in VMMaker.oscog-eem.2361.
- Fix by K K Subbu: Use memcmp instead of strncmp in ckformat to compare byte arrays.
- Fix declaration of main() in ckformat.c
- Add a progress bar when generating multiple vm code with VMMaker.
- - Add new primitive: primitiveHostWindowIcon
- Fix ckformat for 64 bit Spur, which saves format number in first 4 bytes of the header, versus 8 bytes for 64 bit V3. Prior version worked by accident for little endian host using strncmp() check, but failed when correct memcmp() was used without limiting check to 4 bytes for spur and 8 for V3.
- merge VB 2364 and CyrilFerlicot 2364
- Correct a 32bit-hardcoded pointer size in FFI
- ** new primitive to compare strings (slang + JIT)
- Check collation order byte array size in new string compare primitive as per Levente's suggestion.
- add primitive primitiveStdioDescriptorIsATTY
- primitiveStdioDescriptorIsATTY will return a bool instead of an int
- Add arguments in primitiveIsFileDescriptorATTY
- Fixed a bug in inlined allocation (or so I think... Did not check the tests)
- Remove the APIs I added to iterate over free chunks (there was an existing API)
- Improved comments & rename variables for Slang to C compilation not to complain (Shadowing globals with inlining cross-classes is a little bit tricky, let's not take any risks)
- Made C compiler happy (addressOf:, macro & shadowing non-sense)..
- Finally figured out that Slang is not able to do look-ups in compactor classes for some reason, hence only planning compactor was the only one compiling correctly since it defined everything inside...
- Spur ancilliary classes includes now:
- Improved compactor comments.
- Started implementation of Tracking. Refactor a bit more to share code between selective and tracking.
- Fix compiler bug with Apple LLVM version 7.0.0 (clang-700.1.76) for 64-bit Spur segment loading where compiler bug eliminated second version check in segment load when at -Os. Fix is to never inline the 32-bit word byte reversal.
- Fix a bug in the refactored conditional define code; a slip caused premature evaluation of the block argument.
- change the primitive to return the file descriptor type instead of just 0 or 1
- Use methodReturn***: instead of pop: + push***: in FilePlugin
- Compactor clean-ups, we now only have:
- AnObsolete slipped in, ask it to leave.
- Trust config.h more. It declares when to include dlfcn and takes care of _GNU_SOURCE.
- General:
- - fixed a bug in primitiveStringHash
- Fixed a bug in frameless full blocks (fetching receiver from receiver index in FullBlock and not outerContext)
- Fixed consistency checks in VMClass to succeed if no compactorClass is present.
- Fixed a bug in Selective Compactor where remembered objects were incorrectly copied.
- Removed debugging code to make VM compilation work again.
- BitBltPlugin:
- SpurSelectiveCompactor:
- Fix regression in primitiveDisplayString (missed return on short-cut return for empty string).
- Fix some compiler warnings in the interpreter (including unused variables).
- Actually fix Slang not emitting variable declarations for 'extern ...' declarations.
- Have Slang serve is rather than we work-around Slang, in as much as Slang now outputs any ext5ern ... declaration, so we no longer need a fake temp var with associated crap to keep the compiler happy.
- FFIPlugin: Fix slip in the Win64 ffiCalloutTo:SpecOnStack:in:
- Fix Sista build which is failing due to the lack of an export of objectBytesForSlots:.
- Fix profile buffer for 64-bits (use DoubleWordAray). So for symmetry change to using WordArray in 32-bits instead of Bitmap.
- Collect the new format PIC data.
- Cogit: Answer better closed PIC data from primitiveCollectCogCodeConstituents. i.e. scan preceding methods for references to closed PICs and store temporarily the send site's first case cache tag (mapped to a class) in the PIC's methodObject field for later harvesting. Answder am array of PIC selector followed by class, target pairs, where target is either a method or #doesNotUnderstand:.
- Eliminate obsolete primitive
- BitBltPlugin: The new primitiveDisplayString short cut has exposed an old bug: both loadBitBltDestForm & loadBitBltSourceForm sent byteSizeOf: to the form bits before checking if form bits isWordsOrBytes:. Also simplify loadHalftoneForm which comntained a superfluous (interpreterProxy isPointers: halftoneForm) not.
- BitBltPlugin: Move the checks for the dest and source forms being sufficiently large pointer objects into their respective validation routines.
- Spur Compaction & Slang
- - changed the free list representation from linked list to double linked list to unlink efficiently the free chunk in compaction phases.
- Eliminate a deprecation warning on Squeak.
- Added bytesBigEnoughForPrevPointer: abstraction and patch all callers to use that.
- Fixing cases where double linked list prev pointer was not correctly updated.
- Initialization:
- Fix static selector mapping in SpurCompactor; it needs to handle inheritance (SpurSelectiveCompactor inherits from SpurSweeper).
- - Added assertions for free chunks like crazy.
- Improved assertion (we want to catch this case)
- - Fixed compilation errors and some warnings.
- Fixed a bug when new segment was allocated in C sometimes the swizzle field used by SelectiveCompactor got corrupted. Changed assertions here and there.
- Update some class comments.
- Having a VMMaker-specific decompiler test and decompiler test failure collecrtor helps checking for compiler issues (e.g. just discovered one of my images has a mis-compiled SpurCompactor hierarchy).
- More initializationOptions clean-ups.
- Reworked a bit inlining for profiling.
- An include got missing, put it back where it belongs
- Added stats for Marking time and sweep time in full GC. Make them available as vm parameters 72 and 73.
- Spur:
- Cogits.
- Cogits.
- RegisterAllocatingCogit.
- SistaRegisterAllocatingCogit.
- New things can be forwarders with selective compactor.
- 274: primitiveFileStdioHandles() fails to return nil if stdio file is not available
- Compatibility methods and classes for VMMaker when loaded into Pharo6. Right now gets around EndianDetector and the lack of MethodReference.
- 274: Update primitiveFileStdioHandles error handling.
- Work around some Squeak specificities.
- Oops; there were two...
- isCompiledBlock and bytesPerElement
- Support for embeddedBlockClosures and schematicTempNamesString because these are used currently to interface to the JIT's code decoration facilities.
- Slang:
- Stream compatibility methods for ThreadSafeTranscript which I shouldmn;'t have to implement (it's supposed to be a WriteStream).
- Add isNodeNil to RBProgramNode & subclass
- Core VM:
- Finish the VMMaker side of the failing of FFI callouts on exceptions.
- Fix a slip in primitiveFailForFFIException:at:. If it fails the primitive, short cutting the return side of an FFI call it is its responsibility to own the VM and clear inFFIFlags.
- Add the missing implementation in InterpreterProxy, and correct the comment of primitiveFailForFFIException:at:. Also activateFailingPrimitiveMethod is not an api method; primitiveFailForFFIException:at: is.
- Work around the hack use of (dis)ownVM: for storing the argumentCount of the current method on callback return in the non-threaded VM. The argument to disownVM: is either an immediate integer (callback) or flags which can't be immediate (FFI callout, plugin primitive callout). I regret this but it works, so keep it going for now.
- And bring the simulation only bridge methods up to date in NewObjectMemory, reducing duplication.
- StackInterpreter:
- General robustness, compatibility and cleanups.
- Slang: more Pharo/Squeak compatibiltiy refactoring.
- Add translation support to RBProgramNode such that simple methods such as primitiveMakePoint can be translated to C. Still work needed to run the workspace translation scripts, which translate everything to be able to run inlining before generating C for a single method.
- Add LongTestCase & access for the return of a quick method to RBMethodNode needed for cmacro: methods.
- Add translation support for brace constructs in case statements.
- More Pharo compatibility.
- Make sure is:KindOf: has a valid return type.
- Final piece of Pharo compatibility to allow e.g. the REPL startreader images to run in Pharo 6.1. Split the input dialog for FakeStdinStream so it works both on Pharo and Squeak.
- Oops; remember to use isFakeStdinStream, and avoid isKindOf: in a couple of other places.
- Eliminate cCode: usage in the B3DAcceleratorPlugin and HostWindowPlugin usign the new "var args" style. Rewrite mem:mo:ve: et al in the new style.
- More compatbility. InstructionPrinter et al are missing in Pharo6 and subsequent. RBProgramNode methods for Slang. GtTranscript compatibility.
- Change the objStack logic to mmap a new memory segment on overflow if not enough room on heap when allocating a new page.
- Split the VMParameter primitive in 3 methods in Slang. I did it because of jump false size overflow on V3PlusClosure BC set, but it also look nicer.
- Production VM:
- Introduced the concept of lilliputian free chunks, which are free chunks not big enough to use the double linked list design. They do not exist in 32 bits but only in 64bits.
- Change SelectiveCompactor to annotate segments during sweep phase with the last lilliputian chunk they hold. When compacting specific segments, this information is re-used to jump in the lilliputian single linked list to the free chunk right before hence elements can be cheaply removed from the linked list without iterating over it.
- Fix a bug in lilliputian management in selectivecompactor when adding a segment to compact into while there is none available.
- Spur: Tweak followClassTable toi not waste effort following hiddenRootsObj.
- General:
- Cog Spur:
- General:
- VMClass strlen, strncpy and getenv
- FakeStdinStream and FilePluginSimulator do double duty with the #atEnd flag to allow #sqFile:Read:Into:At: to break out of its loop. This is brittle as a additional calls to #atEnd breaks the simulation - which is what Pharo does.
- BitBltPlugin/BitBltSimulation
- InterpreterPrimitives
- VMClass>>strncpy:_:_: refactor
- Plugins:
- Plugins:
- JPEGReadWriter2Plugin:
- Oops! Fix the major regressions in the last but one commit.
- Cogit Slang Reflection:
- strncpy & primitiveFailForOSError
- VMMaker Unicode strings
- Plugins:
- Plugins:
- :blush:
- Plugins:
- Simulation:
- Simplify two uses of malloc: now that we use the right simulation form for VMClass>>malloc:.
- VM simulation fixes:
- VMClass>>memcpy:_:_: handle CugMethodSurrogates
- Add LocalePluginSimulator
- Slang:
- Plugins:
- Fix a couple of tests
- Plugins:
- Simulator:
- ThreadedFFIPlugin:
- merge vmmaker into opensmalltalk-vm
- move baseline
File Changes
Patch Links:
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/OpenSmalltalk/opensmalltalk-vm","title":"OpenSmalltalk/opensmalltalk-vm","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/OpenSmalltalk/opensmalltalk-vm"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"Pullrequest/vmmaker (#305)"}],"action":{"name":"View Pull Request","url":"https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305",
"url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Pullrequest/vmmaker (#305)",
"sections": [
{
"text": "",
"activityTitle": "**Eliot Miranda**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@eliotmiranda",
"facts": [
]
},
{
"title": "Commit Summary",
"facts": [
{
"name": "8e549d6",
"value": "Bit 17 of the image format number may be used as a test for 64-bit-ness for both Spur and V3. Add testBit17AsTestFor64BitImages to document this."
},
{
"name": "0f93da9",
"value": "Plugin Slang"
},
{
"name": "7a43b97",
"value": "Fix Spur instantiateClass:indexableSize: for non-indexaqble objects. Old code would allocate if num indexable slots was 0, but would zero-fill. New code has the fixed old code ifdef'ed out and always fails. We can make the old code work for Squeak if required, but since no one's noticed DirectoryEntry crashing the system this shouldn't be an issue. If peopel feel strongly about the ugly old code simply delete it."
},
{
"name": "73bfe2d",
"value": "Modify the profiling primitive cogCodeConstituents: to be able to differentiate the closedPICs from the openPICs in the profiling report"
},
{
"name": "901a37d",
"value": "* take into account the modified primitive collectCogCodeConstituents to display the differenciation open/closedPICs"
},
{
"name": "985cbb9",
"value": "LargeIntegers plugin"
},
{
"name": "6b0e7b8",
"value": "Fix simulation of Pharo primitiveDirectoryLookup above Squeak."
},
{
"name": "666daa9",
"value": "Spur:"
},
{
"name": "cdf1340",
"value": "Oops! Writing the function does nothing unless it is called. So once again, if ioScreenSize answers a zero screen extent (as is the case for headless images) then on snapshot write the sawvedWindowSize rather thna the zero extent. This should fix the experience people have with Pharo of saving headless images that then come up with a zero sized window when started headful."
},
{
"name": "faf9af4",
"value": "* UI for Pharo"
},
{
"name": "5a539d7",
"value": "Spur:"
},
{
"name": "2f80439",
"value": "Slang:"
},
{
"name": "e37ff77",
"value": "First pass at removing obsolete window color setting and move to the new theme framework."
},
{
"name": "e4151aa",
"value": "Normally this commit has no impact on the production VM (some refactorings were made to share code between different part of the GC, but no new things). I tried to simulate the whole VM and generate a VM and it works, but only Travis can confirm us everything's ok."
},
{
"name": "f5a3f46",
"value": "SpurSweeper is working in the simulator, effectively changing Spur's fullGC to a mark-sweep algorithm when enabled."
},
{
"name": "948e780",
"value": "Since this commit SpurSweeper seems to be production-ready. I compiled a VM with SpurSweeper and it worked just fine, handling many GCs."
},
{
"name": "fa4ee09",
"value": "Fixed bug with large struct in FFI with SysV ."
},
{
"name": "a89f783",
"value": "Sort the format numbers for more convenient display"
},
{
"name": "a5cf8a0",
"value": "Added primitiveStringReplace in the JIT with Spur (was showing to Sophie how to write code in the JIT, so we did that together). We implemented only the quick paths for byte objects and array-like objects."
},
{
"name": "229b0d1",
"value": "Fix the growth of the remembered table during GC when there is not enough memory in old space. Allocates an extra memory segment in that case. This is very uncommon."
},
{
"name": "8a238cf",
"value": "Fix typo, the hypothetical 68003 is a known version number, 68004 is not."
},
{
"name": "11505c1",
"value": "Provide a logging facility that uses the Printf package. See VMClass\u003e\u003elog:with:* for API. See Slang changes below for support."
},
{
"name": "392de3b",
"value": "Simplify flushLog in the logging framework by providing fflush on WriteStream."
},
{
"name": "542a815",
"value": "Oops. Revert an inadvertent change to flushLog."
},
{
"name": "11c6e13",
"value": "Spur:"
},
{
"name": "1c295d4",
"value": "VMMaker: Fix bad misinitialization bug where running VMMaker generation routines in 64-bits would cause 64-but sources to be generated. This caused the recent misgeneration of src/vm/cogit.c."
},
{
"name": "bd09a08",
"value": "Fix type inference of variable unskew in BitBlt \u003e\u003e copyLoop"
},
{
"name": "74251d4",
"value": "fix primStringReplace in the JIT."
},
{
"name": "faaadb0",
"value": "Fix incorrect size of replArray in genPrimitiveStringReplace"
},
{
"name": "e8647c0",
"value": "BitBltSimulation\u003e\u003ecopyLoop:"
},
{
"name": "2f2390a",
"value": "BitBltSimulation\u003e\u003ecopyLoop: No changes other than reformatting indentation for readability."
},
{
"name": "f670cf3",
"value": "Simulation on 64-bit Squeak."
},
{
"name": "20f976a",
"value": "Spur:"
},
{
"name": "7f7b151",
"value": "Refactor reaping the primFailCode on method activation to pull it out of the common path and hence lay the ground for a platform error object since all failures now call a single reapAndResetErrorCodeTo:header:"
},
{
"name": "ad1314f",
"value": "Add support for conveying os/library error codes through a special primitive failure code object. The error code is a signed 64-bit value (so that e.g. answering -1 is not expensive). Specific image-level clients can map that value to unsigned as appropriate."
},
{
"name": "f52af71",
"value": "Slang:"
},
{
"name": "198a7f7",
"value": "CoInterpreter:"
},
{
"name": "233d83f",
"value": "Interpreter: Eliminate some uses of #== to compare integral values."
},
{
"name": "5e498b0",
"value": "Fix vorgotten variables in the unused variable elimination scheme for inlined value:[value:*] and to:by:do:"
},
{
"name": "4711bb0",
"value": "Spur Image Segments:"
},
{
"name": "676e1b1",
"value": "Spur Image Segments: The short cut in ensureNoNewObjectsIn: was wrong. Best not take any short cuts here at all."
},
{
"name": "feaa1c7",
"value": "Fix bugs in DoubleWordArray\u003e\u003e[unsigned]long64At:"
},
{
"name": "0c1a53a",
"value": "Cogit: Extend Spur 64-bit primitiveAt with full support for 64-bit longs."
},
{
"name": "002b20c",
"value": "Cogit: More work to full 64-bit access in at:[put:] primitives. Fix slip in x64 setsConditionCodesFor:."
},
{
"name": "6e568bd",
"value": "Get the StackInterpreterSimulator to a state where it can correctly simulate the DoubleByteArray, WordArray, DoubleWordArray and MemoryTests. Principally allow the SqueakFFIPrims plugin (ThreadedFFIPlugin) to load and make primitiveFFIIntegerAt[Put] function correctly in simulation. Change the two primitives to use unalignedShortAt:[put:], unalignedLong32At:[put:] \u0026 unalignedLong64At:[put:] and implement these in SpurMemoryManager (ObjectMemory can wait) and have the preambleCCode map these to the original shortAt[put], long32At[put] \u0026 long32At[put] C functions/macros."
},
{
"name": "b70b4d4",
"value": "Change the contract of ThreadedFFIPlugin\u003e\u003effiAddressOf:startingAt:size:, moving the primitive fails to the callers for equivalent but more compact code."
},
{
"name": "bddeb11",
"value": "Fix a slip in CogObjectRepresentationFor64BitSpur\u003e\u003egenPrimitiveAt's 64-bit indexable suypport. The range check must include the sign bit since 64-bit at: answers an unsigned value. The Cogit now correctly passes the DoubleByteArrayTests, WordArrayTests, DoubleWordArrayTests and MemoryTests in simulation and actuality."
},
{
"name": "2ca0def",
"value": "Fix a slip in the new ThreadedFFIPlugin preambleCCode (the atput's need an extra parameter)."
},
{
"name": "50bfe93",
"value": "Simulation/Translation tweaks. Mark some simulation-only InterpreterPlugin methods as doNotGenerate. Slow down the simulated clock on the StackInterpreter (so that in simulation fewer tests time out). Provide an optional simulation-only primTraceLog for the StackInterpreter (which was used to debug the new 64-bit at:[put:] support)."
},
{
"name": "5308904",
"value": "Add a check for the knownClassIndex actually binding to a class in the relevant eeInstantiate routines."
},
{
"name": "76492c9",
"value": "Slang for Plugins"
},
{
"name": "0d03408",
"value": "Slang: Make sure that numeric constant methods inlined through the tryToInlineMethodExpressionsIn: path get commented with their selector."
},
{
"name": "a3cfdad",
"value": "Refactor preDeclareInterpreterProxyOn: to extract collecting the InterpreterProxy interface to its own method to simplify consistency checking. To make the checking more correct use a concrete Sour class for the referenceObjectMemoryClass."
},
{
"name": "3f7fedd",
"value": "Tweak the recent inlining commenting change; don't bother to comment if what's being inlined is a named constant."
},
{
"name": "670d912",
"value": "Simulation:"
},
{
"name": "1755c38",
"value": "Fix typo in function declaration in ImmX11Plugin, identified by Stuart Cassoff."
},
{
"name": "906f2c6",
"value": "Fix two places where cloning forgets to set the immutability bit if the input has it set (shallowCopy should /not/ copy across the immutability bit, but become: and pin: should)."
},
{
"name": "6de2588",
"value": "Save BytecodeeSets now that both Pharo and Squeak have the SistaV1 bytecode set in the base."
},
{
"name": "77cef02",
"value": "Remove SistaV1 category (its now empty here). Better temp names in printing method. Fix typo."
},
{
"name": "364d4b7",
"value": "Cogit:"
},
{
"name": "a66a9fc",
"value": "Hack fix comment generation. The API for comments in TParseNode is broken because in some subclasses it is a sequence of Strings, and elsewhere is a single String."
},
{
"name": "10808e1",
"value": "Double-back on the rash statement that there was a bad bug in ceSend:above:to:numArgs: which was written to accept an association, not a class. This was by design. generalize the JIT support for directed super sends so that it accepts both the"
},
{
"name": "84b1431",
"value": "Interpreter: Fix bad bug in reverseDisplayFrom:to: feedback from the leak checker. The displayBits are not uopdated soon enough after a compaction and objects may be overwritten. So refactor postGCAction: to extract postGCUpdateDisplayBits which is also used by reverseDisplayFrom:to: to obtain up-to-date bits."
},
{
"name": "7536c98",
"value": "Simulation:"
},
{
"name": "e6df200",
"value": "Phhhhh...."
},
{
"name": "5ae598b",
"value": "Simulation:"
},
{
"name": "aae35e3",
"value": "Spur:"
},
{
"name": "cae7309",
"value": "Implement following of pushConstant: aBoolean; jumpTo: target; ...target: jump: target2 if: cond in genJumpTo:."
},
{
"name": "e663000",
"value": "RegisterAllocatingCogit:"
},
{
"name": "2fc42a5",
"value": "Add the processor aliens when compiled in 64-bits for running on 64-bit Squeak"
},
{
"name": "dc2a527",
"value": "Add the missing control register accessiors for GdbARMAlien64 and delete subclass accessors that are the same as the superclass's."
},
{
"name": "1b48ed1",
"value": "Based on discussions decreased from 7 to 5 the number of instructions on Intel in primStringReplace copying loops"
},
{
"name": "d2bcabe",
"value": "Fix store check call in genPrimitiveStringReplace on RISCs (i.e. on ARM save \u0026 restore LinkReg around call)."
},
{
"name": "5ccc583",
"value": "StackToRegisterMappingCogit:"
},
{
"name": "7e0f342",
"value": "StackToRegisterMappingCogit:"
},
{
"name": "dae59a1",
"value": "StackToRegisterMappingCogit:"
},
{
"name": "dbd3428",
"value": "StackToRegisterMappingCogit:"
},
{
"name": "0aed465",
"value": "RegisterAllocatingCogit:"
},
{
"name": "4658e0a",
"value": "RegisterAllocatingCogit:"
},
{
"name": "0ba6a23",
"value": "RegisterAllocatingCogit:"
},
{
"name": "cd19a60",
"value": "RegisterAllocatingCogit:"
},
{
"name": "21937a2",
"value": "RegisterAllocatingCogit:"
},
{
"name": "8a80728",
"value": "Expand the set of names defined at compile time (e.g. for the option: pragma). Perhaps we should invert this and define the closed set of names defined at translation time."
},
{
"name": "9b91bb3",
"value": "RegisterAllocatingCogit:"
},
{
"name": "4694517",
"value": "RegisterAllocatingCogit:"
},
{
"name": "5d891d7",
"value": "Rewrite the primitives in MiscPrimitivePlugin using conventional Slang, avoiding the translatedPrimitives ineffiicencies and dependence on methods in the image. Volunteers are invited to do the same for the ADPCMCodecPlugin and SoundGenerationPlugin."
},
{
"name": "3094cc9",
"value": "Fix a slip in primitiveDecompressFromByteArray caught by IncludedMethodsTests. Thank you David!"
},
{
"name": "08ac1cb",
"value": "Immutability:"
},
{
"name": "7f2d943",
"value": "Extend FilePlugin to allow a file to be opened using either the file descriptor (fd) or FILE* in Pharo."
},
{
"name": "33baedc",
"value": "Include FilePlugin\u003e\u003eprimitiveFileOpenUseFileDescriptor \u0026 primitiveFileOpenUseFile on all platforms (not just PharoVM)."
},
{
"name": "8508dec",
"value": "The config should always come first."
},
{
"name": "a170f3d",
"value": "Better comment Tobias' inclusion of config.h in all plugins. Also ensure (almost) no duplications can occur."
},
{
"name": "a599637",
"value": "Cogit:"
},
{
"name": "9eb9b85",
"value": "Cogit:"
},
{
"name": "9e02cdd",
"value": "FilePlugin connect to file primitives"
},
{
"name": "cb1ab6b",
"value": "Review of Alistair's recent FilePlugin changes:"
},
{
"name": "e4ec191",
"value": "This commit is partially merged, I can only merge from a more recent Squeak image to get the DoubleWordArray/DoubleByteArray things correct. Also there's a conflict in SistaV1 bytecode table in StackToRegMappingCogit I need to figure out. I'll finish merging afterwards."
},
{
"name": "af37c2b",
"value": "Merge back the DoubleWordArray code from a fresh image. Normally everything should be merged, up and running."
},
{
"name": "d3df2ef",
"value": "Decreases by 1 the number of instructions for byte reads on constants."
},
{
"name": "6a030ab",
"value": "Fogrot to merge back Eliot's change in the bytecode table with mine"
},
{
"name": "079d6e4",
"value": "Cogits:"
},
{
"name": "78f7967",
"value": "Cogits:"
},
{
"name": "2d258fd",
"value": "Restored SerialPlugin's *byName* primitives on non-PharoVM VMs."
},
{
"name": "65e4d90",
"value": "FilePlugin status checks and type declaration"
},
{
"name": "4f92b94",
"value": "Implement multiple bytecode set aware scanning machinery for NewsqueakV4."
},
{
"name": "31b3bcd",
"value": "fixed byteAt constant"
},
{
"name": "53f5ead",
"value": "Fix regression introduced in VMMaker.oscog-eem.2333 or thereabouts when improving comoilation breakpoint. maybeSelectorOfMethod can answer nil so a guard is needed."
},
{
"name": "ffcf292",
"value": "Fix several (ancient) issues with the MiscPrimitivePlugin primitives, identified by Levente."
},
{
"name": "6c3f4e9",
"value": "Oops! Fixed one I missed."
},
{
"name": "d12b478",
"value": "Plugin:"
},
{
"name": "3b6e6a0",
"value": "Spur:"
},
{
"name": "5de1612",
"value": "For Spur MT interpreters to be generated by generateAllConfigurationsUnderVersionControl they must be in generateAllSqueakConfigurationsUnderVersionControl."
},
{
"name": "639402b",
"value": "Fix regression in generateInterpreterProxyFunctionDereference:on:indent: introduced in VMMaker.oscog-eem.2361."
},
{
"name": "10c12de",
"value": "Fix by K K Subbu: Use memcmp instead of strncmp in ckformat to compare byte arrays."
},
{
"name": "9e7377a",
"value": "Fix declaration of main() in ckformat.c"
},
{
"name": "fff7226",
"value": "Add a progress bar when generating multiple vm code with VMMaker."
},
{
"name": "6561ead",
"value": "- Add new primitive: primitiveHostWindowIcon "
},
{
"name": "f982c47",
"value": "Fix ckformat for 64 bit Spur, which saves format number in first 4 bytes of the header, versus 8 bytes for 64 bit V3. Prior version worked by accident for little endian host using strncmp() check, but failed when correct memcmp() was used without limiting check to 4 bytes for spur and 8 for V3."
},
{
"name": "958b7de",
"value": "merge VB 2364 and CyrilFerlicot 2364"
},
{
"name": "0d62e54",
"value": "Correct a 32bit-hardcoded pointer size in FFI"
},
{
"name": "25e5c65",
"value": "** new primitive to compare strings (slang + JIT)"
},
{
"name": "e033f00",
"value": "Check collation order byte array size in new string compare primitive as per Levente's suggestion."
},
{
"name": "17e3a8e",
"value": "add primitive primitiveStdioDescriptorIsATTY"
},
{
"name": "883dbc3",
"value": "primitiveStdioDescriptorIsATTY will return a bool instead of an int"
},
{
"name": "27073d7",
"value": "Add arguments in primitiveIsFileDescriptorATTY"
},
{
"name": "1291b25",
"value": "Fixed a bug in inlined allocation (or so I think... Did not check the tests)"
},
{
"name": "e4928ca",
"value": "Remove the APIs I added to iterate over free chunks (there was an existing API)"
},
{
"name": "a6bc17e",
"value": "Improved comments \u0026 rename variables for Slang to C compilation not to complain (Shadowing globals with inlining cross-classes is a little bit tricky, let's not take any risks)"
},
{
"name": "9781288",
"value": "Made C compiler happy (addressOf:, macro \u0026 shadowing non-sense).."
},
{
"name": "9365ec4",
"value": "Finally figured out that Slang is not able to do look-ups in compactor classes for some reason, hence only planning compactor was the only one compiling correctly since it defined everything inside..."
},
{
"name": "a1bdf83",
"value": "Spur ancilliary classes includes now: "
},
{
"name": "b76006d",
"value": "Improved compactor comments."
},
{
"name": "bfdacbd",
"value": "Started implementation of Tracking. Refactor a bit more to share code between selective and tracking."
},
{
"name": "9312219",
"value": "Fix compiler bug with Apple LLVM version 7.0.0 (clang-700.1.76) for 64-bit Spur segment loading where compiler bug eliminated second version check in segment load when at -Os. Fix is to never inline the 32-bit word byte reversal."
},
{
"name": "c903b60",
"value": "Fix a bug in the refactored conditional define code; a slip caused premature evaluation of the block argument."
},
{
"name": "2991b7d",
"value": "change the primitive to return the file descriptor type instead of just 0 or 1"
},
{
"name": "8152739",
"value": "Use methodReturn***: instead of pop: + push***: in FilePlugin"
},
{
"name": "be39291",
"value": "Compactor clean-ups, we now only have:"
},
{
"name": "0386652",
"value": "AnObsolete slipped in, ask it to leave."
},
{
"name": "edf68f6",
"value": "Trust config.h more. It declares when to include dlfcn and takes care of _GNU_SOURCE."
},
{
"name": "ce3f6ae",
"value": "General:"
},
{
"name": "2546f95",
"value": "- fixed a bug in primitiveStringHash"
},
{
"name": "283de44",
"value": "Fixed a bug in frameless full blocks (fetching receiver from receiver index in FullBlock and not outerContext)"
},
{
"name": "7a54d6e",
"value": "Fixed consistency checks in VMClass to succeed if no compactorClass is present."
},
{
"name": "95087a6",
"value": "Fixed a bug in Selective Compactor where remembered objects were incorrectly copied."
},
{
"name": "fbf1474",
"value": "Removed debugging code to make VM compilation work again."
},
{
"name": "0f09ad9",
"value": "BitBltPlugin:"
},
{
"name": "b6e22d4",
"value": "SpurSelectiveCompactor:"
},
{
"name": "eb66a21",
"value": "Fix regression in primitiveDisplayString (missed return on short-cut return for empty string)."
},
{
"name": "c60f8e3",
"value": "Fix some compiler warnings in the interpreter (including unused variables)."
},
{
"name": "36e80d6",
"value": "Actually fix Slang not emitting variable declarations for 'extern ...' declarations."
},
{
"name": "f310be4",
"value": "Have Slang serve is rather than we work-around Slang, in as much as Slang now outputs any ext5ern ... declaration, so we no longer need a fake temp var with associated crap to keep the compiler happy."
},
{
"name": "54e5ad1",
"value": "FFIPlugin: Fix slip in the Win64 ffiCalloutTo:SpecOnStack:in:"
},
{
"name": "c2a4bec",
"value": "Fix Sista build which is failing due to the lack of an export of objectBytesForSlots:."
},
{
"name": "dc316f3",
"value": "Fix profile buffer for 64-bits (use DoubleWordAray). So for symmetry change to using WordArray in 32-bits instead of Bitmap."
},
{
"name": "c6208ee",
"value": "Collect the new format PIC data."
},
{
"name": "4145c7c",
"value": "Cogit: Answer better closed PIC data from primitiveCollectCogCodeConstituents. i.e. scan preceding methods for references to closed PICs and store temporarily the send site's first case cache tag (mapped to a class) in the PIC's methodObject field for later harvesting. Answder am array of PIC selector followed by class, target pairs, where target is either a method or #doesNotUnderstand:."
},
{
"name": "dd92ccf",
"value": "Eliminate obsolete primitive"
},
{
"name": "b09e86e",
"value": "BitBltPlugin: The new primitiveDisplayString short cut has exposed an old bug: both loadBitBltDestForm \u0026 loadBitBltSourceForm sent byteSizeOf: to the form bits before checking if form bits isWordsOrBytes:. Also simplify loadHalftoneForm which comntained a superfluous (interpreterProxy isPointers: halftoneForm) not."
},
{
"name": "1abf264",
"value": "BitBltPlugin: Move the checks for the dest and source forms being sufficiently large pointer objects into their respective validation routines."
},
{
"name": "52d2029",
"value": "Spur Compaction \u0026 Slang"
},
{
"name": "164a132",
"value": "- changed the free list representation from linked list to double linked list to unlink efficiently the free chunk in compaction phases."
},
{
"name": "9149831",
"value": "Eliminate a deprecation warning on Squeak."
},
{
"name": "a976a99",
"value": "Added bytesBigEnoughForPrevPointer: abstraction and patch all callers to use that."
},
{
"name": "f11f418",
"value": "Fixing cases where double linked list prev pointer was not correctly updated."
},
{
"name": "6bf74b8",
"value": "Initialization:"
},
{
"name": "33b1906",
"value": "Fix static selector mapping in SpurCompactor; it needs to handle inheritance (SpurSelectiveCompactor inherits from SpurSweeper)."
},
{
"name": "83ae5e7",
"value": "- Added assertions for free chunks like crazy."
},
{
"name": "90133d7",
"value": "Improved assertion (we want to catch this case)"
},
{
"name": "0f034e7",
"value": "- Fixed compilation errors and some warnings."
},
{
"name": "a86072f",
"value": "Fixed a bug when new segment was allocated in C sometimes the swizzle field used by SelectiveCompactor got corrupted. Changed assertions here and there."
},
{
"name": "cea4d61",
"value": "Update some class comments."
},
{
"name": "2570b04",
"value": "Having a VMMaker-specific decompiler test and decompiler test failure collecrtor helps checking for compiler issues (e.g. just discovered one of my images has a mis-compiled SpurCompactor hierarchy)."
},
{
"name": "fe899c4",
"value": "More initializationOptions clean-ups."
},
{
"name": "1a104bb",
"value": "Reworked a bit inlining for profiling."
},
{
"name": "bb8bd1e",
"value": "An include got missing, put it back where it belongs"
},
{
"name": "5449e9c",
"value": "Added stats for Marking time and sweep time in full GC. Make them available as vm parameters 72 and 73."
},
{
"name": "7258ba0",
"value": "Spur:"
},
{
"name": "85df5f6",
"value": "Cogits."
},
{
"name": "e004d5b",
"value": "Cogits."
},
{
"name": "42b3c64",
"value": "RegisterAllocatingCogit."
},
{
"name": "6559db4",
"value": "SistaRegisterAllocatingCogit."
},
{
"name": "3337b02",
"value": "New things can be forwarders with selective compactor."
},
{
"name": "0531195",
"value": "274: primitiveFileStdioHandles() fails to return nil if stdio file is not available"
},
{
"name": "d9533a1",
"value": "Compatibility methods and classes for VMMaker when loaded into Pharo6. Right now gets around EndianDetector and the lack of MethodReference. "
},
{
"name": "4e78905",
"value": "274: Update primitiveFileStdioHandles error handling."
},
{
"name": "226c3a6",
"value": "Work around some Squeak specificities."
},
{
"name": "e39c0af",
"value": "Oops; there were two..."
},
{
"name": "415589d",
"value": "isCompiledBlock and bytesPerElement"
},
{
"name": "5deff4a",
"value": "Support for embeddedBlockClosures and schematicTempNamesString because these are used currently to interface to the JIT's code decoration facilities."
},
{
"name": "831abe2",
"value": "Slang:"
},
{
"name": "6e5bb6e",
"value": "Stream compatibility methods for ThreadSafeTranscript which I shouldmn;'t have to implement (it's supposed to be a WriteStream)."
},
{
"name": "6ef02b5",
"value": "Add isNodeNil to RBProgramNode \u0026 subclass"
},
{
"name": "248506d",
"value": "Core VM:"
},
{
"name": "9114e69",
"value": "Finish the VMMaker side of the failing of FFI callouts on exceptions."
},
{
"name": "7185398",
"value": "Fix a slip in primitiveFailForFFIException:at:. If it fails the primitive, short cutting the return side of an FFI call it is its responsibility to own the VM and clear inFFIFlags."
},
{
"name": "7cb1aec",
"value": "Add the missing implementation in InterpreterProxy, and correct the comment of primitiveFailForFFIException:at:. Also activateFailingPrimitiveMethod is not an api method; primitiveFailForFFIException:at: is."
},
{
"name": "fd8e011",
"value": "Work around the hack use of (dis)ownVM: for storing the argumentCount of the current method on callback return in the non-threaded VM. The argument to disownVM: is either an immediate integer (callback) or flags which can't be immediate (FFI callout, plugin primitive callout). I regret this but it works, so keep it going for now."
},
{
"name": "8e763b1",
"value": "And bring the simulation only bridge methods up to date in NewObjectMemory, reducing duplication."
},
{
"name": "19f51e6",
"value": "StackInterpreter:"
},
{
"name": "606c493",
"value": "General robustness, compatibility and cleanups."
},
{
"name": "20fa4f4",
"value": "Slang: more Pharo/Squeak compatibiltiy refactoring."
},
{
"name": "a6e36c8",
"value": "Add translation support to RBProgramNode such that simple methods such as primitiveMakePoint can be translated to C. Still work needed to run the workspace translation scripts, which translate everything to be able to run inlining before generating C for a single method."
},
{
"name": "e3a47a8",
"value": "Add LongTestCase \u0026 access for the return of a quick method to RBMethodNode needed for cmacro: methods."
},
{
"name": "3669068",
"value": "Add translation support for brace constructs in case statements."
},
{
"name": "db0e5cc",
"value": "More Pharo compatibility."
},
{
"name": "36d08b2",
"value": "Make sure is:KindOf: has a valid return type."
},
{
"name": "0394130",
"value": "Final piece of Pharo compatibility to allow e.g. the REPL startreader images to run in Pharo 6.1. Split the input dialog for FakeStdinStream so it works both on Pharo and Squeak."
},
{
"name": "e2bca31",
"value": "Oops; remember to use isFakeStdinStream, and avoid isKindOf: in a couple of other places."
},
{
"name": "c067cdb",
"value": "Eliminate cCode: usage in the B3DAcceleratorPlugin and HostWindowPlugin usign the new \"var args\" style. Rewrite mem:mo:ve: et al in the new style."
},
{
"name": "83bbcc9",
"value": "More compatbility. InstructionPrinter et al are missing in Pharo6 and subsequent. RBProgramNode methods for Slang. GtTranscript compatibility."
},
{
"name": "77698ba",
"value": "Change the objStack logic to mmap a new memory segment on overflow if not enough room on heap when allocating a new page."
},
{
"name": "69056b4",
"value": "Split the VMParameter primitive in 3 methods in Slang. I did it because of jump false size overflow on V3PlusClosure BC set, but it also look nicer."
},
{
"name": "1caeb3c",
"value": "Production VM:"
},
{
"name": "3b5c699",
"value": "Introduced the concept of lilliputian free chunks, which are free chunks not big enough to use the double linked list design. They do not exist in 32 bits but only in 64bits. "
},
{
"name": "261c93e",
"value": "Change SelectiveCompactor to annotate segments during sweep phase with the last lilliputian chunk they hold. When compacting specific segments, this information is re-used to jump in the lilliputian single linked list to the free chunk right before hence elements can be cheaply removed from the linked list without iterating over it."
},
{
"name": "e7229fc",
"value": "Fix a bug in lilliputian management in selectivecompactor when adding a segment to compact into while there is none available."
},
{
"name": "58ffed3",
"value": "Spur: Tweak followClassTable toi not waste effort following hiddenRootsObj."
},
{
"name": "ff581b2",
"value": "General:"
},
{
"name": "02c7ef5",
"value": "Cog Spur:"
},
{
"name": "af77e58",
"value": "General:"
},
{
"name": "c5c0896",
"value": "VMClass strlen, strncpy and getenv"
},
{
"name": "e0a43ae",
"value": "FakeStdinStream and FilePluginSimulator do double duty with the #atEnd flag to allow #sqFile:Read:Into:At: to break out of its loop. This is brittle as a additional calls to #atEnd breaks the simulation - which is what Pharo does."
},
{
"name": "efed2c0",
"value": "BitBltPlugin/BitBltSimulation"
},
{
"name": "9740f12",
"value": "InterpreterPrimitives"
},
{
"name": "02b5eac",
"value": "VMClass\u003e\u003estrncpy:_:_: refactor"
},
{
"name": "9a3f88e",
"value": "Plugins:"
},
{
"name": "c517bb3",
"value": "Plugins:"
},
{
"name": "5cd5287",
"value": "JPEGReadWriter2Plugin:"
},
{
"name": "6d9db1d",
"value": "Oops! Fix the major regressions in the last but one commit."
},
{
"name": "6594eba",
"value": "Cogit Slang Reflection:"
},
{
"name": "789ffa6",
"value": "strncpy \u0026 primitiveFailForOSError"
},
{
"name": "a3682ba",
"value": "VMMaker Unicode strings"
},
{
"name": "4e3e79d",
"value": "Plugins:"
},
{
"name": "cf4f0f0",
"value": "Plugins:"
},
{
"name": "df72df9",
"value": ":blush:"
},
{
"name": "d8ea6f5",
"value": "Plugins:"
},
{
"name": "c7fffc3",
"value": "Simulation:"
},
{
"name": "9423c4f",
"value": "Simplify two uses of malloc: now that we use the right simulation form for VMClass\u003e\u003emalloc:."
},
{
"name": "410ffa5",
"value": "VM simulation fixes:"
},
{
"name": "4443805",
"value": "VMClass\u003e\u003ememcpy:_:_: handle CugMethodSurrogates"
},
{
"name": "d5c5bfd",
"value": "Add LocalePluginSimulator"
},
{
"name": "520d1aa",
"value": "Slang:"
},
{
"name": "59b006d",
"value": "Plugins:"
},
{
"name": "8cecfa8",
"value": "Fix a couple of tests"
},
{
"name": "8eecaef",
"value": "Plugins:"
},
{
"name": "04cc0af",
"value": "Simulator:"
},
{
"name": "ab7cbba",
"value": "ThreadedFFIPlugin:"
},
{
"name": "4683840",
"value": "merge vmmaker into opensmalltalk-vm"
},
{
"name": "173a17a",
"value": "move baseline"
}
]
},
{
"title": "File Changes",
"facts": [
{
"name": "Added",
"value": "[.project](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-0) (3 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Android-Base/Android.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-1) (144 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Android-Base/package.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-2) (1 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Balloon-Engine-Pools/BalloonEngineConstants.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-3) (558 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Balloon-Engine-Pools/package.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-4) (1 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/BytecodeSets/BytecodeEncoder.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-5) (61 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/BytecodeSets/ContextPart.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-6) (20 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/BytecodeSets/EncoderForNewsqueakV4.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-7) (1288 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/BytecodeSets/InstructionClient.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-8) (48 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/BytecodeSets/InstructionPrinter.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-9) (110 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/BytecodeSets/InstructionStream.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-10) (443 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/BytecodeSets/MethodContext.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-11) (9 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/BytecodeSets/package.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-12) (1 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMCairo.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-13) (133 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMCairoBundle.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-14) (29 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMFreetype2.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-15) (124 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMIOSFreetype2.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-16) (66 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMLibPng.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-17) (109 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMOSXFreetype2.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-18) (18 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMOpenSSL.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-19) (10 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMPixman.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-20) (108 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMPkgConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-21) (83 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMThirdpartyLibrary.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-22) (327 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMWin32Cairo.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-23) (53 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMWin32Freetype2.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-24) (94 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMWin32LibPng.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-25) (67 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMWin32OpenSSL.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-26) (113 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMWin32Pixman.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-27) (45 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMWin32PkgConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-28) (67 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMWin32ZLib.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-29) (96 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMakeAndroidGenerator.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-30) (151 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMakeAndroidPluginGenerator.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-31) (172 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMakeGenScripts.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-32) (191 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMakeGenerator.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-33) (252 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMakePluginGenerator.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-34) (215 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CMakeVMGenerator.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-35) (387 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CPlatformConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-36) (1033 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CocoaIOSConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-37) (1114 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogCocoaIOSConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-38) (66 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogFamilyCocoaIOSConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-39) (362 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogFamilyUnixConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-40) (405 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogFamilyWindowsConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-41) (401 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogFreeBSDConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-42) (314 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogMTBuilder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-43) (92 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogMTCocoaIOSConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-44) (43 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogMTFreeBSDConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-45) (65 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogMTMacOSConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-46) (68 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogMTUnixConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-47) (66 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogMTWindowsConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-48) (54 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogMacOSConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-49) (945 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogMacOSDebugConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-50) (18 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogOnDebian64Config.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-51) (31 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogUnixConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-52) (392 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogUnixDebugConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-53) (19 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogUnixNoGLConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-54) (201 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogWindowsConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-55) (237 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/CogWindowsDebugConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-56) (21 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/InterpreterPlugin.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-57) (22 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/MacOSConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-58) (415 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackCocoaIOSCLANGConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-59) (34 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackCocoaIOSConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-60) (65 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackCrossRaspbianConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-61) (431 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackCrossRaspbianFastBltConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-62) (239 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackEvtAndroidConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-63) (416 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackEvtUnixConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-64) (71 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackEvtUnixDebugConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-65) (12 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackFreeBSDConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-66) (31 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackIPhoneConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-67) (695 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackMacOSConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-68) (39 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackMacOSDebugConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-69) (18 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackRaspbianConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-70) (216 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackRaspbianFastBltConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-71) (35 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackSimulatorConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-72) (94 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackUnixConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-73) (40 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackUnixDebugConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-74) (19 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackUnixDebugFixedVerSIConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-75) (45 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/StackWindowsConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-76) (37 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMaker/package.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-77) (1 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeAddCompileOptions.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-78) (54 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeAddCustomCommandOutput.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-79) (233 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeAddDefinitions.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-80) (59 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeAddExecutableNameOptionSource.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-81) (137 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeAddLibrary.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-82) (95 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeAddSubDirectory.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-83) (76 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeAppendConfigHIn.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-84) (21 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeAppendConfigStatus.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-85) (23 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeCheckAlloca.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-86) (34 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeCheckFunctionAtExitOnExit.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-87) (30 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeCheckFunctionExists.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-88) (61 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeCheckIncludeFile.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-89) (78 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeCheckLibDL.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-90) (34 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeCheckLibraryExists.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-91) (108 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeCheckStructHasMember.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-92) (101 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeCheckTryCompileHaveLangInfoCodeset.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-93) (27 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeCheckTryRunDoubleWordAlignmentOrder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-94) (28 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeCheckTypeSize.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-95) (33 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeCheckVariableExists.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-96) (80 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeCommand.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-97) (33 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeCompilerIsGNUCC.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-98) (31 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeConfigDefine.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-99) (51 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeConfigUnDefine.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-100) (40 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeDebug.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-101) (38 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeDirDefs.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-102) (22 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeFindPackage.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-103) (44 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeFindPackageOpenGL.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-104) (36 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeGeneratorForSqueak.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-105) (252 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeHeader.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-106) (37 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeIOSInstallCode.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-107) (31 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeIfAddDefinitionsElseAddDefinitions.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-108) (51 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeIfDefinedConfigDefine.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-109) (37 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeIfNotFlagSetConfigDefine.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-110) (40 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeIfNotSetConfigDefine.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-111) (40 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeIfPluginDependencies.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-112) (50 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeInclude.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-113) (27 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeIncludeDirectories.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-114) (116 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeLinkDirectories.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-115) (50 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeListAppend.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-116) (117 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeMessage.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-117) (66 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeMinimumRequired.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-118) (57 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakePluginExternal.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-119) (59 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakePluginGeneratorForSqueak.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-120) (741 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakePluginInternal.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-121) (55 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakePluginVm.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-122) (102 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeProject.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-123) (34 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeSet.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-124) (39 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeSetConfigDefine.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-125) (34 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeSetProperty.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-126) (126 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeSetSourceFilesProperties.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-127) (84 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeSetTargetProperties.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-128) (151 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeSqConfigH.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-129) (116 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeTargetLinkLibraries.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-130) (105 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeTemplate.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-131) (56 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeTestBigEndian.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-132) (34 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMDisplayCustom.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-133) (14 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMDisplayFbdev.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-134) (14 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMDisplayNull.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-135) (14 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMDisplayQuartz.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-136) (14 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMDisplayX11.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-137) (14 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMGeneratorForSqueak.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-138) (239 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakBuildersHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-139) (254 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakBuildersTest.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-140) (80 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakCMakeTemplatesTest.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-141) (18 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakCommonConfigTest.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-142) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakConfigurationsHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-143) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakDesignPatternsHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-144) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakDeveloperHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-145) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakDistroGeneratorHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-146) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakGeneratorsHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-147) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-148) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakHistoryHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-149) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakHistoryIanPiumartaHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-150) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakHistoryIgorStasenkoHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-151) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakMacintoshConfigTest.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-152) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakOverviewHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-153) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakPluginGeneratorHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-154) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakRedirectMethodsTest.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-155) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakRedirectMethodsWithArgTest.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-156) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakStartHereHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-157) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakTemplatesHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-158) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakTutorialEndUserHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-159) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakTutorialNewBuilderHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-160) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakTutorialNewConfigurationHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-161) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakTutorialsHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-162) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakUnixConfigTest.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-163) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakVMGeneratorHelp.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-164) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakWindowsConfigTest.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-165) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMPlugin.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-166) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundALSA.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-167) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundCustom.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-168) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundMacOSX.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-169) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundNAS.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-170) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundNull.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-171) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundOSS.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-172) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundPulse.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-173) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundSun.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-174) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVMakerConfigurationInfo.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-175) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CMakeVersion.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-176) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/CPlatformConfigForSqueak.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-177) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/InterpreterPlugin.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-178) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/Linux32ARMv6Config.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-179) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/Linux32x86Config.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-180) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/Linux32x86SqueakCogV3Config.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-181) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/Linux64x64Config.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-182) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/Linux64x64SqueakCogSpurConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-183) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/Linux64x86w32BitConfigUsrLib.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-184) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/Linux64x86w32BitConfigUsrLib32.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-185) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/Linux64x86w32BitSqueakCogSpurConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-186) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/Linux64x86w32BitSqueakCogV3Config.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-187) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakBSD32x86Builder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-188) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakBSD32x86Config.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-189) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakCMakeSourceDistroBuilder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-190) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakCMakeVMMakerAbstractBuilder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-191) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakIA32BochsBuilder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-192) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakIA32BochsConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-193) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakIA32BochsLinuxConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-194) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakIA32BochsMacOSConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-195) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakIA32BochsMacOSXConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-196) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakIA32BochsWin32Config.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-197) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakIOSBuilder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-198) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakIOSConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-199) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakLinux32ARMv6Builder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-200) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakLinux32x86Builder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-201) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakLinux64x64Builder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-202) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakLinux64x86w32CompatBuilder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-203) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakMacOSPowerPCBuilder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-204) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakMacOSX32x86Builder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-205) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakMacOSX32x86Config.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-206) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakMacOSXPowerPCConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-207) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakMacintoshConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-208) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakSunOS32x86Builder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-209) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakSunOS32x86Config.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-210) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakUnixConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-211) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakWin32x86Builder.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-212) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakWin32x86Config.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-213) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/SqueakWindowsConfig.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-214) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CMakeVMMakerSqueak/package.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-215) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/BochsIA32Alien.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-216) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/BochsIA32Alien64.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-217) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/BochsIA32AlienTests.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-218) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/BochsIA32Plugin.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-219) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/BochsPlugin.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-220) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/BochsX64Alien.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-221) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/BochsX64Alien64.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-222) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/BochsX64Plugin.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-223) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/BytecodeEncoderPutschEditor.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-224) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/ClassHierarchyDuplicator.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-225) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/ClosureLabelsPrintEditor.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-226) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/CogProcessorAlien.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-227) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/CogScripts.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-228) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/CogVMTests.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-229) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/CommandLineLauncher.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-230) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/Context.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-231) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/CrashReportsMailer.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-232) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/ETC.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-233) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/GdbARMAlien.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-234) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/GdbARMAlien64.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-235) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/GdbARMAlienTests.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-236) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/GdbARMPlugin.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-237) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/MIPSDisassembler.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-238) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/MIPSELSimulator.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-239) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/MIPSELSimulatorTests.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-240) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/MIPSInstruction.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-241) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/MIPSSimulator.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-242) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/MultiProcessor.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-243) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/ProcessorSimulationTrap.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-244) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/ProtoObject.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-245) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/Spur32BitPreen.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-246) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/Spur32to64BitBootstrap.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-247) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/Cog/package.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-248) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/Behavior.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-249) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/BlockClosure.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-250) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/ClassDescription.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-251) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/CogScriptsAttic.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-252) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/CompiledMethod.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-253) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/Context.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-254) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/Decompiler.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-255) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/EncoderForV3PlusClosures.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-256) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/InstructionStream.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-257) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/MCClassDefinition.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-258) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/MCMethodDefinition.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-259) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/MethodNode.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-260) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/SpurBootstrap.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-261) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/SpurBootstrap32.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-262) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/SpurBootstrapCuisPrototypes.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-263) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/SpurBootstrapMonticelloPackagePatcher.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-264) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/SpurBootstrapNewspeakFilePatcher.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-265) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/SpurBootstrapPharoPrototypes.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-266) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/SpurBootstrapPrototypes.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-267) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/SpurBootstrapSqueak43Prototypes.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-268) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/SpurBootstrapSqueakFamilyPrototypes.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-269) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/SpurBootstrapSqueakPrototypes.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-270) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/SpurOldFormat32BitMMLESimulator.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-271) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/SpurOldToNewMethodFormatMunger.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-272) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogAttic/package.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-273) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/DBAbstractConstraint.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-274) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/DBBinaryConstraint.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-275) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/DBEditConstraint.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-276) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/DBEqualityConstraint.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-277) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/DBPlan.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-278) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/DBPlanner.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-279) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/DBScaleConstraint.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-280) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/DBStayConstraint.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-281) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/DBStrength.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-282) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/DBUnaryConstraint.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-283) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/DBVariable.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-284) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/DummyStream.extension.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-285) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/ReBenchHarness.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-286) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/ReBenchHarnessArgumentParser.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-287) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/ReBenchReporter.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-288) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/RichDeviceTaskDataRecord.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-289) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/RichHandlerTaskDataRecord.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-290) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/RichIdleTaskDataRecord.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-291) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/RichObject.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-292) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/RichPacket.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-293) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/RichRunner.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-294) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/RichTaskControlBlock.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-295) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/RichTaskState.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-296) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/RichWorkerTaskDataRecord.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-297) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/SMarkAutosizeRunner.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-298) (0 changes)"
},
{
"name": "Added",
"value": "[smalltalksrc/CogBenchmarks/SMarkCogRunner.class.st](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305/files#diff-299) (0 changes)"
}
]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"OpenSmalltalk/opensmalltalk-vm\",\n\"issueId\": 305,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"name": "Close pull request",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"PullRequestClose\",\n\"repositoryFullName\": \"OpenSmalltalk/opensmalltalk-vm\",\n\"pullRequestId\": 305\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305.patch"
}
],
"@type": "OpenUri",
"name": "View patch"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305.diff"
}
],
"@type": "OpenUri",
"name": "View diff"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 408775075\n}"
}
],
"themeColor": "26292E"
}
]</script>
|