On 30 June 2011 21:24, Eliot Miranda eliot.miranda@gmail.com wrote:
Hi Igor, the problem is some bug in the Slang inliner that causes bad code to be generated (if inlining is done in the Cogit). Previously inlining for the Cogit was disabled (Cogit class>>doInlining). But with the Newspeak changes I needed inlining to be applied selectively so that offsetAndSendTableFor:annotation:into: would be inlined (it uses a block idiom to return multiple values and so must be inlined to be easily converted to C). So I changed the Cogit's inlining policy to #asSpecified and that introduced the regression; where I don't know. If I hack it so that *only* offsetAndSendTableFor:annotation:into: gets inlined then I can successfully run the TestRunner in a trunk Squeak 4.2 image, and if I don't it soon dies horribly. It'll take some time to track down the inlining bug. If you're interested in looking for it then great. If not, the attached hack will get you going.
Yes, i think i will proceed with this hack, because i want to check that there are no other problems. As you can see, a recent update uncovered quite a number of bugs/regressions. Most of them are discovered by mr. Hudson, so we should say thank to him :) I want to have Hudson building stable VMs, so we could run a tests for them , and of coure i want people to try them out.
Apart of it, there's many other things to fix (Freetype plugin, osprocess plugin , windows stack vm etc). Cocoa VMs also are broken now and need to be fixed. So i cannot afford right now burying into code generator :(