<br><br><div class="gmail_quote">On Wed, Oct 13, 2010 at 7:27 PM, Andreas Raab <span dir="ltr">&lt;<a href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im"><br>
On 10/13/2010 9:52 AM, Mariano Martinez Peck wrote:<br>
</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">
On Wed, Oct 13, 2010 at 6:31 PM, Igor Stasenko &lt;<a href="mailto:siguctua@gmail.com" target="_blank">siguctua@gmail.com</a><br></div><div class="im">
&lt;mailto:<a href="mailto:siguctua@gmail.com" target="_blank">siguctua@gmail.com</a>&gt;&gt; wrote:<br>
<br>
<br>
    Hi, Mariano.<br>
<br>
    I don&#39;t understand, why you need to dive into specific primitive(s),<br>
    while you can simply place a hook before entering any primitive<br>
<br>
<br>
is there a way to do this in a genera way or I need to do it manually<br>
for each primitive?<br>
</div></blockquote>
<br>
FWIW, it&#39;s questions like these that make people wonder if you&#39;ve done your homework. </blockquote><div><br>Is it so hard to answer in a ploite way??<br><br>If you read my first line of the email says &quot;Hi. Sorry if the question is newbie. I am still reading the blue book, 
so in case this is explained there I would just appreciate a link to it.
 &quot;<br><br>is it really hard to understand and simply answer page 620 ?<br><br>Anyway, those were not my original questions. <br><br>Thanks<br><br>Mariano<br><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
The precise question is answered on page 620 of the blue book.<br>
<br>
Cheers,<br><font color="#888888">
  - Andreas</font><div><div></div><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
    and<br>
    mark all objects, which passed as parameters<br>
    (receiver &amp; args) as &#39;used&#39;, and then call primitive function?<br>
<br>
<br>
The problem is that not all of them are &quot;used&quot; in all primitives. Just<br>
as an example, #bytecodeNew:<br>
<br>
bytecodePrimNew<br>
<br>
     messageSelector := self specialSelector: 28.<br>
     argumentCount := 0.<br>
     self normalSend.<br>
<br>
I don&#39;t want to trace the receiver there, but it is really not used<br>
there. I will trace it in #normalSend.<br>
Or sometimes a primitive fails because one of the arguments is more than<br>
32bits or because it is not smallInteger or whatever...I don&#39;t want to<br>
mark them as used just for being a parameter. I want to mark them when<br>
they are really used by the VM.<br>
<br>
I want to avoid as much as overhead as possible.<br>
<br>
Right now I put the tracing in #normalSend, but then I modifed some<br>
bytecodes like those for #class or #== since they were not going<br>
throught normal send.<br>
<br>
Thanks<br>
<br>
Mariano<br>
</blockquote>
</div></div></blockquote></div><br>