resending, because original attached .png was too big On 30 June 2011 19:31, Igor Stasenko <[hidden email]> wrote: > Hello, > > with latest updates, a Cog VMs simply crashing quickly after image startup. > > I strongly suspect that the bug in jit, because stack VMs built using > same VMMaker sources are working well. > You can check the: > https://pharo-ic.lille.inria.fr/hudson/view/Cog/job/Cog%20Mac%20Carbon/ > vs > https://pharo-ic.lille.inria.fr/hudson/view/Cog/job/StackVM%20Mac%20Carbon/ > > > of course, first thing which i suspected is that my merge was bad, so > i also tried to build VM using VMMaker.oscog-eem.88 > but it also crashing with same symptoms and always in same place (in > ceSendsupertonumArgs() , with rcvr argument containing non-oop (-36 , > sometimes 0, sometime -24) ) > > See the screenshot in attachment. > > I also checked win32 Cog build.. same result: immediate crash after > selecting an image to open. > > -- > Best regards, > Igor Stasenko AKA sig. > -- Best regards, Igor Stasenko AKA sig. Screen shot 2011-06-30 at 7.28.48 AM.jpg (260K) Download Attachment |
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.
On Thu, Jun 30, 2011 at 10:44 AM, Igor Stasenko <[hidden email]> wrote:
-- best, Eliot Cogit class-preGenerationHook.st (1K) Download Attachment |
On 30 June 2011 21:24, Eliot Miranda <[hidden email]> 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 :( -- Best regards, Igor Stasenko AKA sig. |
Looks like your latest update cured the issue. Cog VMs are not crashing at image startup anymore. On 30 June 2011 21:00, Igor Stasenko <[hidden email]> wrote: > On 30 June 2011 21:24, Eliot Miranda <[hidden email]> 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 :( > > -- > Best regards, > Igor Stasenko AKA sig. > -- Best regards, Igor Stasenko AKA sig. |
Free forum by Nabble | Edit this page |