Does anybody have an idea why when I open a transcript and recompile a method I get
Hi guys Does anybody have an idea why when I open a transcript and recompile a method I get UndefinedObject>>ExecuteUnOptimizedIn: (model is Undeclared) UndefinedObject>>ExecuteUnOptimizedIn: (model is Undeclared) UndefinedObject>>ExecuteUnOptimizedIn: (scroller is Undeclared) Stef
Because someone activated the method "mustBeBooleanMagicIn:" by default whereas it was just a hack to experiment. Basically you have an optimized message sent to a non boolean. For over a week now, in this case the code is executed as a DoIt with a non optimized message instead of raising the mustBeBoolean error. 2014-08-05 18:40 GMT+02:00 stepharo <stepharo@free.fr>:
Hi guys
Does anybody have an idea why when I open a transcript and recompile a method I get
UndefinedObject>>ExecuteUnOptimizedIn: (model is Undeclared)
UndefinedObject>>ExecuteUnOptimizedIn: (model is Undeclared)
UndefinedObject>>ExecuteUnOptimizedIn: (scroller is Undeclared)
Stef
Ok thanks. I do not see why this is interesting to have that. https://pharo.fogbugz.com/default.asp?13779 On 5/8/14 21:24, Clément Bera wrote:
Because someone activated the method "mustBeBooleanMagicIn:" by default whereas it was just a hack to experiment.
Basically you have an optimized message sent to a non boolean. For over a week now, in this case the code is executed as a DoIt with a non optimized message instead of raising the mustBeBoolean error.
2014-08-05 18:40 GMT+02:00 stepharo <stepharo@free.fr <mailto:stepharo@free.fr>>:
Hi guys
Does anybody have an idea why when I open a transcript and recompile a method I get
UndefinedObject>>ExecuteUnOptimizedIn: (model is Undeclared)
UndefinedObject>>ExecuteUnOptimizedIn: (model is Undeclared)
UndefinedObject>>ExecuteUnOptimizedIn: (scroller is Undeclared)
Stef
What is interesting is to be able to reimplement #ifTrue:ifFalse: and co in any object in the system and to use it. Now in practice it is difficult performance wise. As an experiment we overrided mustBeBooleanIn: so #ifTrue:ifFalse: and co would work on any object. However this hack is slow and interesting only for experiments IMO. I asked in the bug report to add a setting... But no one answered and it was integrated. Marcus said we'll add a setting later. 2014-08-06 8:31 GMT+02:00 stepharo <stepharo@free.fr>:
Ok thanks. I do not see why this is interesting to have that.
https://pharo.fogbugz.com/default.asp?13779
On 5/8/14 21:24, Clément Bera wrote:
Because someone activated the method "mustBeBooleanMagicIn:" by default whereas it was just a hack to experiment.
Basically you have an optimized message sent to a non boolean. For over a week now, in this case the code is executed as a DoIt with a non optimized message instead of raising the mustBeBoolean error.
2014-08-05 18:40 GMT+02:00 stepharo <stepharo@free.fr>:
Hi guys
Does anybody have an idea why when I open a transcript and recompile a method I get
UndefinedObject>>ExecuteUnOptimizedIn: (model is Undeclared)
UndefinedObject>>ExecuteUnOptimizedIn: (model is Undeclared)
UndefinedObject>>ExecuteUnOptimizedIn: (scroller is Undeclared)
Stef
On 6 août 2014, at 12:53, Clément Bera <bera.clement@gmail.com> wrote:
What is interesting is to be able to reimplement #ifTrue:ifFalse: and co in any object in the system and to use it.
Now in practice it is difficult performance wise.
And why performance would be a problem? If ever it is used intensively and performance *become* a problem we can cache the deoptimized methods somewhere.
As an experiment we overrided mustBeBooleanIn: so #ifTrue:ifFalse: and co would work on any object. However this hack is slow and interesting only for experiments IMO. I asked in the bug report to add a setting... But no one answered and it was integrated. Marcus said we'll add a setting later.
So add a setting! I'm still confused about what the problem is here... Because even if it's enabled by default it cannot break anything.
2014-08-06 8:31 GMT+02:00 stepharo <stepharo@free.fr>: Ok thanks. I do not see why this is interesting to have that.
https://pharo.fogbugz.com/default.asp?13779
On 5/8/14 21:24, Clément Bera wrote:
Because someone activated the method "mustBeBooleanMagicIn:" by default whereas it was just a hack to experiment.
Basically you have an optimized message sent to a non boolean. For over a week now, in this case the code is executed as a DoIt with a non optimized message instead of raising the mustBeBoolean error.
2014-08-05 18:40 GMT+02:00 stepharo <stepharo@free.fr>: Hi guys
Does anybody have an idea why when I open a transcript and recompile a method I get
UndefinedObject>>ExecuteUnOptimizedIn: (model is Undeclared)
UndefinedObject>>ExecuteUnOptimizedIn: (model is Undeclared)
UndefinedObject>>ExecuteUnOptimizedIn: (scroller is Undeclared)
Stef
On 5 août 2014, at 21:24, Clément Bera <bera.clement@gmail.com> wrote:
Because someone activated the method "mustBeBooleanMagicIn:" by default whereas it was just a hack to experiment.
If it's not integrated it's not gonna improve. This situation is a proof of that: it's because it's activated that we discover a bug (that is not the real problem BTW): wrong compilation context because of a line I kept from the old version of mustBeBooleanInMagic: (https://pharo.fogbugz.com/f/cases/13780/Wrong-compilation-context-in-mustBeB...). If you feel uneasy about that hack, please make a preference. So in the end I dont't understand the problem nor your tone...
Basically you have an optimized message sent to a non boolean. For over a week now, in this case the code is executed as a DoIt with a non optimized message instead of raising the mustBeBoolean error.
And instead you get a DNU, what's wrong with that? Why is mustBeBoolean any better than a DNU? For me the problem is to have ifTrue: sent to a PackageTreeNautilusUI inside a "on: Error do: [ "nothing" ]" (in PluggableTextMorph>>acceptBasic). So if anything, this hack acted as a problem revealer at the very worst.
2014-08-05 18:40 GMT+02:00 stepharo <stepharo@free.fr>: Hi guys
Does anybody have an idea why when I open a transcript and recompile a method I get
UndefinedObject>>ExecuteUnOptimizedIn: (model is Undeclared)
UndefinedObject>>ExecuteUnOptimizedIn: (model is Undeclared)
UndefinedObject>>ExecuteUnOptimizedIn: (scroller is Undeclared)
Stef
participants (3)
-
Camille Teruel -
Clément Bera -
stepharo