pharo.org
Pharo - Documentation
http://pharo.org/documentation
Pointers to reference books, online doc and screencasts. The dedicated Pharo Books website. References the published and in-progress books about Pharo. Contains more than 60 lecture videos and 30 videos explaining the environment. It includes exercises, miniprojects, challenges and quiz. Worth 180 KEuros to produce it. Ready and free for teachers. A non-exhaustive list of available projects for use with Pharo. Http:/ catalog.pharo.org. Search through SmalltalkHub Projects. Use the Syntax Cheat Sheet.
clementbera.wordpress.com
Context and BlockClosure implementation | Clément Béra
https://clementbera.wordpress.com/2015/01/21/context-and-blockclosure-implementation
Smalltalk, Tips 'n Tricks. Context and BlockClosure implementation. Posted by Clement Bera. Asymp; 1 Comment. Today I’m going to discuss about the internal representation and the implementation of Contexts and BlockClosures running on top of the Cog VM (that includes Pharo, Squeak, NewSpeak contexts and closures). First things first, what is a Context and what is a BlockClosure? Is a reference to a function together with an environment. A BlockClosure is interesting because in addition to a method, i...
clementbera.wordpress.com
The Sista chronicles I: An introduction to adaptive recompilation | Clément Béra
https://clementbera.wordpress.com/2014/01/09/the-sista-chronicles-i-an-introduction-to-adaptive-recompilation
Smalltalk, Tips 'n Tricks. The Sista chronicles I: An introduction to adaptive recompilation. Posted by Clement Bera. Asymp; 17 Comments. This article is out-of-date! Please look at this article. Or articles written after June 2016. As I said in my previous post, aside from my main work on a smalltalk research virtual machine, I decided 3 months ago to allocate 1/5th of my time to work on the Cog VM. After a discussion with its core designer and developer, Eliot Miranda. What is an adaptive recompiler?
clementbera.wordpress.com
Squeak / Pharo VM documentation links | Clément Béra
https://clementbera.wordpress.com/2014/06/02/squeak-pharo-vm-documentation-links
Smalltalk, Tips 'n Tricks. Squeak / Pharo VM documentation links. Posted by Clement Bera. Asymp; Leave a comment. A few days ago Dave T. Lewis sent a mail on the VM mailing list giving pointers on documentation about the VM. I decided to write down in this post links to all the documentation I am aware of about it. If you know some missing references, tell me, I will be happy to add them in this post. The “Back to the Future” paper by Dan Ingalls et al. The VMMaker page on the swiki by Tim Rowledge.
clementbera.wordpress.com
Arithmetic, inlined and special selectors | Clément Béra
https://clementbera.wordpress.com/2014/08/12/arithmetic-inlined-and-special-selectors
Smalltalk, Tips 'n Tricks. Arithmetic, inlined and special selectors. Posted by Clement Bera. Asymp; Leave a comment. Today we are going to discuss how message sends are dispatched in the VM and/or compiled in the image for arithmetics, inlined and special selectors. The “myth”. In Pharo, everything is an object (even integers, compiled methods or stack activations) and objects can communicate with each other only by sending messages. However, performance should be decent in any cases, including:. In the...
clementbera.wordpress.com
The Sista chronicles VII: inlining strategies | Clément Béra
https://clementbera.wordpress.com/2014/05/19/the-sista-chronicles-vii-inlining-strategies
Smalltalk, Tips 'n Tricks. The Sista chronicles VII: inlining strategies. Posted by Clement Bera. Asymp; Leave a comment. This article is out-of-date! Please look at this article. Or articles written after June 2016. Introduction to the problem. For the optimizer, there’s 2 main hooks from the VM:. When the JIT has detected a hotspot, it sends the message #conditionalCounterTrippedOn: on the active context. Which should trigger then the in-image optimizer). Hook 2: the sista primitive. In our case, the h...
clementbera.wordpress.com
The Sista chronicles V: First optimized method running | Clément Béra
https://clementbera.wordpress.com/2014/04/18/the-sista-chronicles-v-first-optimized-method-running
Smalltalk, Tips 'n Tricks. The Sista chronicles V: First optimized method running. Posted by Clement Bera. Asymp; 2 Comments. This article is out-of-date! Please look at this article. Or articles written after June 2016. For the last 3 weeks, I have been in San Francisco to work on Sista. 2750/5350 cases) send data information forbidding inlining (Right now the optimization is cancelled if some critical sends are not inlined):. 950 megamorphic inline cache on the inlining path. Interestingly, some non lo...
clementbera.wordpress.com
The Sista chronicles VI: inlining non local returns | Clément Béra
https://clementbera.wordpress.com/2014/05/12/the-sista-chronicles-vi-inlining-non-local-returns
Smalltalk, Tips 'n Tricks. The Sista chronicles VI: inlining non local returns. Posted by Clement Bera. Asymp; 2 Comments. This article is out-of-date! Please look at this article. Or articles written after June 2016. In my last post about inlining. I described how to maintain the SSA property while inlining in the intermediate representation by adding a phi node at each return point and how to maintain and simplify the control flow graph by showing some inlining examples. Let’s do it example-driven.
clementbera.wordpress.com
Testing unsafe operations | Clément Béra
https://clementbera.wordpress.com/2015/03/03/testing-unsafe-operations
Smalltalk, Tips 'n Tricks. Posted by Clement Bera. Asymp; 3 Comments. For the runtime optimizer ( Sista. I am working on, Eliot Miranda. And I added new operations (we call them. In Cog’s interpreter and JIT compiler. Before testing them directly by running the optimizer and looking for crashes, I wrote tests to check that each unsafe operation works as expected. I’d like to discuss a bit the design of those tests in this post. Let's discuss how many possible branches there are when executing the co...
SOCIAL ENGAGEMENT