Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 1 participants
- 144619 messages
Re: [Pharo-dev] [Request]: Feed MetaRepoForXyz Configs Back to Projects
by Thierry Goubier
2015-05-11 12:15 GMT+02:00 stepharo <stepharo(a)free.fr>:
> Yes this is important we should think modularly.
>
This is one of my issues when dealing with configurations: the need to copy
them in many different places (the MetaRepo for each supported pharo
version, the Smalltalkhub repo for the project, github, etc....).
Now, I write a configuration once and for all, and that configuration
delegates to baselines which are hosted in branch or version specific
repositories (one repo if github, multiple repositories if smalltalkhub).
Metacello/Git inspired workflow ;)
Thierry
>
>
> Le 10/5/15 18:45, Sean P. DeNigris a écrit :
>
> For example, Soup's config was updated to declare a stable version for
>> 4.0.
>> It was committed to MetaRepoForPharo40, but not to PharoExtras/Soup. It
>> was
>> confusing that loading from the config browser worked, but loading via
>> another config as a dependent project did not (since we use the canonical
>> repo in that use case).
>>
>> Specifically, I am asking that if we update a config, and it's not Pharo
>> xyz-specific (i.e. may break other platforms), that we commit back to the
>> canonical repo or notify the maintainer if we don't have repo access. This
>> policy would obviously be especially easy for any project owned by the
>> Pharo
>> team.
>>
>> Thanks :)
>>
>>
>>
>> -----
>> Cheers,
>> Sean
>> --
>> View this message in context:
>> http://forum.world.st/Request-Feed-MetaRepoForXyz-Configs-Back-to-Projects-…
>> Sent from the Pharo Smalltalk Developers mailing list archive at
>> Nabble.com.
>>
>>
>>
>
>
May 11, 2015
Re: [Pharo-dev] Transcript needs your love
by Nicolai Hess
About the GTools, I am sure you know it but, you can disable them and work
with the good old Workspace and (Eye-)Inspector.
BTW, how do Traits depend on the bytecode set?
2015-05-10 16:43 GMT+02:00 Clément Bera <bera.clement(a)gmail.com>:
>
>
> 2015-05-10 10:37 GMT+02:00 Esteban Lorenzano <estebanlm(a)gmail.com>:
>
>>
>> On 10 May 2015, at 10:28, Clément Bera <bera.clement(a)gmail.com> wrote:
>>
>>
>>
>> 2015-05-09 23:21 GMT+02:00 Tudor Girba <tudor(a)tudorgirba.com>:
>>
>>> I do not think there are many people around here that would think that
>>> it is irrelevant if the Pharo VM can be developed in Pharo or not. Of
>>> course, it is important.
>>>
>>> So, the discussion should not go to challenge this direction, but rather
>>> in you telling us the use cases that you need supported. Please note that I
>>> did not say which exact code and how it should look like. I would be
>>> interested in learning about the use cases you have. I am quite certain
>>> that there are a number of ways to support them and when we work on GT it
>>> would be useful to have your use cases on our table.
>>>
>>
>> Well I need many lines to explain each point and there are many... I can
>> talk here about a few points. Then I will deal with Esteban for most of
>> them because it is difficult to explain without an interactive discussion.
>>
>>
>> Let me explain the use cases for the Transcript for example. The issues
>> in Pharo are:
>> - The Transcript does not show the stream as it is printed.
>> - The Transcript does not inherit from Stream and thus cannot print with
>> all the methods implemented in Stream.
>> - The Transcript does not allow the user to decorate the text with bold,
>> italic or colors.
>>
>>
>> sorry⦠you can do that with squeak's transcript?
>>
>>
> Of course you can.
>
> Try short cut such as Cmd+ 6 or Cmd + 7. Else in the right click menu
> those are the first 3 entries. And you can copy the decorated text from
> Transcript to a Workspace.
>
I am not sure this was changed on purpose. (from my other posts about text
and fonts and my bug reports) I got the impression some people did changes
(for cleanup or other reasons) and
maybe don't know what they changed or didn't not find the time to finish
the cleanup:
TextMorph righclick does not work anymore.
Some text emphasis on FT fonts dont work.
Some TextMorph halos don't work anymore.
I don't think alls this was done on purpose.
For the Transcript shortcuts for example, if we change ThreadSafeTranscript
to use
PluggableTextEditorMorph
instead of
PluggableTextMorph
cmd+6/7/8/9/0 for changing emphasis/color
works again.
nicolai
>
>> *Usecase 1: Debug printing methods:* In the VM you have debug printing
>> methods, for example, to print the call stack. These methods are used from
>> the VM simulator, to output the string in the Transcript, and in gdb, to
>> ouput the string in the commandline. The commandline (FileStream stdout in
>> Pharo) and the Squeak Transcript have the same behavior. In Pharo, the
>> Transcript does not inherit from Stream so you can't use the required
>> stream methods to print the debug printing method on the Transcript. In
>> addition, some printing methods print a lot of things and it is important
>> to show the stream as it is printed.
>> For this use-case, we want to keep the smallest difference between the
>> gdb/commadline behavior and the VM simulator/Transcript behavior. If you
>> implement advanced tooling in GT, you therefore need to implement gdb
>> extensions (and lldb extensions because some of us use lldb instead of gdb)
>> and maintain them. I don't think this is a solution.
>>
>> *Usecase 2: CCode generation debugging:* The CCodeGenerator or Slang
>> translator translates Slang code into C code. Sometimes there is a bug. To
>> debug, instead of generating the faulty C method into an external C file,
>> we print only the faulty C method in the Transcript. Again, we want to keep
>> the lowest difference between the real usecase (printing on the C file) and
>> the debug usecase (printing on the Transcript). In Squeak the FileStream
>> and the Transcript are both Stream, everything works as expected. In Pharo
>> the Transcript has not the expected behavior. Again the method can be long,
>> you can have to wait several seconds, so you'd like the transcript to show
>> the stream as you print it.
>>
>> *Usecase 3: VM simulation:* Simulating the VM is quite slow, especially
>> the machine code execution simulation. During the simulation process, the
>> UI is non interactive and shows only every while what the simulator is
>> doing in the Transcript. It is important as sometimes when debugging with a
>> test at each machine code instruction it could take several hours before
>> the UI is interactive again and you want to know what is going on. I don't
>> complain that it takes several hours because the alternatives usually
>> require days of debugging and we can launch the VM simulator overnight. In
>> Pharo this does not work as expected.
>>
>> *Usecase 4: In-image machine-code compilation:* While working in the JIT
>> compiler, sometimes the machine code generated for a bytecoded method is
>> faulty. A common way of debugging it is to print the machine code
>> instructions of the machine code version of the method in the Transcript.
>> It can take a while to print, so it is important to have the Transcript
>> showing the text as it prints. Then, the easiest way of debugging is to
>> look at the machine code and understand what is wrong. For this purpose, we
>> add text decoration to color jump addresses or the instructions where the
>> instruction pointer was when the VM crashed. Then, in squeak, we can easily
>> copy the decorated text to a workspace and generate a new version of the
>> machine code method and compare. In machine code, it is very difficult to
>> do analysis to have more information than just the decompiled text. We add
>> some information while simulating because we know for example the address
>> of specific trampolines, therefore we can print the name of the trampoline
>> when we see that its address is called. Again, sometimes we also have to
>> debug in gdb. In this case, we disassemble the machine code and compare it
>> to the one from in-image compilation, so both printed strings have to be
>> similar (similar text, same chariot returns).
>>
>>
>>
>> Another example is the complexity of the Pharo tools:
>>
>> While developing the VM, I have sometimes a VM partially working or with
>> some plugins not working. In the Squeak image, I can open a workspace on
>> top of this half-working VM and run do-its to see what is working and what
>> is not. In the Pharo image, I can't do anything. You can't open the
>> workspace without opening more advanced tools. I tried to open the
>> Playground, but the first time there was a bug with Traits (Playground use
>> Traits somehow and they were not working due to the new bytecode set not
>> being finished), when that first bug was fixed I could not open it because
>> it crashed simply the VM (I believe it tried to access an external file
>> such as playground-cache). Currently, the Pharo team is trying to build a
>> set of basic tools that have few dependencies to debug a partially working
>> system (that I think you will use to debug glamour while editing it,
>> because you cannot use the glamour inspector if glamour is not working).
>> That would solve this issue.
>> But in no way this point is something that I can do alone to be able to
>> develop the VM in Pharo. This has to be a community effort. And I am saying
>> that because I can't be blamed not to work on the VM in Pharo if to do so I
>> need to spend many months changing Pharo.
>>
>>
>>
>> An example that I believe is a problem in term of the community is the
>> following:
>>
>> I added with Eliot the support for the new bytecode set. Currently, the
>> Squeak image works with the new bytecode set but not the Pharo image. This
>> is because only the Traits are broken, but this is something I could hardly
>> figure out in the Pharo image because nothing is working as the GT tools
>> use Traits. In Squeak I believe there are very few users of Traits so
>> everything worked, and the test suite can reveal that the Traits are broken
>> easily.
>>
>> Currently, the VM process to me is to first make new features work in
>> Squeak, because it is simpler, and then make it work with Pharo, which is
>> more complex. In the last section I discussed how Traits were a problem
>> while implementing the new bytecode set. So what is the long term solution
>> for this issue ?
>> - Will we have a bootstrap process that creates first a Trait-free Kernel
>> and then build the Pharo Kernel out of it ?
>> - Do we forbid people to use Traits in the Pharo Kernel and does that
>> make sense to have Traits in Pharo in this case ?
>> - If we don't do anything, maybe the Traits are only a slight difference
>> with low impact in most cases and it's fine. But maybe there are many small
>> aspects like Traits, such as the Slots the way they were used in GT
>> recently (I don't blame GT or anything, it was just using features in the
>> system that created issues for me), and maybe we reached a point where the
>> complexity between the Pharo kernel and the Squeak kernel is big enough so
>> that a VM developer will first make Squeak works when introducing new
>> features and then deals with the complexity of Pharo ?
>>
>> So, what do we do ? I don't see any simple solution for this issue. And I
>> believe there are people around that see as the only solution for this
>> issue not to have the Pharo VM development process in Pharo because they
>> will see it as a threat to what they want to do with Pharo.
>>
>>
>>
>> Best Doru !
>>
>> PS: I am still using the GTInspector with additional views on graphs
>> created with Roassal everyday and I still enjoy it.
>>
>> PS2: I am on vacation currently because I was getting crazy looking at
>> machine code all day long, so I may not answer as quick as usually during
>> the next week.
>>
>>
>>
>> Cheers,
>>> Doru
>>>
>>>
>>>
>>> On Sat, May 9, 2015 at 9:31 PM, Clément Bera <bera.clement(a)gmail.com>
>>> wrote:
>>>
>>>>
>>>>
>>>> 2015-05-09 20:25 GMT+02:00 stepharo <stepharo(a)free.fr>:
>>>>
>>>>>
>>>>>
>>>>> Le 9/5/15 20:16, Clément Bera a écrit :
>>>>>
>>>>> This whole conversation here shows very well the point that I tried to
>>>>> explain to Stef last week. I'm sorry if the mail is a bit long but I think
>>>>> this discussion has to be done.
>>>>>
>>>>> My whole Smalltalk development life, I have used Pharo and was happy
>>>>> with it. Now I am also working in Cog's JIT compiler and for this specific
>>>>> project, I am working with Squeak. I don't work with Squeak because I don't
>>>>> like Pharo, I told you before, I have worked with Pharo on all my project
>>>>> before, enjoyed it and if it was possible I would use Pharo. I work with
>>>>> Squeak because the VM development tool and development process simply does
>>>>> *not* work in Pharo. This is not only because of VM tools working with the
>>>>> old Morphic not working anymore in Pharo or details like that, it is also
>>>>> due to deeper changes in Pharo.
>>>>>
>>>>> Stef believes it is important that Pharo is able to host development
>>>>> for its own VM. Therefore, I discussed with him and Esteban about a first
>>>>> list of points that are necessary for Pharo to support its VM development
>>>>> in Pharo, which includes this Transcript behavior.
>>>>>
>>>>> As of today, and I am honest here, I believe that what is required
>>>>> for Pharo to support the development process of its VM includes points
>>>>> which goes in the opposite direction than a few points in the Pharo
>>>>> roadmap, that people in the Pharo community will see as a regression, as
>>>>> "an intrusion from the Squeak philosophy into Pharo", or as forbidding the
>>>>> integration of features that breaks the VM development process. Therefore,
>>>>> I believe the Pharo community would disapprove to make such changes and I
>>>>> highly doubt that it is possible to have the development process of the
>>>>> Pharo VM in Pharo.
>>>>>
>>>>> I was thinking that only a few points would be a problem such as the
>>>>> increasing memory footprint of the Pharo image that is going to get worse
>>>>> with the sources that will be included in the image in the future, whereas
>>>>> a VM developer needs a small image (See previous threads in this mailing
>>>>> list where Hilaire complains about that for example).
>>>>>
>>>>>
>>>>> clement can I ask a simple question?
>>>>> why did I ask guille to work on minikernels and bootstrap for his phd
>>>>> instead on a topic where we can publish?
>>>>> - choice A: lack of idea
>>>>> - choice B: ....
>>>>>
>>>>
>>>> I have already stated that you believe that it is important that Pharo
>>>> is able to host development for its own VM.
>>>>
>>>> I am not against what you did and I am very excited with Guille's work.
>>>>
>>>> Pharo is community-driven, so I am not asking the question to you only,
>>>> but to the community.
>>>>
>>>>
>>>> However, I didn't think that even simple points like the Transcript
>>>> behavior discussed here, which looks like to me as a regression and is
>>>> required for VM development, would be seen as an improvement by a non
>>>> negligible part of the community.
>>>>
>>>> In this mailing-list, the whole Pharo community is present and can
>>>> see this discussion. So the open questions are:
>>>>
>>>> *Do you want to have the development of the Pharo VM in Pharo, or do
>>>> you want the development of the Pharo VM to remain in Squeak ?*
>>>> *Do you think a system that is not good enough to handle its own VM
>>>> development is a good system ?*
>>>>
>>>> I am not willing to go against the will of the community because I
>>>> enjoy community-driven softwares. If the answer is that Pharo should be
>>>> able to support its own VM development then as I started I will help
>>>> Esteban and Stef to improve Pharo so that it can support its own VM
>>>> development. Now, if the answer is that the development of the Pharo VM
>>>> should remain in Squeak, I will continue developing the VM in Squeak.
>>>>
>>>> You are the Pharo community, you are the ones that make Pharo alive
>>>> and kicking, so you tell me what you think we should do.
>>>>
>>>> Clement
>>>>
>>>> 2015-05-09 18:23 GMT+02:00 Eliot Miranda <eliot.miranda(a)gmail.com>:
>>>>
>>>>> Hi Ben,
>>>>>
>>>>> On May 9, 2015, at 7:41 AM, Ben Coman <btc(a)openinworld.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>> On Sat, May 9, 2015 at 10:09 PM, Ben Coman <btc(a)openinworld.com>
>>>>> wrote:
>>>>>
>>>>>> From my limited experience bug hunting, calling #changed: from a
>>>>>> thread other than the UI thread is a source of evil. There are too many
>>>>>> assumptions throughout the system that the UI is single threaded. Can
>>>>>> anyone advise me that is not a proper belief?
>>>>>>
>>>>>> Then that implies that a Transcript implementation where #nextPut:
>>>>>> direct calls #changed:
>>>>>> is not appropriate for use with multi-threaded applications. In
>>>>>> Pharo, #changed: is only called from #stepGlobal, which is called from
>>>>>> doOneCycle:. (This came about as a last minute bug fix before Pharo 3
>>>>>> release and maybe could use some cleanup.
>>>>>>
>>>>>> Separating the UI from Transcript into its own viewer might be a
>>>>>> good idea, but actually it would not solve Stef's case since his code would
>>>>>> still be running in the UI thread -- unless the viewer ran in another
>>>>>> thread, which would have its own complexities.
>>>>>>
>>>>>> I think the point about efficiency is significant. The following
>>>>>> example...
>>>>>> Time millisecondsToRun: [ 1000 timesRepeat: [ Transcript show:
>>>>>> 'x' ] ]
>>>>>> on Squeak 4.5 --> 12749ms
>>>>>> on Pharo 50029 --> 2ms
>>>>>>
>>>>>
>>>>> As a point of comparison, on VW 8.0 --> 43817ms
>>>>> and so you might guess, VW 8.0 outputs each 'x' immediately.
>>>>> cheers -ben
>>>>>
>>>>>
>>>>> Way to go, Squeak! Actually this is disappointing. I'm rather
>>>>> frustrated with Squeak's slow transcript, and was hoping that VW would
>>>>> demonstrate it could be faster. Looking at the Squeak implementation I
>>>>> only see an obvious 30% or so improvement via tuning. Looks like good
>>>>> performance will take more work :-/
>>>>>
>>>>>
>>>>>
>>>>> Eliot (phone)
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Every thing has its own flow"
>>>
>>
>>
>>
>
May 11, 2015
Re: [Pharo-dev] [Request]: Feed MetaRepoForXyz Configs Back to Projects
by stepharo
Yes this is important we should think modularly.
Le 10/5/15 18:45, Sean P. DeNigris a écrit :
> For example, Soup's config was updated to declare a stable version for 4.0.
> It was committed to MetaRepoForPharo40, but not to PharoExtras/Soup. It was
> confusing that loading from the config browser worked, but loading via
> another config as a dependent project did not (since we use the canonical
> repo in that use case).
>
> Specifically, I am asking that if we update a config, and it's not Pharo
> xyz-specific (i.e. may break other platforms), that we commit back to the
> canonical repo or notify the maintainer if we don't have repo access. This
> policy would obviously be especially easy for any project owned by the Pharo
> team.
>
> Thanks :)
>
>
>
> -----
> Cheers,
> Sean
> --
> View this message in context: http://forum.world.st/Request-Feed-MetaRepoForXyz-Configs-Back-to-Projects-…
> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
>
>
May 11, 2015
[pharo-project/pharo-core] af46bf: 50042
by GitHub
Branch: refs/heads/5.0
Home: https://github.com/pharo-project/pharo-core
Commit: af46bfa669e063f6291c29a1f930f438e2a0d26c
https://github.com/pharo-project/pharo-core/commit/af46bfa669e063f6291c29a1…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2015-05-11 (Mon, 11 May 2015)
Changed paths:
M Collections-Sequenceable.package/OrderedDictionary.class/instance/printing/printElementsOn_.st
M Graphics-Primitives.package/Color.class/class/examples/wheel_.st
M Graphics-Primitives.package/Color.class/class/examples/wheel_saturation_brightness_.st
M Graphics-Primitives.package/Color.class/instance/groups of shades/darkShades_.st
M Graphics-Primitives.package/Color.class/instance/groups of shades/lightShades_.st
M Graphics-Primitives.package/Color.class/instance/groups of shades/mix_shades_.st
M Morphic-Base.package/SelectionMorph.class/instance/geometry/extent_.st
M Morphic-Widgets-Pluggable.package/PluggableTextMorphWithLimits.class/definition.st
R ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/script650.st
A ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/script651.st
R ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/update50041.st
A ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/update50042.st
M ScriptLoader50.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message:
-----------
50042
15510 Missed some part of the original 15199
https://pharo.fogbugz.com/f/cases/15510
15518 association is misspelled in OrderedDictionary>>printElementsOn:
https://pharo.fogbugz.com/f/cases/15518
15509 SelectionMorph>>extent: broken
https://pharo.fogbugz.com/f/cases/15509
15474 Some Color method comments refere to Color>>showColors:
https://pharo.fogbugz.com/f/cases/15474
http://files.pharo.org/image/50/50042.zip
May 11, 2015
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/50042
Home: https://github.com/pharo-project/pharo-core
May 11, 2015
New Cog VMs available
by Eliot Miranda
at http://www.mirandabanda.org/files/Cog/VM/VM.r3332/.
CogVM binaries as per VMMaker.oscog-eem.1298/r3332
NewspeakVM:
Thread lookup rule through from bytecodes to internalFindNewMethod:.
Fix genInnerPrimitiveMirrorNewWithArg:. Class's hash was being accessed
twice,
reusing variable holding jump instruction.
Fix primitiveClass and genPrimitiveClass for mirror case (arg count = 1).
Also
fix Newspeak primitive table to allow nargs > 0 for genPrimitiveClass.
General:
Fix a regression in externalInstVar:ofContext:. The head frame pointers
must
be written back if we're going to map a machince code pc to a bytecode pc in
case of code reclamation. Add asserts to the stack page enumerators to
check
that the head frame pointers have been written back.
Fix changeClass: for forwwarded receivers.
Use macros for the oop comparisons, avoiding cCoerce:, to get faster
simulation
and avoid the inliner not inlining in conditionals.
Spur:
Change computeRefCountToShrinkRT to
- compute the ref counts and population in a single pass over the RT
- determine the ref count for tenuring based on half the population of
remembered objects, /not/ half the size of the RT.
--
best,
Eliot
May 11, 2015
Re: [Pharo-dev] Pending OS-X Cocoa Squeak VM build
by John McIntosh
Earlier today I pushed some updates to the Cog branch to enable you to
compile the SqueakPureObjcCog found in build.macos64x64/squeak.stack.spur/
Right now it seems to be confused by "DateAndTime
milliSecondsSinceMidnight" and hangs there.
So just tap cmd-'.' to nuke the first call and show the screen.
If someone can compile it and figure out what is broken that would be
helpful. At the moment the other helper here is running a toolset a decade
old and that won't compile the source, You need a current xCode or at least
one that is 10.7 or better.
On Thu, May 7, 2015 at 11:42 AM, John McIntosh <
johnmci(a)smalltalkconsulting.com> wrote:
> Morning.
>
> I've taken some time to integrate various Pharo and Pyonkee changes into
> the Squeak OS-X and iOS cocoa source tree, along with converting the code
> base to ARC and modern Obj-C.
>
> Earlier today I ran a Squeak4.5-13680 32bit image on a 64bit client
> 3488 run, 3421 passes, 23 expected failures, 43 failures, 0 errors, 1
> unexpected passes
>
> However I need some folks to step forward and validate the results,
> document what might be broken, look for behaviour anomalies, and refine
> exactly what plugins are needed in the base system.
>
> I also need someone to try this on a 32bit host with 32bit image, and with
> a current 64bit image (which I don't have) on a 64bit host.
>
> Drop me a note and I"ll forward a link to a binary for testing.
>
> Shortly I will be integrating these changes into the Cog branch and create
> an XCode project for building a 64/64 Cog/etc VM.
>
> --
> ===========================================================================
> John M. McIntosh <johnmci(a)smalltalkconsulting.com>
> https://www.linkedin.com/in/smalltalk
> ===========================================================================
>
--
===========================================================================
John M. McIntosh <johnmci(a)smalltalkconsulting.com>
https://www.linkedin.com/in/smalltalk
===========================================================================
May 11, 2015
New Cog VMs available
by Eliot Miranda
... at http://www.mirandabanda.org/files/Cog/VM/VM.r3326.
CogVM binaries as per VMMaker.oscog-eem.1297/r3326
NewspeakVM:
Thread lookup rule through from bytecodes to internalFindNewMethod:.
Fix genInnerPrimitiveMirrorNewWithArg:. Class's hash was being accessed
twice,
reusing variable holding jump instruction.
Fix primitiveClass and genPrimitiveClass for mirror case (arg count = 1).
Also
fix Newspeak primitive table to allow nargs > 0 for genPrimitiveClass.
General:
Fix a regression in externalInstVar:ofContext:. The head frame pointers
must
be written back if we're going to map a machince code pc to a bytecode pc in
case of code reclamation. Add asserts to the stack page enumerators to
check
that the head frame pointers have been written back.
Use macros for the oop comparisons, avoiding cCoerce:, to get faster
simulation
and avoid the inliner not inlining in conditionals.
Spur:
Change computeRefCountToShrinkRT to
- compute the ref counts and population in a single pass over the RT
- determine the ref count for tenuring based on half the population of
remembered objects, /not/ half the size of the RT.
Sista:
Remove the storeCheck in inlined pointer at:put: if the value stored is an
unannotatable constant.
Increased the opcode size heuristic in the SistaCogit.
--
best,
Eliot
May 10, 2015
Re: [Pharo-dev] [Moose-dev] Re: GanttChartMorph openOn: aCollectionOfActivities ?
by Alexandre Bergel
You should load the latest Roassal.
Alexandre
> Le 9 mai 2015 à 19:06, H. Hirzel <hannes.hirzel(a)gmail.com> a écrit :
>
> Thank you for the examples, Alexandre!
>
> I have Pharo 4.0 with Roassal 2.0 installed (AlexandreBergel.718)
>
> I paste the following into a 'Playground' window and 'do it'.
>
> b := RTTimeLine new.
>
> b addEntry: (RTTimeLineEntry new identifier: #WP1; start: 0; end: 5).
> b addEntry: (RTTimeLineEntry new identifier: #WP2; start: 5; end: 8).
> b addEntry: (RTTimeLineEntry new identifier: #WP3; start: 7; end: 10).
>
> b axisX numberOfLabels: 5.
> b
>
> I get the error message that RTTimeLine is not known.
>
> What am I missing?
>
> --Hannes
>
>
>> On 5/8/15, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
>> Hi Hannes!
>>
>> Here is a first shoot paired-programmed with Juraj using Roassal:
>>
>> -=-=-=-=-=-=-=-=-=-=-=-=
>> b := RTTimeLine new.
>>
>> b addEntry: (RTTimeLineEntry new identifier: #WP1; start: 0; end: 5).
>> b addEntry: (RTTimeLineEntry new identifier: #WP2; start: 5; end: 8).
>> b addEntry: (RTTimeLineEntry new identifier: #WP3; start: 7; end: 10).
>>
>> b axisX numberOfLabels: 5.
>> b
>> -=-=-=-=-=-=-=-=-=-=-=-=
>>
>>
>>
>> Here some slightly more elaborated example:
>>
>> -=-=-=-=-=-=-=-=-=-=-=-=
>> âOne color per entry"
>> | b d |
>> b := RTTimeLine new.
>> b addEntry: (RTTimeLineEntry new identifier: #c1; start: 0; end: 5).
>> b addEntry: (RTTimeLineEntry new identifier: #c1; start: 6; end: 8).
>>
>> b addEntry: (RTTimeLineEntry new identifier: #c2; start: 0; end: 5).
>> b addEntry: (RTTimeLineEntry new identifier: #c2; start: 8; end: 10).
>>
>> b addEntry: (RTTimeLineEntry new identifier: #c3; start: 0; end: 10).
>>
>> b addEntry: (RTTimeLineEntry new identifier: #c4; start: 5; end: 10).
>>
>> b addEntry: (RTTimeLineEntry new identifier: #c5; start: 5; end: 8).
>>
>> d := RTVerticalTickLineDecorator new.
>> d shape line color: Color white.
>> b addDecorator: d.
>> b axisX
>> numberOfLabels: 5;
>> labelRotation: -45;
>> labelConversion: [ :v | Date year: 2015 day: v ].
>>
>> b shape color: (RTMultiLinearColorForIdentity new objects: b entries).
>> b
>> -=-=-=-=-=-=-=-=-=-=-=-=
>>
>>
>>
>> One color per timeline
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-=
>> | b |
>> b := RTTimeLine new.
>> b addEntry: (RTTimeLineEntry new identifier: #c1; start: 0; end: 5).
>> b addEntry: (RTTimeLineEntry new identifier: #c1; start: 6; end: 8).
>>
>> b addEntry: (RTTimeLineEntry new identifier: #c2; start: 0; end: 5).
>> b addEntry: (RTTimeLineEntry new identifier: #c2; start: 8; end: 10).
>>
>> b addEntry: (RTTimeLineEntry new identifier: #c3; start: 0; end: 10).
>>
>> b addEntry: (RTTimeLineEntry new identifier: #c4; start: 5; end: 10).
>>
>> b addEntry: (RTTimeLineEntry new identifier: #c5; start: 5; end: 8).
>>
>> d := RTVerticalTickLineDecorator new.
>> d shape line color: Color white.
>> b addDecorator: d.
>> b axisX
>> numberOfLabels: 5;
>> labelRotation: -45;
>> labelConversion: [ :v | Date year: 2015 day: v ].
>>
>> b shape color: (RTMultiLinearColorForIdentity new command: #identifier;
>> objects: #(c1 c2 c3 c4 c5)).
>> b
>> -=-=-=-=-=-=-=-=-=-=-=-=
>>
>>
>> Age of some classes:
>> -=-=-=-=-=-=-=-=-=-=-=-=
>> | b |
>> b := RTTimeLine new.
>> b extent: 500 @ 500.
>> ((RTShape withAllSubclasses sortedAs: #ageInDaysRounded) select:
>> #hasMethods)
>> do: [ :cls |
>> e := RTTimeLineEntry new.
>> e identifier: cls.
>> e start: cls computeYoungestMethod ageInDays.
>> e end: cls computeOldestMethod ageInDays.
>> b addEntry: e ].
>> b
>> -=-=-=-=-=-=-=-=-=-=-=-=
>>
>>
>>
>> All these examples are in the Roassal time line example menu.
>>
>> This is still an early version. Let us know how it goes!
>> https://www.facebook.com/ObjectProfile/posts/840542572699008
>>
>> Cheers,
>> Alexandre
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>> On May 7, 2015, at 4:25 PM, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
>>>
>>> Hello
>>>
>>> Has somebody done a GANTT chart?
>>>
>>> GanttChartMorph openOn: aCollectionOfActivities
>>>
>>> ?
>>>
>>> Activities have
>>> - id
>>> - description
>>> - start date
>>> - end date
>>> ?
>>>
>>> Regards
>>>
>>> Hannes
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
May 10, 2015
Re: [Pharo-dev] Error on loading GToolkit configuration
by Nicolai Hess
Thank you!
2015-05-10 12:44 GMT+02:00 Andrei Chis <chisvasileandrei(a)gmail.com>:
> Made a small mistake in the configuration.
> Should work now.
>
> Cheers,
> Andrei
>
> On Sun, May 10, 2015 at 11:50 AM, Nicolai Hess <nicolaihess(a)web.de> wrote:
>
>>
>> 15470 <https://pharo.fogbugz.com/default.asp?15470>
>> Replace Announcer>>#on:send:to:'s senders in GTSpotter
>>
>>
>> Pharo5.0
>> Latest update: #50040
>>
>>
>> Anyone knows why this fails:
>>
>> Gofer new
>> smalltalkhubUser: 'Moose' project: 'GToolkit';
>> load;
>> configurationOf: 'GTSpotter';
>> loadVersion:'1.2.4'
>> -> Could not resolve: GT-SpotterExtensions-Core [
>> GT-SpotterExtensions-Core-AndreiChis.145]
>>
>>
>
May 10, 2015