Hi,
I am glad to announce that the Squeak Port for Android Tablets [1] has
reached its first milestone.
Work has been done towards fixing certain usability issues such as
better integration with Android Input Methods, access to local file
system, etc.
The pre-packaged Android application (apk, signed with debug key), and
zipped Image file (Image, changes, sources, demo project) are
available from the project page at Google Code.
Everyone is welcome to test the application on their Android devices.
See the TestDrive [2] Wiki page for detailed instructions. Please
report all issues to the project's issue tracker and Wiki pages.
In my case it works on Pandigital Novel 9" eReader tablet with Android
2.0, not rooted.
PS Two things are still known to be an issue:
1. Network sockets do not function properly; they were not addressed
at this time
2. Android NDK rev. 3 is still required (because of the 4.2.1
toolchain); see [3] for some information
PPS I also have been working on the presentation of this project (see
notes and slides in the wiki). If there is any interested group of
Smalltalk and/or Android users/developers in my area (South-eastern
PA, US) I'd be glad to give an actual presentation.
Thanks for any feedback.
[1] http://code.google.com/p/squeakvm-tablet/
[2] http://code.google.com/p/squeakvm-tablet/wiki/TestDrive
[3] http://squeakvm-tablet.googlecode.com/hg/project/ndk-build
--
Dimitry Golubovsky
Anywhere on the Web
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/VMMaker.oscog-eem.84.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.84
Author: eem
Time: 25 June 2011, 2:42:40 am
UUID: 65d3d0e0-a9bb-4d56-ad24-df44e8dc0e37
Ancestors: VMMaker.oscog-eem.83
Cogit/CoInterpreter:
Fix implementation of cePushImplicitReceiverFor: (support unaligned
access - but only in simulation; what about translation??).
Fix typo for fetchClass: in dynamicSuperSendBytecode
Simulator:
Provide unalignedLongAt:[put:] and a test.
Nuke couple of unsent methods.
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/VMMaker.oscog-eem.83.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.83
Author: eem
Time: 25 June 2011, 12:59:28 pm
UUID: 800edb16-ae6e-4126-a375-b7a065715af2
Ancestors: VMMaker.oscog-eem.82
Simulator:
Eliminate duplication of byteAt:[put:], shortAt:[put:], fetchFloatAt:into:
et al in simulator hierasrchy by always sending to objectMemory.
Provide disassembleCodeAt: which does trampolines and methods
Cogit:
Fix typo bug in cePushImplicitReceiverFor:
Please guys fluidify, it's too damned important.
Hilaire
Le 23/06/2011 07:50, Stéphane Ducasse a écrit :
>
> On Jun 22, 2011, at 7:07 PM, Eliot Miranda wrote:
>
>> Hi All,
>>
>> On Tue, Jun 21, 2011 at 12:29 PM, Stéphane Ducasse <stephane.ducasse(a)inria.fr> wrote:
>> what we should pay attention (to be verified) is that igor told me that he does not understand why
>> the latest code of the vm published by eliot does not include some fixes he did for 1.2. May be the code was never integrated.
>> In addition the latest vm produced by eliot does not include a long list of fixes made by igor and mariano.
>> Igor asked in the vm mailing-list what will happen to his changes and there were no reaction so far.
>>
>> I feel some ownership of the Cog branch. It would be nice to have a chance to review code before it gets in instead of having to merge. You might think of sending me changesets for the more complex sets of changes (e.g. finalization) so that the merge is easier. Finally, you might understand that I'm busy at work and for personal reasons have essentially no time at the weekends to work on Cog. Criticising me in public like this does not make me any more eager to find the time.
>
> eliot I understand that. I'm not criticizing but people should be aware that there are differences between VMs and that we can have bugs related to that.
> I think that igor should know how to play in the vm community. Just tell him that his contributions are not welcomed
> and we will think about it and do something. After we met this winter I thought it was clear you wanted to collaborate and build a community.
> I can tell you that I do not like when igor enters my office and tell me that he feels like shit because some of his changes
> from about a year ago are still not integrated.
>
> Stef
>
>
>
>
>
>>
>>
>> So we should pay attention that using the latest vm from eliot may also break our system. We should also think about the fact that
>> may be we will have to burn igor's time to merge vm fixes when other people don't do it.
>> I asked igor to continue to work on the windows build because we want to run regression tests at the VM level. We should be able to trace
>> vm changes and control the impact they have on us and not run after different versions and releases. To have a process in a sense.
>>
>> Stef
>>
>> yeah.. harmonization, it would be good, Eliot if you take a look of
>> changes made in
>> VMMaker-oscog-MarianoMartinezPeck.66
>> and integrate them, so we will use common version.
>>
>> They have a common ancestor -
>> VMMaker-oscog.54
>>
>> Without this all of the following work will be lost:
>>
>> Name: VMMaker-oscog-IgorStasenko.54
>> Author: IgorStasenko
>> Time: 23 March 2011, 5:30:42 pm
>> UUID: c98a0b6c-7f68-4af7-9012-85d3dfdf29ae
>> Ancestors: VMMaker-oscog-IgorStasenko.53
>>
>> - added disabling module loading support
>>
>>
>> Name: VMMaker-oscog.dtl.56
>> Author: dtl
>> Time: 4 April 2011, 10:06:00.292 pm
>> UUID: c1d30608-00e8-53b7-209a-34f7a46c1508
>> Ancestors: VMMaker-IgorStasenko.55
>>
>> Add tests from VMMaker trunk to document various issues and verify
>> presence of primitives.
>>
>> Name: VMMaker-oscog.dtl.57
>> Author: dtl
>> Time: 11 April 2011, 10:13:51.668 pm
>> UUID: c1d30608-04dd-53b7-209a-34f7a46c1508
>> Ancestors: VMMaker-oscog.dtl.56
>>
>> Generate C code for #repeat.
>> Implementation by Igor Stasenko and Nicolas Cellier.
>>
>> That's already integrated.
>>
>>
>> Name: VMMaker-oscog-dtl.58
>> Author: dtl
>> Time: 17 April 2011, 10:22:12.174 pm
>> UUID: c1d30608-04b3-a5b7-20ca-2bf7a46c1508
>> Ancestors: VMMaker-oscog-dtl.57, VMMaker-oscog.dtl.57
>>
>> Merge VMMaker-oscog.dtl.57
>>
>> Generate C code for #repeat.
>> Implementation by Igor Stasenko and Nicolas Cellier.
>>
>> ditto.
>>
>>
>> Name: VMMaker-oscog-dtl.59
>> Author: dtl
>> Time: 17 April 2011, 10:32:55.018 pm
>> UUID: c1d30608-042d-4bb7-20ca-2bf7a46c1508
>> Ancestors: VMMaker-oscog-dtl.58
>>
>> Merge VMMaker-oscog.dtl.58, and add #primitiveImageFormatVersion
>>
>> Since there's a VM parameter I question the need for yet-another-primitive.
>>
>>
>> Add primitiveMillisecondClockMask, an optional named primitive used in
>> conjunction with primitiveMillisecondClock for duration calculations.
>> The image assumes a value for this constant that is assumed to
>> correspond to the actual value used in the VM. This primitive permits
>> the VM to report the actual value being used.
>>
>> Already integrated.
>>
>>
>> Add primitiveImageFormatVersion, an optional named primitive answering
>> the image format number of the current image. This is the value stored
>> in the first word of an image file header when the image is saved, and
>> possibly modified on image load if the VM adds or removes capabilities
>> for the running image. This primitive was added to VMMaker trunk in
>> VMMaker-dtl.169. Rationale: supports float word order handing for
>> image segments, reference
>> http://lists.squeakfoundation.org/pipermail/vm-dev/2011-April/007712.html
>>
>> Not integrating this. The VM parameter (41) has been in Cog since the beginning. Instead why not merge the VM parameter back into Interpreter?
>>
>>
>>
>> Name: VMMaker-oscog-dtl.64
>> Author: dtl
>> Time: 21 April 2011, 8:24:32.46 pm
>> UUID: c1d30608-30ec-50b7-208a-31f7a46c1508
>> Ancestors: VMMaker-oscog-dtl.59
>>
>> Re-save from VMMaker-oscog-EstebanLorenzano.62 because
>> VMMaker-oscog-dtl.61 and VMMaker-oscog-dtl.60 were saved without
>> correct ancestry. This version incorporates the changes from
>> VMMaker-oscog-EstebanLorenzano.62, VMMaker-oscog-dtl.61, and
>> VMMaker-oscog-dtl.60.
>>
>> Name: VMMaker-oscog-EstebanLorenzano.62
>> -added ClipboardExtendedPlugin as a regular plugin (taken from the
>> InterpreterVM branch)
>> I don't know if it works right now, but at least it compiles :)
>>
>> Name: VMMaker-oscog-dtl.61
>> A second batch of updates from VMM trunk, primarily cosmetic but also
>> a class comment update and a couple of methods that had not previously
>> been pragmatized in oscog.
>>
>> Name: VMMaker-oscog-dtl.60
>> These changes are methods from the main VMM branch for which
>> <#var:#type:> declarations have been formatted with proper spacing. By
>> updating these in the oscog branch, all of these methods are identical
>> in both branches. All changes are cosmetic (no functional changes to
>> the methods).
>>
>> Name: VMMaker-oscog-MarianoMartinezPeck.65
>> Author: MarianoMartinezPeck
>> Time: 23 April 2011, 1:50:19 pm
>> UUID: 944f5c54-f2f5-4cc7-b693-b4db9320cff8
>> Ancestors: VMMaker-oscog-dtl.64
>>
>> blah
>>
>> Name: VMMaker-oscog-MarianoMartinezPeck.66
>> Author: MarianoMartinezPeck
>> Time: 23 April 2011, 2:17:26 pm
>> UUID: 97bab5b0-51d6-4deb-8b58-5bcedd4747dc
>> Ancestors: VMMaker-oscog-MarianoMartinezPeck.65
>>
>> Adapt VMMakerTool so that it doesnt try to register in the menu if
>> TheWorldMenu is not present, like the case of Pharo. This change was
>> already integrated in the main trunk of VMMaker but since Eliot forked
>> VMMaker-oscog before that, it was not there.
>>
>> It doesn't affect Squeak
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>>
>>
>> --
>> best,
>> Eliot
>>
>
>
>
--
Education 0.2 -- http://blog.ofset.org/hilaire
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/VMMaker.oscog-eem.82.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.82
Author: eem
Time: 24 June 2011, 8:30:01 am
UUID: a5c2b2b1-450c-403b-824b-e4c75907b284
Ancestors: VMMaker.oscog-eem.81
Cogit:
Implement Newspeak pushImplicitReceiver compilation.
Implement Cogit side of dynamicSuperSend:
- Make dynamicSuperSend entry-point alignment different from
send and superSend aligments.
- generate the trampolines
- fix offsetAndSendTableFor:annotation:into: for dynamicSuperSend
VM:
Fix symbolicMethod: for Newspeak bytecodes.
Slang:
Fix cppIf:ifTrue: for simulation (must return values)
Plugins:
Fix typo in FilePlugin>>fileRecordSize (slippery Slang)
Eliot Miranda uploaded a new version of VMConstruction-Plugins-OSProcessPlugin to project OSProcessPlugin:
http://www.squeaksource.com/OSProcessPlugin/VMConstruction-Plugins-OSProces…
==================== Summary ====================
Name: VMConstruction-Plugins-OSProcessPlugin.oscog-eem.30
Author: eem
Time: 24 June 2011, 6:36:45 am
UUID: 27085870-e6f2-40e5-ba9a-b8f300bed886
Ancestors: VMConstruction-Plugins-OSProcessPlugin.oscog-eem.29
Fix typo in fileRecordSize (slippery Slang)
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/VMMaker.oscog-eem.81.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.81
Author: eem
Time: 24 June 2011, 10:14:09 am
UUID: 63e1eab1-b44b-462e-ae5c-f2fc5bbcda4b
Ancestors: VMMaker.oscog-eem.80
Cogit:
Add IsNSSendCall for mapping Newspeak dynamicSuperSends.
Refactor processing sends and mapped pcs in the method map to
include IsNSSendCalls in the Newspeak VM. Use
offsetAndSendTableFor:annotation:into: to assign offset and send
table for linked sends using block for multiple return values pattern.
Slang:
Implement beta reduction for literal blocks sent value[:value:*] for
inlining offsetAndSendTableFor:annotation:into:.
Implement an asSpecified form of inlining where only methods
marked <inline: true> are inlined.
Fix expansion of cppIf: in expression contexts.
Have define nodes print their name, not their value.
Misc
comment typos and fix to class name in openCogMultiWindowBrowser
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/VMMaker.oscog-eem.80.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.80
Author: eem
Time: 22 June 2011, 5:27:55 am
UUID: 0f62b9a2-0aef-4d39-8077-32f53b6e0e39
Ancestors: VMMaker.oscog-eem.79
Initial Newspeak support in StackInterpreter.
Add support for conditional compilation so that CoInterpreter can
be generated optionally with Newspeak support. Can't do this with
inheritance, but could do it with mixins, hence for now this hack.
FooInterpreter class>initialize => FooInterpreter class>initializeWithOptions: aDictionary
and initializeMiscConstants => initializeMiscConstantsWith: optionsDictionary.
VMMaker options: pairs provides access to these options, hence e.g.
VMMaker
generate: CoInterpreter
and: StackToRegisterMappingCogit
with: #(NewspeakVM true IMMUTABILITY false)
to: ...
and
CoInterpreter initializeWithOptions: (Dictionary newFromPairs: #(NewspeakVM true)).
CogVMSimulator new openAsMorph; run
Use e.g. self cppIf: NewspeakVM if... and self cppIf: COGMTVM if... as appropriate.
Add Newspeak bytecodes to StackInterpreter.
Refactor FilePlugin simulation into FilePlugin to eliminate duplication of
code in various interpreter simulator subclasses.
Provide strncpy strcpy and strcmp implementations in VMClass for simulation.
Eliot Miranda uploaded a new version of VMConstruction-Plugins-OSProcessPlugin to project OSProcessPlugin:
http://www.squeaksource.com/OSProcessPlugin/VMConstruction-Plugins-OSProces…
==================== Summary ====================
Name: VMConstruction-Plugins-OSProcessPlugin.oscog-eem.29
Author: eem
Time: 22 June 2011, 5:16:15 am
UUID: 7149903b-f5c5-4b9f-8d5c-f4b6a32f708a
Ancestors: VMConstruction-Plugins-OSProcessPlugin-eem.28
Fork cuz a) this needs checking-in and b) there are Cog specifics
(i.e. Cog has the printAllStacks on signal code in the base VM).
Merge with VMConstruction-Plugins-OSProcessPlugin-dtl.27, in
particular adopt David's time stamps for unchanged methods, add
dup2 prim, remove Aio prims, and use Igor's use interpreterProxy fixes.
Change simulation, especially of files, to match VMMaker.oscog-eem.80.