<HTML><BODY>And now it is broken in 6.0.1<br><br>> (require disassemble)<br>. . ..\..\..\..\Program Files\Racket\collects\ffi\unsafe.rkt:198:2: ffi-obj: couldn't get "scheme_jit_find_code_end" from #f <br><br>I installed it from pkgs.racket-lang.org <br> Maybe should be something like #ifdef or depend on another version of Racket (now it depends upon Racket6.0.0.4)<br><br>Wed, 21 May 2014 19:50:05 -0400 от Sam Tobin-Hochstadt <samth@cs.indiana.edu>:<br>
<blockquote style="margin: 10px; padding: 0px 0px 0px 10px; border-left-color: rgb(8, 87, 166); border-left-width: 1px; border-left-style: solid;">
        <div>
        



    









        
        


        
        
        
        
        

        
        

        
        



<div class="js-helper js-readmsg-msg">
        <style type="text/css"></style>
        <div>
                <base href="https://e.mail.ru/" target="_self">
                
                        <div id="style_14007162850000000688_BODY">On Wed, May 21, 2014 at 6:12 PM, Neil Toronto <<a href="/compose?To=neil.toronto@gmail.com">neil.toronto@gmail.com</a>> wrote:<br>
> On 05/21/2014 02:09 PM, Sam Tobin-Hochstadt wrote:<br>
>><br>
>> Racketeers,<br>
>><br>
>> Thanks to some improvements from Matthew, my `disassemble` package is<br>
>> now much easier to use.<br>
>><br>
>> [samth@punge:~/sw/disassemble (master) plt] racket<br>
>> Welcome to Racket v6.0.1.10.<br>
>>><br>
>>> (require disassemble)<br>
>>> (define (const x) 1)<br>
>>> (disassemble const)<br>
>><br>
>> 00000000  8943FC            mov [ebx-0x4],eax<br>
>> 00000003  83C3FC            add ebx,byte -0x4<br>
>> 00000006  B803000000        mov eax,0x3<br>
>> 0000000B  83C41C            add esp,byte +0x1c<br>
>> 0000000E  5F                pop edi<br>
>> 0000000F  5E                pop esi<br>
>> 00000010  5B                pop ebx<br>
>> 00000011  5D                pop ebp<br>
>> 00000012  C3                ret<br>
>>><br>
>>><br>
><br>
> That's crazy awesome. What were the improvements?<br>
<br>
First, Racket now tells you the end of the machine code for a jitted<br>
procedure with `scheme_jit_find_code_end` (so messing about with<br>
guessing the size is no longer needed) and it also can JIT on-demand<br>
(so you don't have to call a function before disassembling it) with<br>
`scheme_jit_now`.<br>
<br>
Sam<br>
_________________________<br>
  Racket Developers list:<br>
  <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</div>
                        
                
                <base href="https://e.mail.ru/" target="_self">
        </div>

        
</div>


</div>
</blockquote>
<br>
<br>-- <br>Roman Klochkov<br></BODY></HTML>