How to reliably tell if a BlockContextTemplate is optimized?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

How to reliably tell if a BlockContextTemplate is optimized?

jtuchel
Hi there,

I'm trying to find out what method/class evaluated a Block. Unfortunately, all my attempts at doing so only partly work, and most of the times, it seems to be due to the fact that optimized Blocks behave differently than normal Blocks.

First question: with #thisContext in VisualWorks and other dialects, this seems to be easy. But there seems to be no equivalent to this in VAST.

So first I need a way to reliably tell whether a BlockContextTemplate that I picked from the stack (using stackAtFrame:offset:) is optimized or not. I am under the impression that #receiverVisible is just testing for a side effect and doesn't always tell the truth about optimized or not.

Then, I guess I need to walk back on the stack fro another x frames. Maybe another x for optimized and non-optimized Blocks. I seem to have some success with going back another 2 frames, but only for non-optimized Blocks.

Is there any kind of documentation other than some comments in stackAtFrame:offset: etc.? So far I found next to nothing that could be applied to VAST. I've spent quite a while in the debugger (which, unfortunately leads to the fact that all frame offsets on the stack are different for obvious reasons), but nothing I've tried so far gets me very far.

Any help is greatly appreciated,

Joachim

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/fGHLW8Zd88QJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: How to reliably tell if a BlockContextTemplate is optimized?

John O'Keefe-3
Joachim -
 
Can you give me a little information on what you are trying to do? That might help me in figuring out how to answer the question.
 
John
On Tuesday, July 17, 2012 1:31:07 AM UTC-4, [hidden email] wrote:
Hi there,

I'm trying to find out what method/class evaluated a Block. Unfortunately, all my attempts at doing so only partly work, and most of the times, it seems to be due to the fact that optimized Blocks behave differently than normal Blocks.

First question: with #thisContext in VisualWorks and other dialects, this seems to be easy. But there seems to be no equivalent to this in VAST.

So first I need a way to reliably tell whether a BlockContextTemplate that I picked from the stack (using stackAtFrame:offset:) is optimized or not. I am under the impression that #receiverVisible is just testing for a side effect and doesn't always tell the truth about optimized or not.

Then, I guess I need to walk back on the stack fro another x frames. Maybe another x for optimized and non-optimized Blocks. I seem to have some success with going back another 2 frames, but only for non-optimized Blocks.

Is there any kind of documentation other than some comments in stackAtFrame:offset: etc.? So far I found next to nothing that could be applied to VAST. I've spent quite a while in the debugger (which, unfortunately leads to the fact that all frame offsets on the stack are different for obvious reasons), but nothing I've tried so far gets me very far.

Any help is greatly appreciated,

Joachim

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/rP58dgmC74MJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: How to reliably tell if a BlockContextTemplate is optimized?

jtuchel
John,

I'll send you more info via PM.

Thanks a lot

Joachim

Am Donnerstag, 19. Juli 2012 21:11:37 UTC+2 schrieb John O'Keefe:
Joachim -
 
Can you give me a little information on what you are trying to do? That might help me in figuring out how to answer the question.
 
John
On Tuesday, July 17, 2012 1:31:07 AM UTC-4, [hidden email] wrote:
Hi there,

I'm trying to find out what method/class evaluated a Block. Unfortunately, all my attempts at doing so only partly work, and most of the times, it seems to be due to the fact that optimized Blocks behave differently than normal Blocks.

First question: with #thisContext in VisualWorks and other dialects, this seems to be easy. But there seems to be no equivalent to this in VAST.

So first I need a way to reliably tell whether a BlockContextTemplate that I picked from the stack (using stackAtFrame:offset:) is optimized or not. I am under the impression that #receiverVisible is just testing for a side effect and doesn't always tell the truth about optimized or not.

Then, I guess I need to walk back on the stack fro another x frames. Maybe another x for optimized and non-optimized Blocks. I seem to have some success with going back another 2 frames, but only for non-optimized Blocks.

Is there any kind of documentation other than some comments in stackAtFrame:offset: etc.? So far I found next to nothing that could be applied to VAST. I've spent quite a while in the debugger (which, unfortunately leads to the fact that all frame offsets on the stack are different for obvious reasons), but nothing I've tried so far gets me very far.

Any help is greatly appreciated,

Joachim

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/5N3mWYEM7ioJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.