Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 493d58f114a3ccaa9aee3977a16d9d004ec0a0cb
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/493d58f114a3ccaa9a…
Author: tim Rowledge <tim(a)rowledge.org>
Date: 2016-10-31 (Mon, 31 Oct 2016)
Changed paths:
M platforms/unix/plugins/UnicodePlugin/acinclude.m4
Log Message:
-----------
Update acinclude.m4
Add i386 path for glib - if anyone knows how to make it auto-handle deciding which platform and therefore which platform specific path, please improve this. Better yet, work out why the platform specific path is needed and avoid that nastiness.
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 78bc1d10d17ba0de6523e97ee4d300b7823deffa
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/78bc1d10d17ba0de65…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2016-10-31 (Mon, 31 Oct 2016)
Changed paths:
M nsspur64src/vm/cogit.h
M nsspur64src/vm/cogitX64.c
M nsspur64src/vm/cointerp.c
M nsspur64src/vm/cointerp.h
M nsspur64src/vm/gcc3x-cointerp.c
M nsspursrc/vm/cogit.h
M nsspursrc/vm/cogitARMv5.c
M nsspursrc/vm/cogitIA32.c
M nsspursrc/vm/cogitMIPSEL.c
M nsspursrc/vm/cointerp.c
M nsspursrc/vm/cointerp.h
M nsspursrc/vm/gcc3x-cointerp.c
M nsspurstack64src/vm/gcc3x-interp.c
M nsspurstack64src/vm/interp.c
M nsspurstacksrc/vm/gcc3x-interp.c
M nsspurstacksrc/vm/interp.c
M spur64src/vm/cogit.h
M spur64src/vm/cogitX64.c
M spur64src/vm/cointerp.c
M spur64src/vm/cointerp.h
M spur64src/vm/gcc3x-cointerp.c
M spursista64src/vm/cogit.h
M spursista64src/vm/cogitX64.c
M spursista64src/vm/cointerp.c
M spursista64src/vm/cointerp.h
M spursista64src/vm/gcc3x-cointerp.c
M spursistasrc/vm/cogit.h
M spursistasrc/vm/cogitARMv5.c
M spursistasrc/vm/cogitIA32.c
M spursistasrc/vm/cogitMIPSEL.c
M spursistasrc/vm/cointerp.c
M spursistasrc/vm/cointerp.h
M spursistasrc/vm/gcc3x-cointerp.c
M spursrc/vm/cogit.h
M spursrc/vm/cogitARMv5.c
M spursrc/vm/cogitIA32.c
M spursrc/vm/cogitMIPSEL.c
M spursrc/vm/cointerp.c
M spursrc/vm/cointerp.h
M spursrc/vm/gcc3x-cointerp.c
M spurstack64src/vm/gcc3x-interp.c
M spurstack64src/vm/interp.c
M spurstacksrc/vm/gcc3x-interp.c
M spurstacksrc/vm/interp.c
M src/vm/cogit.h
M src/vm/cogitARMv5.c
M src/vm/cogitIA32.c
M src/vm/cogitMIPSEL.c
M src/vm/cointerp.c
M src/vm/cointerp.h
M src/vm/cointerpmt.c
M src/vm/cointerpmt.h
M src/vm/gcc3x-cointerp.c
M src/vm/gcc3x-cointerpmt.c
M stacksrc/vm/gcc3x-interp.c
M stacksrc/vm/interp.c
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1972
Redo fixing extB sign extension in NewsqueakV4 & SistaV1 extPushIntegerBytecode
& extUnconditionalJump in interpreter and Cogit using bitShift: 8 instead of <<
8. Slang seems to generate the correct code with bitAShift:, but not with <<.
On Sun, Oct 30, 2016 at 6:37 AM, tim Rowledge <tim(a)rowledge.org> wrote:
> And now I have my ESP8266 with DHT22 temp/humidity sensor publishing ok. Arduino c++ is really quite an amazingly unpleasant language. We need Smalltalk on these things!
How small could we conceivably make the VM to fit on one of these...?
https://www.arduino.cc/en/Products/Compare
For example the Mega...
MCU: 8-bit 16 MHz AVR
EEPROM: 4kB
RAM: 8kB
FLASH: 256kB
Current vm build product sizes...
4.1M phcogspurlinuxht/lib/.../pharo
4.8M sqcogspurlinuxht/lib/.../squeak
3.9M sqstkspurlinuxht/lib/.../squeak
1.2M sqstkspurlinuxhtminimal/lib/.../
That last one built without any internal nor external plugins.
What areas might be attacked to feasibly improve on that, to the point
it can meet rising hardware specs?
The 8 bit-ness is probably a killer though (??)
Maybe it would be better to port the VM to the ESP32...
MCU: 32-bit 240 Mhz Tensilica Xtensa LX6
ROM: 448 KBytes for booting and core functions
RAM: 520 KBytes
FLASH: 4MB (per retail boards - 4 x 16 MBytes supported)
https://www.sparkfun.com/products/13907https://www.adafruit.com/products/3269https://cdn-shop.adafruit.com/product-files/3269/esp32_datasheet_en_0.pdf
Those specs look like they are getting close enough to consider possibility.
How small might an extremely minimal image be that just toggles an LED?
Hmmm.... I wonder where we might find someone both familiar with the
MCU and positively inclined to Smalltalk?
https://en.wikipedia.org/wiki/Tensilica
Some general ESP32 info...
http://hackaday.com/2016/10/04/how-to-get-started-with-the-esp32/http://hackaday.com/2016/09/15/esp32-hands-on-awesome-promise/http://esp32.net/
cheers -ben
[1]