[squeak-dev] Re: [Vm-dev] [ANN] ARM Stack VMs available

tim Rowledge tim at rowledge.org
Fri Dec 5 18:43:34 UTC 2014


On 05-12-2014, at 10:19 AM, J. Vuletich (mail lists) <juanlists at jvuletich.org> wrote:

> But this means that understanding the problems Ken and Tim found on the PI is not that easy, because in other platforms the problem don't occur, even with olders VMs and (I guess) on slower machines.

We can’t say that with any certainty. This has happened once, possibly twice, on a Pi running a new version of Scratch built in a 4.5 image. So far as I know I’m the only person running that image on anything other than a Pi (I develop it on my iMac) and so the coverage is, frankly, pathetic. This never helps with finding the cause of a bug.

> Maybe something in the VM timer(s), event fetching, or semaphore signaling is different in the PI from others VMs? Or maybe the possible interrupt points are different? Maybe something like this could make a higher priority process wake up at usual times, or under less restricted conditions?

The ARM vm related code for handling the process switching, interrupts etc is in sqAtomicOps.h - notice that the ARM versions of get64() & set64() are currently based on the belief that the MMU does what I understood it to do and the sqAtomicAddConst() &  sqCompareAndSwap[Res] are based on gcc intrinsics. It’s always possible they may have bugs. Goodness knows gcc isn’t within parsecs of being perfect.

All the other code is standard unix/x11/etc code as shared by all platforms. Well, so far as I can tell.

tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Klingon Code Warrior:- 7) "You question the worthiness of my Code?! I should kill you where you stand!"




More information about the Squeak-dev mailing list