Hello,
I have a small issue when building (cross-compile) the Smalltalk VM on an ARM(v6) embedded linux system (Nano Pi neno and Raspberry Pi Zero) that uses Musl as default libc implementation.
The problem is that the code and the configure script does not have official support for Musl, so I created a patch file that adds support to Musl, you can find the [patch here](https://github.com/lxsang/antix/blob/master/sm_vm_musl.patch).
With this patch, i am able to cross-compile on the ARM toolchain for my system; with 4 plugins:
```
FilePlugin \
SqueakSSL \
SqueakFFIPrims \
SocketPlugin
```
You can find the build [script here](https://github.com/lxsang/antix/blob/master/packages/smalltalk-nano-p…
For now, i can live with this dirty trick, but i would be verry happy if the mainline VM has official support to Musl.
That's why i create this issue.
Thanks
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/304
On Linux Mint Sylvia, I could not play sounds (e.g. ``SampledSound beep``). This occurred in the newest SWA VM build of Squeak.
Underlying problem seems to be that the Linux sound libraries for PulseAudio are not linked correctly.
(Maybe this is the same as #118)
With @krono I found this workaround:
``
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libpulse-simple.so.0.1.0 LD_LIBRARY_PATH=/home/user/Dokumente/SWA2018.app/Contents/Linux-i686/bin/../lib/squeak/5.0-201810071412:/lib/x86_64-linux-gnu:/lib:/usr/lib/x86_64-linux-gnu:/usr/lib: /home/user/Dokumente/SWA2018.app/Contents/Linux-i686/bin/../lib/squeak/5.0-201810071412/squeak -vm-sound-pulse /home/user/Dokumente/SWA2018.app/Contents/Resources/SWA2018.image
``
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/360
on /build.linux32x86/pharo.cog.spur/build I run ./mvm and get
make[3]: *** No rule to make target '/usr/lib/i386-linux-gnu/libssl.so', needed by 'libgit2.so.0.25.1'. Stop.
I worked around it by running sudo ln -s /lib/i386-linux-gnu/libssl.so.1.0.0 /usr/lib/i386-linux-gnu/libssl.so but shouldn't be necessary as libssl is downloaded and built by the script.
The same happens with libcrypto
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/210
A problem with FFI is that if a callout segfaults, all of memory
including that of the Image is suspect, and execution of the Image terminates.
Occasionally I hunt around hoping to find technology to mitigate that problem.
Maybe this time in I found something... Memory Protection Keys [1]
Perhaps these could ensure Image memory safe when an FFI callout segfaults.
IIUC the main problem with protecting Image memory on every FFI callout
is the time it would take update the flags on every page of Image memory.
Would being able to change the protection of a massive number of pages
with one syscall make it feasible to wrap them around FFI callouts?
This may be useful at least where the FFI use is more about reuse of
existing functionality than about performance.
Or at least useful while someone is learning/experimenting with FFI for
the first time or while becoming familiar with some external library.
Further info at [2] & [3].
cheers -ben
[1] https://lwn.net/Articles/643797/
[2] http://man7.org/linux/man-pages/man7/pkeys.7.html
[3] https://lwn.net/Articles/689395/
Hi all,
Thanks for all the hints, I finally got that thing flying!
Building with MacPorts clang-6.0 and editing flags finally worked when I found all the places (OFLAGS and LDFLAGS took a while to figure out). Building with Apple clang gave me "leak detection not supported", so that one is probably too old for what I want to do. Now I still have to trigger the leak I am after. I will provide a bug report in the leaking component and I will report the diff on flags I had to make, they might be useful for others. It was pretty dirty, e.g. I had to symlink some objects in the MacPorts AddressSanitizer installation as some binaries were linked with wrong paths, ew.
Again, thanks for encouraging me by telling me that I should be possible, I was already close to giving up. This Xcode env is a beast I try to avoid, too opaque to me.
Below is an example report, with the symbolizer it even tells you the source location, pretty handy. I guess this is not really a leak, but expected behavior for FFI.
Cheers,
Manuel
=================================================================
==12156==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 9080 byte(s) in 15 object(s) allocated from:
#0 0x10a2cb2cc in wrap_malloc (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x592cc)
#1 0x10a091410 in primitiveFFIAllocate (Pharo:x86_64+0x100315410)
#2 0x1137369b7 (<unknown module>)
#3 0x109d7e56c in interpret gcc3x-cointerp.c:2754
#4 0x109f7dc29 in -[sqSqueakMainApplication runSqueak] sqSqueakMainApplication.m:201
#5 0x7fffc93786fc in __NSFirePerformWithOrder (Foundation:x86_64+0xd76fc)
#6 0x7fffc78cfc56 in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ (CoreFoundation:x86_64h+0xa6c56)
#7 0x7fffc78cfbc6 in __CFRunLoopDoObservers (CoreFoundation:x86_64h+0xa6bc6)
#8 0x7fffc78b05f8 in __CFRunLoopRun (CoreFoundation:x86_64h+0x875f8)
#9 0x7fffc78b0033 in CFRunLoopRunSpecific (CoreFoundation:x86_64h+0x87033)
#10 0x7fffc6e10ebb in RunCurrentEventLoopInMode (HIToolbox:x86_64+0x30ebb)
#11 0x7fffc6e10bf8 in ReceiveNextEventCommon (HIToolbox:x86_64+0x30bf8)
#12 0x7fffc6e10b25 in _BlockUntilNextEventMatchingListInModeWithFilter (HIToolbox:x86_64+0x30b25)
#13 0x7fffc53a5a53 in _DPSNextEvent (AppKit:x86_64+0x46a53)
#14 0x7fffc5b217ed in -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] (AppKit:x86_64+0x7c27ed)
#15 0x7fffc539a3da in -[NSApplication run] (AppKit:x86_64+0x3b3da)
#16 0x7fffc5364e0d in NSApplicationMain (AppKit:x86_64+0x5e0d)
#17 0x109f6e553 in main main.m:52
#18 0x7fffdd0a2234 in start (libdyld.dylib:x86_64+0x5234)
...
> Begin forwarded message:
>
> From: John M McIntosh <johnmci(a)smalltalkconsulting.com>
> Subject: Re: [Vm-dev] [Pharo-users] macOS VM builds with AddressSanitizer/LeakSanitizer
> Date: 26 January 2019 at 01:04:30 GMT+1
> To: Manuel Leuenberger <leuenberger(a)inf.unibe.ch>
> Reply-To: John M McIntosh <johnmci(a)smalltalkconsulting.com>
>
> There is a branch in the source tree where I have a Xcode build for deployment of the vm on iOS and OS X. Change the vm source group folder to compile the cog stack or vm.
>
> Although a year or two old you might be able to git merge it into the current OS X build. You can then build the vm with Xcode settings and run instruments etc.
>
> As Eliot points out you can also go in and alter the current make options for the cod line build
>
> ....
> John M. McIntosh. Corporate Smalltalk Consulting Ltd https://www.linkedin.com/in/smalltalk <https://www.linkedin.com/in/smalltalk>
>
>
>
>
> On Fri, Jan 25, 2019 at 06:04, Manuel Leuenberger <leuenberger(a)inf.unibe.ch <mailto:leuenberger@inf.unibe.ch>> wrote:
>>
>> Hi Ben,
>>
>> Thanks for the pointer, I subscribed to those two mailing lists as well.
>>
>> Cheers,
>> Manuel
>>
>>> On 25 Jan 2019, at 14:25, Ben Coman <btc(a)openinworld.com <mailto:btc@openinworld.com>> wrote:
>>>
>>> Hi Manuel,
>>>
>>> This level question would be better handled on pharo-dev and vm-dev mail lists (forwarded a copy).
>>> http://lists.pharo.org/mailman/listinfo/pharo-dev_lists.pharo.org <http://lists.pharo.org/mailman/listinfo/pharo-dev_lists.pharo.org>
>>> http://lists.squeakfoundation.org/mailman/listinfo/vm-dev <http://lists.squeakfoundation.org/mailman/listinfo/vm-dev>
>>>
>>> On Fri, 25 Jan 2019 at 16:09, Manuel Leuenberger <leuenberger(a)inf.unibe.ch <mailto:leuenberger@inf.unibe.ch>> wrote:
>>> Hi,
>>>
>>> Anybody has experience building the VM (pharo.cog.spur) on macOS with custom compiler and flags?
>>>
>>> I am observing a memory leak on macOS Sierra/Pharo 7/GToolkit. I cannot precisely locate the issue, e.g. I cannot reliably reproduce the problem. So I tried to use AddressSanitizer/LeakSanitizer with custom debug builds of the VM and libMoz2D (used by GToolkit). As building on Linux is easier than on macOS, I got myself some help from a colleague and we managed to build those two artifacts on Linux by sprinkling "-g3 -O0 -fsanitize=leak -fsanitize-memory-track-origins" into the CFLAGS wherever they appear or are picked up. This works fine on Debian 9 with "CC=clang-6.0 CXX=clang++-6.0 ./mvm -d" and some on-the-fly patches for other breaking things.
>>>
>>> Unfortunately, I cannot reproduce the problem on Linux, so it seems to be platform specific. Even more so, I seem to be the only one observing the issue. Other GToolkit users do not report this issue. As these kind of issues are freaking me out, I cannot let go and need to learn what causes them. So, here I am, trying to build the VM on macOS Sierra and miserably failing to include the sanitizer tags with Clang and giving me those tasty leak reports on VM shutdown.
>>>
>>> The leak is not observable in the image memory, i.e. the image size reported by the VM is not growing, I am suspecting FFI, possibly in Moz2D, to leak.
>>> The FFI registry in the VM also does not report many or large surviving objects, so I would assume the problem to be either on the plugin or VM side.
>>>
>>> My two concrete questions are:
>>> 1. Is it even feasible to detect leaks with this approach? E.g., how does the VM behave on shutdown? Will the leaks show up in the report or will they not be covered, as the VM actually frees everything before shutting down?
>>> 2. How do I swap compiler and inject flags on macOS builds? On Linux it was fairly easily done by replacing some variables. But on macOS, Xcode seems to like to mess with me. I got myself Clang-6.0 on macOS from MacPorts, the same as version as I took on Linux. I can build the VM with this, but it there is no leak report on VM shutdown. Anybody has an idea how to debug the build?
>>>
>>> Bonus question: Can the VM provide an inspectable view of all the allocated memory to the image? That would be perfect. I think Luke Gorrie does some magic like this in his Studio for core dumps etc.
>>>
>>> Cheers,
>>> Manuel
>>>
>>>
>>
>
>
Because OpenGL is being deprecated by Apple, use Metal instead of OpenGL for main VM window in OS X.
Metal only works in 64 bits mode. So, I also made the needed changes to keep using OpenGL in the 32 bits version of the OS X VM.
You can view, comment on, or merge this pull request online at:
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/306
-- Commit Summary --
* I ported the main OS X view from OpenGL into Metal.
* Disable restoring OpenGL context hack in ioProcessEvents when using Metal for the main window.
-- File Changes --
M build.macos32x86/common/Makefile.app (4)
M build.macos32x86/common/Makefile.flags (2)
M build.macos64x64/common/Makefile.app (8)
M build.macos64x64/common/Makefile.flags (7)
M build.macos64x64/common/Makefile.rules (10)
M build.macos64x64/common/Makefile.vm (1)
M platforms/iOS/vm/Common/Classes/sqSqueakEventsAPI.m (14)
A platforms/iOS/vm/English.lproj/MainMenu-opengl.xib (1261)
M platforms/iOS/vm/English.lproj/MainMenu.xib (8)
M platforms/iOS/vm/OSX/SqViewBitmapConversion.m (5)
M platforms/iOS/vm/OSX/SqViewClut.m (5)
A platforms/iOS/vm/OSX/SqueakMainShaders.metal (73)
M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m (5)
A platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h (93)
A platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m (772)
-- Patch Links --
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/306.patchhttps://github.com/OpenSmalltalk/opensmalltalk-vm/pull/306.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/306
Yet another pull request for merging vmmaker code into opensmalltalk-vm.
Commits now have nicer looking comments as suggested in https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/308.
You can view, comment on, or merge this pull request online at:
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/309
-- Commit Summary --
* VMMaker.oscog-sk.2261.mcz Modify the profiling primitive cogCodeConstituents: to be able to differentiate the closedPICs from the openPICs in the profiling report
* CogTools-sk.84.mcz * take into account the modified primitive collectCogCodeConstituents to display the differenciation open/closedPICs * remove unused method (VMFileSystem, which has been replaced)
* VMMaker.oscog-eem.2262.mcz LargeIntegers plugin Fix the crash for 2009 nthRoot: 100000 due to digitDivLarge:with:negative: failing to check if allocations fail. The example produces 600k byet long integers and so provokes plenty of allocation failures.
* VMMaker.oscog-eem.2263.mcz Fix simulation of Pharo primitiveDirectoryLookup above Squeak.
* VMMaker.oscog-eem.2264.mcz Spur: The OmterpreterProxy/sqVirtualMachine.h API (e.g. in the ThreadedFFIPlugin) expects instantiateClass:indexableSize: to work with 0 indexable size for fixed classes. So remove the cppIf:... from the Spur implementation.
* VMMaker.oscog-eem.2265.mcz 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.
* CogTools-sk.85.mcz * UI for Pharo * add some comments
* VMMaker.oscog-eem.2266.mcz Spur: Simplify cleverSwapHeaders:and:copyHashFlag: via xor.
* VMMaker.oscog-eem.2267.mcz Slang: Allow plugins to use sends to access struct members.
* VMMaker.oscog-tpr.2268.mcz First pass at removing obsolete window color setting and move to the new theme framework.
* VMMaker.oscog-cb.2269.mcz 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.
* VMMaker.oscog-cb.2270.mcz SpurSweeper is working in the simulator, effectively changing Spur's fullGC to a mark-sweep algorithm when enabled. Still need to check:
* VMMaker.oscog-cb.2271.mcz Since this commit SpurSweeper seems to be production-ready. I compiled a VM with SpurSweeper and it worked just fine, handling many GCs.
* VMMaker.oscog-cb.2272.mcz Fixed bug with large struct in FFI with SysV .
* ImageFormat-dtl.27.mcz Sort the format numbers for more convenient display
* VMMaker.oscog-cb.2273.mcz 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.
* VMMaker.oscog-cb.2274.mcz 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.
* ImageFormat-dtl.28.mcz Fix typo, the hypothetical 68003 is a known version number, 68004 is not.
* VMMaker.oscog-eem.2275.mcz Provide a logging facility that uses the Printf package. See VMClass>>log:with:* for API. See Slang changes below for support.
* VMMaker.oscog-eem.2276.mcz Simplify flushLog in the logging framework by providing fflush on WriteStream.
* VMMaker.oscog-eem.2277.mcz Oops. Revert an inadvertent change to flushLog.
* VMMaker.oscog-eem.2278.mcz Spur: Revise scavenger logging to collect data during the scavenge and log it to the file after the scavenge, hence including an accurate elapsed time.
* VMMaker.oscog-eem.2280.mcz 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.
* VMMaker.oscog- nice.2281.mcz Fix type inference of variable unskew in BitBlt >> copyLoop
* VMMaker.oscog-cb.2282.mcz fix primStringReplace in the JIT.
* VMMaker.oscog-nice.2283.mcz Fix incorrect size of replArray in genPrimitiveStringReplace
* VMMaker.oscog-eem.2284.mcz BitBltSimulation>>copyLoop: Strength reduce the loop split for combinationRule = 3 so that less tests are done in the inner loop and so trhat when combinstionRule = 3 mergeFn is never used. Use an explicit type declaration for unskew instead of trickier relying on type inference. Eliminate bogus use of #== for numeric comparison.
* VMMaker.oscog-eem.2285.mcz BitBltSimulation>>copyLoop: No changes other than reformatting indentation for readability.
* VMMaker.oscog-eem.2286.mcz Simulation on 64-bit Squeak.
* VMMaker.oscog-eem.2287.mcz Spur: Rewrite determining the accessorDepth for the meta primitives (primitiveDoPrimitiveWithArgs and primitiveDoNamedPrimitiveWithArgs, 118 & 218). Have primitiveDoNamedPrimitiveWithArgs fetch the accessorDepth. Discard the confused setting of newMethod to the prim index. Introduce metaAccessorDepth and eliminate tempOop3. This fixes a crash when stepping through something likely to fail such as [DoubleWordArray new: 64*1024*1024] repeat.
* VMMaker.oscog-eem.2288.mcz 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:
* VMMaker.oscog-eem.2289.mcz 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.
* VMMaker.oscog-eem.2290.mcz Slang: Include short int as a valid integral type.
* VMMaker.oscog-eem.2291.mcz CoInterpreter: Fix bug in new ceReapAndResetErrorCodeFor:; need to write the error code to the word above stack top, stack top holding the return address.
* VMMaker.oscog-eem.2292.mcz Interpreter: Eliminate some uses of #== to compare integral values.
* VMMaker.oscog-eem.2293.mcz Fix vorgotten variables in the unused variable elimination scheme for inlined value:[value:*] and to:by:do:
* VMMaker.oscog-eem.2294.mcz Spur Image Segments: Fix objectsReachableFromRoots: which was computing a transitive closure that could include duplicates.
* VMMaker.oscog-eem.2295.mcz Spur Image Segments: The short cut in ensureNoNewObjectsIn: was wrong. Best not take any short cuts here at all.
* VMMaker.oscog-eem.2296.mcz Fix bugs in DoubleWordArray>>[unsigned]long64At: which failed to exclude extraneous bytes in the upper word of unaligned accesses. These along with the fix to hackBits: in Graphics-eem.389 fix simulating 64-bit images in 64-bits, ensuring that the display is visible.
* VMMaker.oscog-eem.2297.mcz Cogit: Extend Spur 64-bit primitiveAt with full support for 64-bit longs.
* VMMaker.oscog-eem.2298.mcz Cogit: More work to full 64-bit access in at:[put:] primitives. Fix slip in x64 setsConditionCodesFor:.
* VMMaker.oscog-eem.2299.mcz 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.
* VMMaker.oscog-eem.2300.mcz Change the contract of ThreadedFFIPlugin>>ffiAddressOf:startingAt:size:, moving the primitive fails to the callers for equivalent but more compact code.
* VMMaker.oscog-eem.2301.mcz 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.
* VMMaker.oscog-eem.2302.mcz Fix a slip in the new ThreadedFFIPlugin preambleCCode (the atput's need an extra parameter).
* VMMaker.oscog-eem.2303.mcz 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).
* VMMaker.oscog-eem.2304.mcz Add a check for the knownClassIndex actually binding to a class in the relevant eeInstantiate routines.
* VMMaker.oscog-eem.2305.mcz Slang for Plugins Make sure the comparison of types of the reference implementation and the declarative implementation in InterpreterProxy is made once types have been assigned.
* VMMaker.oscog-eem.2306.mcz Slang: Make sure that numeric constant methods inlined through the tryToInlineMethodExpressionsIn: path get commented with their selector.
* VMMaker.oscog-eem.2307.mcz 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.
* VMMaker.oscog-eem.2309.mcz Tweak the recent inlining commenting change; don't bother to comment if what's being inlined is a named constant.
* VMMaker.oscog-eem.2310.mcz Simulation: Fix charsOf: so that longPrintOop:/shortPrint: prints the full 8-bit character range, not the 7 bit character range.
* VMMaker.oscog-dtl.2311.mcz Fix typo in function declaration in ImmX11Plugin, identified by Stuart Cassoff.
* VMMaker.oscog-eem.2312.mcz 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).
* BytecodeSets.spur-eem.76.mcz Save BytecodeeSets now that both Pharo and Squeak have the SistaV1 bytecode set in the base.
* BytecodeSets.spur-eem.77.mcz Remove SistaV1 category (its now empty here). Better temp names in printing method. Fix typo.
* VMMaker.oscog-eem.2313.mcz Cogit: Fix bad bug in ceSend:above:to:numArgs: which was written to accept an association, not a class. The rewrite agrees with the interpreter's definition.
* VMMaker.oscog-eem.2314.mcz 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.
* VMMaker.oscog-eem.2315.mcz 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 pushLiteral: foo; directedSuperSend: bar numArgs: baz, and
* VMMaker.oscog-eem.2316.mcz 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.
* VMMaker.oscog-eem.2317.mcz Simulation: Better SocketPlugin name lookup simulation.
* VMMaker.oscog-eem.2318.mcz Phhhhh....
* VMMaker.oscog-eem.2319.mcz Simulation: Close files properly in the FilePliginSimulator and recycle file handle indices.
* VMMaker.oscog-eem.2320.mcz Spur: Fix a bad bug in SpurPlnningCompactor. unmarkObjectsFromFirstFreeObject, used when the compactor requires more than one pass due to insufficient savedFirstFieldsSpace, expects the corpse of a moved object to be unmarked, but copyAndUnmarkObject:to:bytes:firstField: only unmarked the target. Unmarking the corpse before the copy unmarks both. This fixes a crash with ReleaseBuilder class>>saveAsNewRelease when non-use of cacheDuring: creates lots of files, enough to push the system into the multi-pass regime.
* VMMaker.oscog-eem.2321.mcz Implement following of pushConstant: aBoolean; jumpTo: target; ...target: jump: target2 if: cond in genJumpTo:.
* VMMaker.oscog-eem.2322.mcz RegisterAllocatingCogit: Make sure the receiverResultReg state is valid on backwards jump when the stackLimit is not exceeded. Implement branch following as per StackToRegisterMappingCogit>>#genJumpTo:. Avoid duplicating send of moveVolatileSimStackEntriesToRegisters in ensureFixupAt:.
* Cog-eem.345.mcz Add the processor aliens when compiled in 64-bits for running on 64-bit Squeak
* Cog-eem.346.mcz Add the missing control register accessiors for GdbARMAlien64 and delete subclass accessors that are the same as the superclass's.
* VMMaker.oscog-eem.2324.mcz Fix store check call in genPrimitiveStringReplace on RISCs (i.e. on ARM save & restore LinkReg around call).
* VMMaker.oscog-cb.2323.mcz Based on discussions decreased from 7 to 5 the number of instructions on Intel in primStringReplace copying loops
* VMMaker.oscog-eem.2325.mcz StackToRegisterMappingCogit: Fix ancient bug in voidReceiverResultRegContainsSelf. The computed index is the right argument for ssFlushTo:; it shouldn't be subtracted from simStackPtr!
* VMMaker.oscog-eem.2326.mcz StackToRegisterMappingCogit: For simplicity, especially in the RegisterAllocatingCogit subclass, eliminate simSelf and optStatus and include the receiver's simStackEntry as the 0'th element of the simStack. optStatus is therefore whether simSelf's liveRegister is ReceiverResultReg. hence loops from 0 to: methodOrBlockNumTemps - 1 become loops from 1 to: methodOrBlockNumTemps. Teh simSelf variable is replaced by self simSelf, which is short-hand for self simStackAt: 0.
* VMMaker.oscog-eem.2327.mcz StackToRegisterMappingCogit: Get much stricter with simSpillBase for the benefit of RegisterAllocatingCogit (and eventually SistaCogit).
* VMMaker.oscog-eem.2328.mcz StackToRegisterMappingCogit: Replace the UnknownSimStackPtrFlag hack in a fixup's simStackPtr and replace it by a proper flag. Consequently make a fixup's simStackPtr unsigned char, giving us a maximim of 255 stack slots (0 being for the receiver).
* VMMaker.oscog-eem.2329.mcz RegisterAllocatingCogit: Revise merge code generation (& uke the now unneeded failed merge catcher). Have the merge update simStack reflecting reality as the merge proceeds. This update occurs in reconcilePoppingWith: & reconcilePushingWith:. N.B. reconcilePoppingWith: & reconcilePushingWith: are now essentially identical apart from whether they pusgh or pop. They will be merged and the push/pop moved to the client mergeCurrentSimStackWith: very soon.
* VMMaker.oscog-eem.2330.mcz RegisterAllocatingCogit: Refactor reconcilePushingWith: & reconcilePoppingWith: into reconcileWith:spillOffset:onSpillOrUnspill:.
* VMMaker.oscog-eem.2331.mcz RegisterAllocatingCogit: Refactor to allow RegisterAllocatingCogit to deal with the push initial nils hack, i.e. move the two pass loop mechanism out of compileAbstractInstructionsFrom:through: into compileMethodBody & compileBlockBodies.
* VMMaker.oscog-eem.2332.mcz RegisterAllocatingCogit: Moving volatile stack contents to registers should happen once before each jump, not potentially multiple times in ensureFixupAt:.
* VMMaker.oscog-eem.2333.mcz RegisterAllocatingCogit: Fix mistakes in reconcileWith:spillOffset:onSpillOrUnspill: when merging with a volatile entry that has a register. The current entry must morph into an SSRegister, /not/ an SSSpill, and it must answer that it has merged a register. mergeCurrentSimStackWith: must deassign the target's reguster, /not/ current's. And it must actually update current's spill status on (un)spill.
* VMMaker.oscog-eem.2334.mcz 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.
* VMMaker.oscog-eem.2335.mcz RegisterAllocatingCogit: Improve (dare I say, fix??) the register permutation engine in the control flow merge logic. Fix reconciling entries that oproduce an SSRegister entry (the liveRegister must be set to NoReg). Fux recinciling a constanty with itself (this happens at the end of ifTrue:ifFalse: given that the bytecode compiler preserves the value of ifTrue:ifFalse: until a single trailing pop). N.B. the merge engine could save effort by peeking ahead for a pop, but Scorch likely won't produyce such bad code so we shouldn't waste effort making the RegisterAllocatingCogit generate better code for non-Scorch input.
* VMMaker.oscog-eem.2336.mcz RegisterAllocatingCogit: Fix the visited register filter in the register swapper in the merge engine.
* VMMaker.oscog-eem.2337.mcz 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.
* VMMaker.oscog-eem.2338.mcz Fix a slip in primitiveDecompressFromByteArray caught by IncludedMethodsTests. Thank you David!
* VMMaker.oscog-eem.2339.mcz Immutability: Fix primitiveSlotAtPut (& InterpreterPrimitives>>primitiveInstVarAtPut) to fail with PrimErrorNoModification for read-only objects.
* VMMaker.oscog-akg.2340.mcz Extend FilePlugin to allow a file to be opened using either the file descriptor (fd) or FILE* in Pharo.
* VMMaker.oscog-akg.2341.mcz Include FilePlugin>>primitiveFileOpenUseFileDescriptor & primitiveFileOpenUseFile on all platforms (not just PharoVM).
* VMMaker.oscog-topa.2342.mcz The config should always come first.
* VMMaker.oscog-eem.2343.mcz Better comment Tobias' inclusion of config.h in all plugins. Also ensure (almost) no duplications can occur.
* VMMaker.oscog-eem.2344.mcz Cogit: Fix the macro definition for simSelf (it must take arguments).
* VMMaker.oscog-eem.2345.mcz Cogit: Fix several slips. Inline a few trivial methods.
* VMMaker.oscog-akg.2346.mcz FilePlugin connect to file primitives
* VMMaker.oscog-eem.2347.mcz Review of Alistair's recent FilePlugin changes:
* VMMaker.oscog-cb.2348.mcz 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.
* VMMaker.oscog-cb.2349.mcz Merge back the DoubleWordArray code from a fresh image. Normally everything should be merged, up and running.
* VMMaker.oscog-cb.2350.mcz Decreases by 1 the number of instructions for byte reads on constants.
* VMMaker.oscog-cb.2351.mcz Fogrot to merge back Eliot's change in the bytecode table with mine
* VMMaker.oscog-eem.2352.mcz Cogits: Fix slip in ssFlushTo:.
* VMMaker.oscog-eem.2353.mcz Cogits: Fix pc mapping for genStore[AndPop]RemoteTempLongBytecode. Neither of these are isMappedIfImmutability unless they are used for inst var assignment of arbitrary objects; in which case we need to add an annotation when they're used for indirect temp access.
* VMMaker.oscog-ul.2354.mcz Restored SerialPlugin's *byName* primitives on non-PharoVM VMs.
* VMMaker.oscog-akg.2355.mcz FilePlugin status checks and type declaration
* BytecodeSets.spur-eem.78.mcz Implement multiple bytecode set aware scanning machinery for NewsqueakV4.
* VMMaker.oscog-cb.2356.mcz fixed byteAt constant removed unused annotation
* VMMaker.oscog-eem.2357.mcz Fix regression introduced in VMMaker.oscog-eem.2333 or thereabouts when improving comoilation breakpoint. maybeSelectorOfMethod can answer nil so a guard is needed.
* VMMaker.oscog-eem.2358.mcz Fix several (ancient) issues with the MiscPrimitivePlugin primitives, identified by Levente. Try and make all failures supply an error code.
* VMMaker.oscog-eem.2359.mcz Oops! Fixed one I missed.
* VMMaker.oscog-eem.2360.mcz Plugin: Deprecate the unused in-argument-order primitive argument accessors floatArg:, integerArg:, methodArg:, & objectArg:. These have never been used. Replace them with more convenient variants of methodReturnValue:, namely methodReturnBool:, methodReturnFloat:, methodReturnInteger:, and methodReturnString:. Use them in a few primitives.
* VMMaker.oscog-eem.2361.mcz Spur: Make read-only (-DIMMUTABILITY) the default wth Spur VMs.
* VMMaker.oscog-eem.2362.mcz For Spur MT interpreters to be generated by generateAllConfigurationsUnderVersionControl they must be in generateAllSqueakConfigurationsUnderVersionControl.
* VMMaker.oscog-eem.2363.mcz Fix regression in generateInterpreterProxyFunctionDereference:on:indent: introduced in VMMaker.oscog-eem.2361.
* ImageFormat-dtl.29.mcz Fix by K K Subbu: Use memcmp instead of strncmp in ckformat to compare byte arrays.
* ImageFormat-dtl.30.mcz Fix declaration of main() in ckformat.c
* VMMaker.oscog-CyrilFerlicot.2364.mcz Add a progress bar when generating multiple vm code with VMMaker.
* VMMaker.oscog-VB.2364.mcz - Add new primitive: primitiveHostWindowIcon -> able to change the main window icon at runtime
* ImageFormat-dtl.31.mcz 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.
* VMMaker.oscog-VB.2365.mcz merge VB 2364 and CyrilFerlicot 2364
* VMMaker.oscog- nice.2366.mcz Correct a 32bit-hardcoded pointer size in FFI Correct two copy/paste typos in num32BitUnitsOf:
* VMMaker.oscog-sk.2367.mcz ** new primitive to compare strings (slang + JIT) answers negative smi, 0 or positive smi (instead of 1, 2 or 3 in the MiscPlugin)
* VMMaker.oscog-eem.2368.mcz Check collation order byte array size in new string compare primitive as per Levente's suggestion.
* VMMaker.oscog-VB.2369.mcz add primitive primitiveStdioDescriptorIsATTY See https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/254
* VMMaker.oscog-VB.2370.mcz primitiveStdioDescriptorIsATTY will return a bool instead of an int
* VMMaker.oscog-VB.2371.mcz Add arguments in primitiveIsFileDescriptorATTY
* VMMaker.oscog-cb.2372.mcz Fixed a bug in inlined allocation (or so I think... Did not check the tests)
* VMMaker.oscog-cb.2373.mcz Remove the APIs I added to iterate over free chunks (there was an existing API)
* VMMaker.oscog-cb.2374.mcz 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)
* VMMaker.oscog-cb.2375.mcz Made C compiler happy (addressOf:, macro & shadowing non-sense)..
* VMMaker.oscog-cb.2376.mcz 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...
* VMMaker.oscog-cb.2377.mcz Spur ancilliary classes includes now: (self compactorClass withAllSuperclasses copyUpThrough: SpurCompactor) reverse
* VMMaker.oscog-cb.2378.mcz Improved compactor comments.
* VMMaker.oscog-cb.2379.mcz Started implementation of Tracking. Refactor a bit more to share code between selective and tracking.
* VMMaker.oscog-eem.2380.mcz 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.
* VMMaker.oscog-eem.2381.mcz Fix a bug in the refactored conditional define code; a slip caused premature evaluation of the block argument.
* VMMaker.oscog-VB.2382.mcz change the primitive to return the file descriptor type instead of just 0 or 1
* VMMaker.oscog-VB.2383.mcz Use methodReturn***: instead of pop: + push***: in FilePlugin
* VMMaker.oscog-cb.2384.mcz Compactor clean-ups, we now only have: - Pig: first spur compactor
* VMMaker.oscog-topa.2385.mcz AnObsolete slipped in, ask it to leave.
* VMMaker.oscog-topa.2386.mcz Trust config.h more. It declares when to include dlfcn and takes care of _GNU_SOURCE.
* VMMaker.oscog-ul.2387.mcz General: - added #methodReturnReceiver, another methodReturn* method, that pops argumentCount elements from the stack, leaving only the receiver there
* VMMaker.oscog-ul.2388.mcz - fixed a bug in primitiveStringHash
* VMMaker.oscog-cb.2389.mcz Fixed a bug in frameless full blocks (fetching receiver from receiver index in FullBlock and not outerContext)
* VMMaker.oscog-cb.2390.mcz Fixed consistency checks in VMClass to succeed if no compactorClass is present.
* VMMaker.oscog-eem.2393.mcz BitBltPlugin: Don't fail primitiveDisplayString for empty strings (still validates fully though).
* VMMaker.oscog-eem.2394.mcz SpurSelectiveCompactor: Add a guard to followForwardingPointersInStackZone: to avoid scanning teh stack zone when it is empty because the system is snapshotting.
* VMMaker.oscog-cb.2391.mcz Fixed a bug in Selective Compactor where remembered objects were incorrectly copied.
* VMMaker.oscog-cb.2392.mcz Removed debugging code to make VM compilation work again.
* VMMaker.oscog-eem.2395.mcz Fix regression in primitiveDisplayString (missed return on short-cut return for empty string).
* VMMaker.oscog-eem.2396.mcz Fix some compiler warnings in the interpreter (including unused variables). Make methodReturnString: safe in the presence of allocation failures, but note that, because it may fail on returning a result (which implies the primitive has done its work) this is dubious at best.
* VMMaker.oscog-eem.2397.mcz Actually fix Slang not emitting variable declarations for 'extern ...' declarations.
* VMMaker.oscog-eem.2398.mcz 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.
* VMMaker.oscog-eem.2399.mcz FFIPlugin: Fix slip in the Win64 ffiCalloutTo:SpecOnStack:in:
* VMMaker.oscog-eem.2400.mcz Fix Sista build which is failing due to the lack of an export of objectBytesForSlots:.
* CogTools-eem.86.mcz Fix profile buffer for 64-bits (use DoubleWordAray). So for symmetry change to using WordArray in 32-bits instead of Bitmap. Hack fix MNU cases in PICs in analyzeClosedPIC:. This is a hack because the VM is answering useless values. It simply answers #doesNotUnderstand:, whereas it could more usefully answer {theClass. #doesNotUnderstand:} or simply {theClass}. In fact, all the PIC cases should supply what the actual receiver class is, not simply the target method. We have to discuss what to do. This is in Cogit>>#createCPICData:
* CogTools-eem.87.mcz Collect the new format PIC data.
* VMMaker.oscog-eem.2401.mcz 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:.
* CogTools-eem.88.mcz Eliminate obsolete primitive
* VMMaker.oscog-eem.2402.mcz 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.
* VMMaker.oscog-eem.2403.mcz BitBltPlugin: Move the checks for the dest and source forms being sufficiently large pointer objects into their respective validation routines.
* VMMaker.oscog-eem.2404.mcz Spur Compaction & Slang Add support for static resolution of very limited polymorphism, specifically that required to select between the SpurSelectiveCompactor and the SpurPlanningCompactor at run-time, using SpurSelectiveCompactor for normal GC and SpurPlanningCompactor for snapshots.
* VMMaker.oscog-eem.2408.mcz Initialization: Nuke the insane initializationOptions inst var in VMClass class and replace it by a simple class variable InitializationOptions. This avoids stale initializationOptions dictionaries during initialization. The exact symptom was the validation of options in VMClass class>>initializeMiscConstants; it wanted to check SpurmemoryManager's compactorClass, but since SpurMemoryManager's initialationOptions was stale it answered a bogus class. Grasshopper, enlightenment comes slowly to some.
* VMMaker.oscog-eem.2409.mcz Fix static selector mapping in SpurCompactor; it needs to handle inheritance (SpurSelectiveCompactor inherits from SpurSweeper).
* VMMaker.oscog-cb.2405.mcz - changed the free list representation from linked list to double linked list to unlink efficiently the free chunk in compaction phases. - Fix some simulation details
* CogTools-eem.89.mcz Eliminate a deprecation warning on Squeak.
* VMMaker.oscog-cb.2406.mcz Added bytesBigEnoughForPrevPointer: abstraction and patch all callers to use that.
* VMMaker.oscog-cb.2407.mcz Fixing cases where double linked list prev pointer was not correctly updated.
* VMMaker.oscog-cb.2410.mcz - Added assertions for free chunks like crazy. - Fixed the double linked list scheme (now everything resists the leak checker in stress GC benchs in 64 bits, previously it worked only in 32 bits)
* VMMaker.oscog-cb.2411.mcz Improved assertion (we want to catch this case)
* VMMaker.oscog-cb.2412.mcz - Fixed compilation errors and some warnings.
* VMMaker.oscog-cb.2413.mcz Fixed a bug when new segment was allocated in C sometimes the swizzle field used by SelectiveCompactor got corrupted. Changed assertions here and there.
* VMMaker.oscog-eem.2414.mcz Update some class comments.
* VMMaker.oscog-eem.2415.mcz 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).
* VMMaker.oscog-eem.2416.mcz More initializationOptions clean-ups.
* VMMaker.oscog-cb.2417.mcz Reworked a bit inlining for profiling.
* VMMaker.oscog-topa.2418.mcz An include got missing, put it back where it belongs
* VMMaker.oscog-cb.2419.mcz Added stats for Marking time and sweep time in full GC. Make them available as vm parameters 72 and 73.
* VMMaker.oscog-eem.2420.mcz Spur: Extend semantics of primitives 165 & 166 (integerAt:[put:], signed indexing of 32-bit word classes) to byte, short and double word classes; actually, all classes; this is a signedversion of 60 & 61 basicAt:[put:].
* VMMaker.oscog-eem.2421.mcz Cogits. Fix bad bug in pc mapping of methods containing primitives. methodUsesPrimitiveErrorCode:header: used the initialPC inst var, rather than deriving the initialPC of the method parameter. initialPC is stale/over ripe, being that of the last JITTED method. So many methods containing primitives get their PC mapping wrong. We haven't noticed this much because primiitves typically succeed. Nuke an obsolete version of the method.
* VMMaker.oscog-eem.2422.mcz Cogits. Revamp pc mapping tests so they can apply to methods in the simulation (used to debug the issue fixed in VMMaker.oscog-eem.2421).
* VMMaker.oscog-eem.2423.mcz RegisterAllocatingCogit. ensureReceiverResultRegContainsSelf should use a simple super send, since StackToRegisterMapping's version merely flushes the stack. This results in poor code when assiging a method result to an inst var; the result comes back in ReceiverResultReg, which must be copied to another register to allow ReceiverResultReg to be loaded with self for the store.
* VMMaker.oscog-eem.2424.mcz SistaRegisterAllocatingCogit. Noise. Commit an updated SistaCogitClone (which is auto generated on startup). Fix the comment in syncCodeWithSistaCogit.
* VMMaker.oscog-cb.2425.mcz New things can be forwarders with selective compactor.
* VMMaker.oscog-AlistairGrant.2426.mcz 274: primitiveFileStdioHandles() fails to return nil if stdio file is not available
* VMMaker.oscog-eem.2428.mcz Work around some Squeak specificities. Update the VMMakerDecompilerTests decompilerFailures
* VMMakerCompatibilityForPharo6-eem.1.mcz Compatibility methods and classes for VMMaker when loaded into Pharo6. Right now gets around EndianDetector and the lack of MethodReference.
* VMMaker.oscog-eem.2429.mcz Oops; there were two...
* VMMaker.oscog-AlistairGrant.2427.mcz 274: Update primitiveFileStdioHandles error handling.
* VMMakerCompatibilityForPharo6-eem.2.mcz isCompiledBlock and bytesPerElement
* VMMakerCompatibilityForPharo6-EliotMiranda.3.mcz Support for embeddedBlockClosures and schematicTempNamesString because these are used currently to interface to the JIT's code decoration facilities.
* VMMaker.oscog-eem.2430.mcz Slang: Send asTranslationMethodOfClass: to CompiledMethods dirctly, allowing CompiledMehtod to choose between Smalltalk-80 parse trees and RefactoringBrowser parse trees.
* VMMakerCompatibilityForPharo6-eem.4.mcz Stream compatibility methods for ThreadSafeTranscript which I shouldmn;'t have to implement (it's supposed to be a WriteStream). Initial support for Slang TMehtod creation from RBProgramNodes.
* VMMakerCompatibilityForPharo6-eem.5.mcz Add isNodeNil to RBProgramNode & subclass
* VMMaker.oscog-eem.2431.mcz Core VM: Kernel of support for failing FFI calls that raise exceptions. This provides simulation support for catching the signal and activating the invoking method as a primitive failure. The platform exception handlers still need of course to be modified to invoke this support.
* VMMaker.oscog-eem.2432.mcz Finish the VMMaker side of the failing of FFI callouts on exceptions.
* VMMaker.oscog-eem.2433.mcz 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.
* VMMaker.oscog-eem.2434.mcz Add the missing implementation in InterpreterProxy, and correct the comment of primitiveFailForFFIException:at:. Also activateFailingPrimitiveMethod is not an api method; primitiveFailForFFIException:at: is.
* VMMaker.oscog-eem.2435.mcz 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.
* VMMaker.oscog-eem.2436.mcz And bring the simulation only bridge methods up to date in NewObjectMemory, reducing duplication.
* VMMaker.oscog-eem.2437.mcz StackInterpreter: Fix signature of reapAndResetErrorCodeTo:header: to leiminate warnings.
* VMMaker.oscog-eem.2438.mcz General robustness, compatibility and cleanups.
* VMMaker.oscog-eem.2439.mcz Slang: more Pharo/Squeak compatibiltiy refactoring.
* VMMakerCompatibilityForPharo6-eem.6.mcz 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.
* VMMakerCompatibilityForPharo6-eem.7.mcz Add LongTestCase & access for the return of a quick method to RBMethodNode needed for cmacro: methods.
* VMMakerCompatibilityForPharo6-eem.8.mcz Add translation support for brace constructs in case statements. And include a *Tools extension for TranscriptStream.
* VMMaker.oscog-eem.2440.mcz More Pharo compatibility.
* VMMaker.oscog-eem.2441.mcz Make sure is:KindOf: has a valid return type.
* VMMaker.oscog-eem.2442.mcz 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.
* VMMaker.oscog-eem.2443.mcz Oops; remember to use isFakeStdinStream, and avoid isKindOf: in a couple of other places.
* VMMaker.oscog-eem.2444.mcz Eliminate cCode: usage in the B3DAcceleratorPlugin and HostWindowPlugin usign the new "var args" style. Rewrite mem:mo:ve: et al in the new style.
* VMMakerCompatibilityForPharo6-eem.9.mcz More compatbility. InstructionPrinter et al are missing in Pharo6 and subsequent. RBProgramNode methods for Slang. GtTranscript compatibility.
* VMMaker.oscog-cb.2445.mcz Change the objStack logic to mmap a new memory segment on overflow if not enough room on heap when allocating a new page.
* VMMaker.oscog-cb.2446.mcz 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.
* VMMaker.oscog-cb.2447.mcz Production VM: - Fixed a bug in removeSegment: where invalid memory would be accessed when the segment info array was full & a segment removed.
* VMMaker.oscog-cb.2448.mcz 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.
* VMMaker.oscog-cb.2449.mcz 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.
* VMMaker.oscog-cb.2450.mcz Fix a bug in lilliputian management in selectivecompactor when adding a segment to compact into while there is none available.
* VMMaker.oscog-eem.2451.mcz Spur: Tweak followClassTable toi not waste effort following hiddenRootsObj. FilePlugin: avoid createDirectory: hack.
* VMMaker.oscog-eem.2452.mcz General: Fix error code reporting for primitiveAdoptInstance. It uses changeClassOf:to: which expects the class to be the argument, so BadArgument/BadReceiver errors must be swapped.
* VMMaker.oscog-eem.2453.mcz Cog Spur: Eliminate unnecessary branch in 32 bit version of genPrimitiveAtSigned:, to match the 64 bit version.
* VMMaker.oscog-eem.2454.mcz General: Correct a slip in primitiveVMParameter; statMaxAllocSegmentTime is Spur only.
* VMMaker.oscog-AlistairGrant.2455.mcz VMClass strlen, strncpy and getenv
* VMMaker.oscog-AlistairGrant.2456.mcz 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.
* VMMaker.oscog-eem.2457.mcz BitBltPlugin/BitBltSimulation
* VMMaker.oscog-eem.2458.mcz InterpreterPrimitives Rewrite the getenv: simulation so that the original primitiveGetenv can be used.
* VMMaker.oscog-AlistairGrant.2459.mcz VMClass>>strncpy:_:_: refactor
* VMMaker.oscog-eem.2460.mcz Plugins: Use more Beck formatting (I find it very hard to read anything else; sorry).
* VMMaker.oscog-eem.2461.mcz Plugins: BitBltSimulation
* VMMaker.oscog-eem.2462.mcz JPEGReadWriter2Plugin: Fix a regression in the last commit.
* VMMaker.oscog-eem.2463.mcz Oops! Fix the major regressions in the last but one commit.
* VMMaker.oscog-eem.2464.mcz Cogit Slang Reflection: Fix nasty bug with CogAbstractInstruction computing opcodes via reflection caused by full blocks. We must use method allLiterals to include literals in blocks now. SysV is referenced only from blocks in CogX64Compiler class>>#initialize and so with full blocks SysV was being moved to Undeclared, causing invalid source generation for the X64 cogits.
* VMMaker.oscog-AlistairGrant.2465.mcz strncpy & primitiveFailForOSError
* VMMaker.oscog-akg.2466.mcz VMMaker Unicode strings
* VMMaker.oscog-eem.2467.mcz Plugins: Fix a bug in FloatArrayPlugin>>primitiveDivFloatArray; the old code a) didn't check for -0.0 and b) didn't simulate. Eliminate several unnecessary stackObjectValue:'s in Matrix2x3Plugin; isWords: checkxs for immediates anyway. Fix several comments in FloatArrayPlugin primitives.
* VMMaker.oscog-eem.2468.mcz Plugins: BalloonEngine & simulation. Clean up primitiveInitializeBuffer. Make some initial fixes to BalloonArray (the simulation of the engine's work buffer). I have other fish to fry right now but this is a stab in the right direction.
* VMMaker.oscog-eem.2469.mcz :blush:
* VMMaker.oscog-eem.2470.mcz Plugins: Fix a regression in VMMaker.oscog-eem.2467.
* VMMaker.oscog-eem.2471.mcz Simulation: Fix a regression in memcpy:_:_: in VMMaker.oscog-eem.2467. Make malloc: simuulate a la alloca:.
* VMMaker.oscog-eem.2472.mcz Simplify two uses of malloc: now that we use the right simulation form for VMClass>>malloc:.
* VMMaker.oscog-akg.2473.mcz VM simulation fixes:
* VMMaker.oscog-akg.2474.mcz VMClass>>memcpy:_:_: handle CugMethodSurrogates
* VMMaker.oscog-akg.2475.mcz Add LocalePluginSimulator
* VMMaker.oscog-eem.2476.mcz Slang: Make directory names in VMMaker work on FileSystem as well as FileDirectory; a first step to being able to generate sources on Pharo. Eliminate the obsolete machinesDirName. Remove unnecessary overrides of shouldBeTranslated (the default is ^true). Make baseTypeForType: answer e.g. 'int *' for the type 'int*', to comnform to the style I use in coerceTo:sim: and Slang type inferrence.
* VMMaker.oscog-eem.2477.mcz Plugins: Fix primDigitCompare for SmallIntegers. The old code compared the values of the receiver and argument, not their magnitudes, if both were SmallIntegers.
* VMMaker.oscog-eem.2478.mcz Fix a couple of tests
* VMMaker.oscog-eem.2479.mcz Plugins: Fix slip in primitiveDirectoryDelimitor.
* VMMaker.oscog-eem.2480.mcz Simulator: Provide simulation stubs for the B3DAcceleratorPlugin C api.
* VMMaker.oscog-eem.2481.mcz ThreadedFFIPlugin: Fix a bug passing floats on the stack on X64. The original code passed stacked floats as doubles.
* VMMaker.oscog-eem.2482.mcz Slang Fix mis-handling of trailing boolean on inlining in conditionals when trailing boolean would cause the conditional to be taken. e.g. in
* VMMaker.oscog-eem.2483.mcz Add support for a sendWheelEvents flag that persists in the image header and is settable via vmParameterAt: 48 put: ...32...
* VMMaker.oscog-eem.2484.mcz And sendWheelEvents must be global (not in VM's vars struct).
* merge vmmaker into opensmalltalk-vm
* Added baseline for loading vm maker from the github repo.mcz
-- File Changes --
A .project (3)
A smalltalksrc/.properties (3)
A smalltalksrc/Android-Base/Android.class.st (144)
A smalltalksrc/Android-Base/package.st (1)
A smalltalksrc/Balloon-Engine-Pools/BalloonEngineConstants.class.st (558)
A smalltalksrc/Balloon-Engine-Pools/package.st (1)
A smalltalksrc/BaselineOfVMMaker/BaselineOfVMMaker.class.st (62)
A smalltalksrc/BaselineOfVMMaker/package.st (1)
A smalltalksrc/BytecodeSets-NewsqueakV3/BlockLocalTempCounter.extension.st (18)
A smalltalksrc/BytecodeSets-NewsqueakV3/BytecodeEncoder.extension.st (53)
A smalltalksrc/BytecodeSets-NewsqueakV3/ClosureExtractor.extension.st (6)
A smalltalksrc/BytecodeSets-NewsqueakV3/ContextPart.extension.st (20)
A smalltalksrc/BytecodeSets-NewsqueakV3/Decompiler.extension.st (7)
A smalltalksrc/BytecodeSets-NewsqueakV3/EncoderForNewsqueakV3.class.st (33)
A smalltalksrc/BytecodeSets-NewsqueakV3/EncoderForNewsqueakV4.class.st (1263)
A smalltalksrc/BytecodeSets-NewsqueakV3/EncoderForSistaV1.class.st (1478)
A smalltalksrc/BytecodeSets-NewsqueakV3/EncoderForSistaV1.extension.st (11)
A smalltalksrc/BytecodeSets-NewsqueakV3/EncoderForV3.extension.st (9)
A smalltalksrc/BytecodeSets-NewsqueakV3/FullBlockClosure.class.st (241)
A smalltalksrc/BytecodeSets-NewsqueakV3/InstructionClient.extension.st (57)
A smalltalksrc/BytecodeSets-NewsqueakV3/InstructionPrinter.extension.st (106)
A smalltalksrc/BytecodeSets-NewsqueakV3/InstructionStream.extension.st (727)
A smalltalksrc/BytecodeSets-NewsqueakV3/MethodContext.extension.st (9)
A smalltalksrc/BytecodeSets-NewsqueakV3/MethodNode.extension.st (6)
A smalltalksrc/BytecodeSets-NewsqueakV3/StackDepthFinder.extension.st (6)
A smalltalksrc/BytecodeSets-NewsqueakV3/package.st (1)
A smalltalksrc/BytecodeSets-NewsqueakV4/BlockLocalTempCounter.extension.st (18)
A smalltalksrc/BytecodeSets-NewsqueakV4/BytecodeEncoder.extension.st (61)
A smalltalksrc/BytecodeSets-NewsqueakV4/ClosureExtractor.extension.st (6)
A smalltalksrc/BytecodeSets-NewsqueakV4/ContextPart.extension.st (20)
A smalltalksrc/BytecodeSets-NewsqueakV4/Decompiler.extension.st (7)
A smalltalksrc/BytecodeSets-NewsqueakV4/EncoderForNewsqueakV4.class.st (1288)
A smalltalksrc/BytecodeSets-NewsqueakV4/EncoderForSistaV1.class.st (1530)
A smalltalksrc/BytecodeSets-NewsqueakV4/EncoderForV3.extension.st (9)
A smalltalksrc/BytecodeSets-NewsqueakV4/FullBlockClosure.class.st (241)
A smalltalksrc/BytecodeSets-NewsqueakV4/InstructionClient.extension.st (48)
A smalltalksrc/BytecodeSets-NewsqueakV4/InstructionPrinter.extension.st (110)
A smalltalksrc/BytecodeSets-NewsqueakV4/InstructionStream.extension.st (443)
A smalltalksrc/BytecodeSets-NewsqueakV4/MethodContext.extension.st (9)
A smalltalksrc/BytecodeSets-NewsqueakV4/MethodNode.extension.st (6)
A smalltalksrc/BytecodeSets-NewsqueakV4/StackDepthFinder.extension.st (7)
A smalltalksrc/BytecodeSets-NewsqueakV4/package.st (1)
A smalltalksrc/CMakeVMMaker-Android/CMCairo.class.st (133)
A smalltalksrc/CMakeVMMaker-Android/CMCairoBundle.class.st (29)
A smalltalksrc/CMakeVMMaker-Android/CMFreetype2.class.st (124)
A smalltalksrc/CMakeVMMaker-Android/CMIOSFreetype2.class.st (66)
A smalltalksrc/CMakeVMMaker-Android/CMLibPng.class.st (109)
A smalltalksrc/CMakeVMMaker-Android/CMOSXFreetype2.class.st (18)
A smalltalksrc/CMakeVMMaker-Android/CMOpenSSL.class.st (10)
A smalltalksrc/CMakeVMMaker-Android/CMPixman.class.st (108)
A smalltalksrc/CMakeVMMaker-Android/CMPkgConfig.class.st (83)
A smalltalksrc/CMakeVMMaker-Android/CMThirdpartyLibrary.class.st (327)
A smalltalksrc/CMakeVMMaker-Android/CMWin32Cairo.class.st (53)
A smalltalksrc/CMakeVMMaker-Android/CMWin32Freetype2.class.st (94)
A smalltalksrc/CMakeVMMaker-Android/CMWin32LibPng.class.st (67)
A smalltalksrc/CMakeVMMaker-Android/CMWin32OpenSSL.class.st (113)
A smalltalksrc/CMakeVMMaker-Android/CMWin32Pixman.class.st (45)
A smalltalksrc/CMakeVMMaker-Android/CMWin32PkgConfig.class.st (67)
A smalltalksrc/CMakeVMMaker-Android/CMWin32ZLib.class.st (96)
A smalltalksrc/CMakeVMMaker-Android/CMakeAndroidGenerator.class.st (151)
A smalltalksrc/CMakeVMMaker-Android/CMakeAndroidPluginGenerator.class.st (172)
A smalltalksrc/CMakeVMMaker-Android/CMakeGenScripts.class.st (249)
A smalltalksrc/CMakeVMMaker-Android/CMakeGenerator.class.st (253)
A smalltalksrc/CMakeVMMaker-Android/CMakePluginGenerator.class.st (196)
A smalltalksrc/CMakeVMMaker-Android/CMakeVMGenerator.class.st (376)
A smalltalksrc/CMakeVMMaker-Android/CPlatformConfig.class.st (971)
A smalltalksrc/CMakeVMMaker-Android/CocoaIOSConfig.class.st (1145)
A smalltalksrc/CMakeVMMaker-Android/CogCocoaIOSConfig.class.st (66)
A smalltalksrc/CMakeVMMaker-Android/CogFamilyCocoaIOSConfig.class.st (360)
A smalltalksrc/CMakeVMMaker-Android/CogFamilyUnixConfig.class.st (397)
A smalltalksrc/CMakeVMMaker-Android/CogFamilyWindowsConfig.class.st (378)
A smalltalksrc/CMakeVMMaker-Android/CogFreeBSDConfig.class.st (301)
A smalltalksrc/CMakeVMMaker-Android/CogMTCocoaIOSConfig.class.st (43)
A smalltalksrc/CMakeVMMaker-Android/CogMTCocoaIOSDebugConfig.class.st (22)
A smalltalksrc/CMakeVMMaker-Android/CogMTFreeBSDConfig.class.st (63)
A smalltalksrc/CMakeVMMaker-Android/CogMTMacOSConfig.class.st (60)
A smalltalksrc/CMakeVMMaker-Android/CogMTUnixConfig.class.st (63)
A smalltalksrc/CMakeVMMaker-Android/CogMTWindowsConfig.class.st (54)
A smalltalksrc/CMakeVMMaker-Android/CogMacOSConfig.class.st (911)
A smalltalksrc/CMakeVMMaker-Android/CogMacOSDebugConfig.class.st (17)
A smalltalksrc/CMakeVMMaker-Android/CogOnDebian64Config.class.st (31)
A smalltalksrc/CMakeVMMaker-Android/CogUnixConfig.class.st (378)
A smalltalksrc/CMakeVMMaker-Android/CogUnixDebugConfig.class.st (18)
A smalltalksrc/CMakeVMMaker-Android/CogUnixNoGLConfig.class.st (201)
A smalltalksrc/CMakeVMMaker-Android/CogWindowsConfig.class.st (229)
A smalltalksrc/CMakeVMMaker-Android/CogWindowsDebugConfig.class.st (20)
A smalltalksrc/CMakeVMMaker-Android/InterpreterPlugin.extension.st (22)
A smalltalksrc/CMakeVMMaker-Android/MacOSConfig.class.st (415)
A smalltalksrc/CMakeVMMaker-Android/StackCocoaIOSARMConfig.class.st (399)
A smalltalksrc/CMakeVMMaker-Android/StackCocoaIOSCLANGConfig.class.st (28)
A smalltalksrc/CMakeVMMaker-Android/StackCocoaIOSConfig.class.st (58)
A smalltalksrc/CMakeVMMaker-Android/StackEvtAndroidConfig.class.st (416)
A smalltalksrc/CMakeVMMaker-Android/StackEvtUnixConfig.class.st (71)
A smalltalksrc/CMakeVMMaker-Android/StackEvtUnixDebugConfig.class.st (11)
A smalltalksrc/CMakeVMMaker-Android/StackFreeBSDConfig.class.st (31)
A smalltalksrc/CMakeVMMaker-Android/StackIPhoneConfig.class.st (674)
A smalltalksrc/CMakeVMMaker-Android/StackMacOSConfig.class.st (39)
A smalltalksrc/CMakeVMMaker-Android/StackMacOSDebugConfig.class.st (17)
A smalltalksrc/CMakeVMMaker-Android/StackSimulatorConfig.class.st (32)
A smalltalksrc/CMakeVMMaker-Android/StackUnixConfig.class.st (40)
A smalltalksrc/CMakeVMMaker-Android/StackUnixDebugConfig.class.st (18)
A smalltalksrc/CMakeVMMaker-Android/StackUnixDebugFixedVerSIConfig.class.st (38)
A smalltalksrc/CMakeVMMaker-Android/StackWindowsConfig.class.st (37)
A smalltalksrc/CMakeVMMaker-Android/String.extension.st (29)
A smalltalksrc/CMakeVMMaker-Android/package.st (1)
A smalltalksrc/CMakeVMMaker/CMCairo.class.st (133)
A smalltalksrc/CMakeVMMaker/CMCairoBundle.class.st (29)
A smalltalksrc/CMakeVMMaker/CMFreetype2.class.st (0)
A smalltalksrc/CMakeVMMaker/CMIOSFreetype2.class.st (0)
A smalltalksrc/CMakeVMMaker/CMLibPng.class.st (0)
A smalltalksrc/CMakeVMMaker/CMOSXFreetype2.class.st (0)
A smalltalksrc/CMakeVMMaker/CMOpenSSL.class.st (0)
A smalltalksrc/CMakeVMMaker/CMPixman.class.st (0)
A smalltalksrc/CMakeVMMaker/CMPkgConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CMThirdpartyLibrary.class.st (0)
A smalltalksrc/CMakeVMMaker/CMWin32Cairo.class.st (0)
A smalltalksrc/CMakeVMMaker/CMWin32Freetype2.class.st (0)
A smalltalksrc/CMakeVMMaker/CMWin32LibPng.class.st (0)
A smalltalksrc/CMakeVMMaker/CMWin32OpenSSL.class.st (0)
A smalltalksrc/CMakeVMMaker/CMWin32Pixman.class.st (0)
A smalltalksrc/CMakeVMMaker/CMWin32PkgConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CMWin32ZLib.class.st (0)
A smalltalksrc/CMakeVMMaker/CMakeAndroidGenerator.class.st (0)
A smalltalksrc/CMakeVMMaker/CMakeAndroidPluginGenerator.class.st (0)
A smalltalksrc/CMakeVMMaker/CMakeGenScripts.class.st (0)
A smalltalksrc/CMakeVMMaker/CMakeGenerator.class.st (0)
A smalltalksrc/CMakeVMMaker/CMakePluginGenerator.class.st (0)
A smalltalksrc/CMakeVMMaker/CMakeVMGenerator.class.st (0)
A smalltalksrc/CMakeVMMaker/CPlatformConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CocoaIOSConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogCocoaIOSConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogFamilyCocoaIOSConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogFamilyUnixConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogFamilyWindowsConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogFreeBSDConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogMTBuilder.class.st (0)
A smalltalksrc/CMakeVMMaker/CogMTCocoaIOSConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogMTFreeBSDConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogMTMacOSConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogMTUnixConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogMTWindowsConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogMacOSConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogMacOSDebugConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogOnDebian64Config.class.st (0)
A smalltalksrc/CMakeVMMaker/CogUnixConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogUnixDebugConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogUnixNoGLConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogWindowsConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/CogWindowsDebugConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/InterpreterPlugin.extension.st (0)
A smalltalksrc/CMakeVMMaker/MacOSConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackCocoaIOSCLANGConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackCocoaIOSConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackCrossRaspbianConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackCrossRaspbianFastBltConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackEvtAndroidConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackEvtUnixConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackEvtUnixDebugConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackFreeBSDConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackIPhoneConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackMacOSConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackMacOSDebugConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackRaspbianConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackRaspbianFastBltConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackSimulatorConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackUnixConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackUnixDebugConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackUnixDebugFixedVerSIConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/StackWindowsConfig.class.st (0)
A smalltalksrc/CMakeVMMaker/package.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeAddCompileOptions.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeAddCustomCommandOutput.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeAddDefinitions.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeAddExecutableNameOptionSource.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeAddLibrary.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeAddSubDirectory.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeAppendConfigHIn.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeAppendConfigStatus.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeCheckAlloca.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeCheckFunctionAtExitOnExit.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeCheckFunctionExists.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeCheckIncludeFile.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeCheckLibDL.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeCheckLibraryExists.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeCheckStructHasMember.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeCheckTryCompileHaveLangInfoCodeset.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeCheckTryRunDoubleWordAlignmentOrder.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeCheckTypeSize.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeCheckVariableExists.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeCommand.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeCompilerIsGNUCC.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeConfigDefine.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeConfigUnDefine.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeDebug.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeDirDefs.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeFindPackage.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeFindPackageOpenGL.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeGeneratorForSqueak.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeHeader.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeIOSInstallCode.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeIfAddDefinitionsElseAddDefinitions.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeIfDefinedConfigDefine.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeIfNotFlagSetConfigDefine.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeIfNotSetConfigDefine.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeIfPluginDependencies.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeInclude.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeIncludeDirectories.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeLinkDirectories.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeListAppend.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeMessage.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeMinimumRequired.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakePluginExternal.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakePluginGeneratorForSqueak.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakePluginInternal.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakePluginVm.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeProject.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeSet.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeSetConfigDefine.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeSetProperty.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeSetSourceFilesProperties.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeSetTargetProperties.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeSqConfigH.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeTargetLinkLibraries.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeTemplate.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeTestBigEndian.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMDisplayCustom.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMDisplayFbdev.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMDisplayNull.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMDisplayQuartz.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMDisplayX11.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMGeneratorForSqueak.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakBuildersHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakBuildersTest.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakCMakeTemplatesTest.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakCommonConfigTest.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakConfigurationsHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakDesignPatternsHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakDeveloperHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakDistroGeneratorHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakGeneratorsHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakHistoryHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakHistoryIanPiumartaHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakHistoryIgorStasenkoHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakMacintoshConfigTest.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakOverviewHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakPluginGeneratorHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakRedirectMethodsTest.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakRedirectMethodsWithArgTest.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakStartHereHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakTemplatesHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakTutorialEndUserHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakTutorialNewBuilderHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakTutorialNewConfigurationHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakTutorialsHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakUnixConfigTest.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakVMGeneratorHelp.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMMakerSqueakWindowsConfigTest.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMPlugin.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundALSA.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundCustom.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundMacOSX.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundNAS.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundNull.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundOSS.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundPulse.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMSoundSun.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVMakerConfigurationInfo.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CMakeVersion.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/CPlatformConfigForSqueak.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/InterpreterPlugin.extension.st (0)
A smalltalksrc/CMakeVMMakerSqueak/Linux32ARMv6Config.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/Linux32x86Config.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/Linux32x86SqueakCogV3Config.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/Linux64x64Config.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/Linux64x64SqueakCogSpurConfig.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/Linux64x86w32BitConfigUsrLib.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/Linux64x86w32BitConfigUsrLib32.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/Linux64x86w32BitSqueakCogSpurConfig.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/Linux64x86w32BitSqueakCogV3Config.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakBSD32x86Builder.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakBSD32x86Config.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakCMakeSourceDistroBuilder.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakCMakeVMMakerAbstractBuilder.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakIA32BochsBuilder.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakIA32BochsConfig.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakIA32BochsLinuxConfig.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakIA32BochsMacOSConfig.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakIA32BochsMacOSXConfig.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakIA32BochsWin32Config.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakIOSBuilder.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakIOSConfig.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakLinux32ARMv6Builder.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakLinux32x86Builder.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakLinux64x64Builder.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakLinux64x86w32CompatBuilder.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakMacOSPowerPCBuilder.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakMacOSX32x86Builder.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakMacOSX32x86Config.class.st (0)
A smalltalksrc/CMakeVMMakerSqueak/SqueakMacOSXPowerPCConfig.class.st (0)
-- Patch Links --
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/309.patchhttps://github.com/OpenSmalltalk/opensmalltalk-vm/pull/309.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/309
Hi All,
It's that time again. Time to raise your voices and elect your leaders! Can
you believe it's been a year already?
It's a time for you to stand up, help your community and volunteer to serve!
Squeak wants you!
Every year we elect the SOB (Squeak Oversight Board) consisting of seven
members from our community. The current board members are:
1. Bert Freudenberg
2. Eliot Miranda
3. Tim Rowledge
4. David T. Lewis
5. Marcel Taeumel
6. Craig Latta
7. Nicolas Cellier
For more info on the board please see:
https://squeakboard.wordpress.com/our-mission/
Everything about the election, including schedule and more, can be tracked
here:
http://wiki.squeak.org/squeak/6612
Now until Monday 21nd of January 3 PM (20.00 UTC): Nominations of SOB
members and campaigning!
Candidates should nominate themselves and start their campaign on the
squeak-dev mailing list. Or if you nominate someone else, make sure that
person really wants to run. :) I will not put anyone on the candidate list
until that person makes it known on squeak-dev that he/she intends to run.
During this period, the candidates should ideally present themselves on
squeak-dev, unless they have already done so, and the community can ask
questions.
I encourage you to reach out to potential candidates, people that are
active in the community and represent your views, and ask them to run. Some
people will not run without encouragement. Also, I know that some people
wait to the last minute to run for the board to see if others will run but
please consider getting this year off to a faster start and just jump right
in!
Schedule:
Now until Monday 21nd of January 3 PM (20.00 UTC): Nominations of SOB
members and campaigning!
Monday 21nd of January 2019 3 PM (20.00 UTC): Candidate list is finalized.
Monday 21nd of January 2019 4 PM (21.00 UTC): Online election starts.
Tuesday 5th of February 2019 4 PM (23.00 UTC): Online election ends.
Results will be announced immediately when the election ends.
The voting period is two week long and ballots are sent out via email.
And how do you end up on the voter list? See below. :)
IMPORTANT: New voters will NOT be added once the election is started. You
MUST try to get on the voter list before the 21st of January 2019 or you
will NOT be able to vote. If your Email has changed please try to make sure
it is changed on the list of voters before the election starts.
--------------------------
If you were invited to vote last year you are already on the voter list, no
worries! If you are a new Squeaker and wish to vote you should do ONE of
the following:
* Get a "known" Squeaker to vouch for you. If a known Squeaker sends
an email to voters (at) squeak.org giving me a name and email for you, then
I will add you.
* Send an email to voters at squeak.org yourself (and CC to
squeak-dev if you like) with information/arguments showing me that you are
indeed serious about voting and that you are indeed a Squeaker.
When the voting period starts all voters will receive an email with
instructions and a link to the voting website.
If there are any further questions, just reply *in this thread* and I will
closely track it - or send email to voters (at) squeak.org which points to
me.
...so let's get on with it!
All the best,
Ron Teitelbaum