Ahhh, that explains a lot! I wondered what the optimized code is about, for 
those few lines...

However, is there any indication how often the function is called (how many 
loop steps) to produce the same optimized code? Or, a slightly different 
question: If I let v8 optimize the same code a few times, do I always get 
the same optimimized code? (call v8 on the js file, then again, then again, 
and so on...).

Am Dienstag, 22. September 2015 11:53:01 UTC+2 schrieb Jakob Kummerow:
>
> Functions aren't optimized right away, only when they're detected as 
> "hot". Try calling your function 1000 times or so in a loop. (The bigger it 
> is, the less often it needs to be called to be considered "hot"; the 
> details of that mechanism are rather complicated.)
>
> On Tue, Sep 22, 2015 at 11:46 AM, D T <[email protected] <javascript:>> 
> wrote:
>
>> Sorry, sometimes I even confuse myself ;)
>>
>> Okay, so I attached the original file I was sent. It states the Raw 
>> source and the "optimized" code (and also uses the crankshaft optimizing 
>> compiler of v8).
>> Nevertheless, when I try to run the function stated in the Raw code, I do 
>> not get any optimized code. But here is clearly says "optimized"...
>> Do I miss some parameter for d8? 
>>
>> If I still confuse you, just tell me :D
>>
>>
>> Am Dienstag, 22. September 2015 10:59:57 UTC+2 schrieb Andreas Rossberg:
>>>
>>> Not sure I understand. If nothing is printed, are you sure the function 
>>> gets optimised at all?
>>>
>>> On 22 September 2015 at 10:42, D T <[email protected]> wrote:
>>>
>>>> Thanks for your quick answer, Andreas!
>>>>
>>>> So, I got the snippet I showed you avove by mail to look over the ASM 
>>>> code (I dont have much experience with Javascript ;) ).
>>>> When run the d8 as follows:
>>>> v8/out/ia32.release/d8 --print_opt_code test.js
>>>>
>>>> With the code printed in the RAW section (slightly modified, like):
>>>> function foo(n)
>>>> {
>>>>   return Math.floor(Math.random() * n);
>>>> }
>>>>
>>>> V8 prints just nothing...
>>>> Am I missing something?
>>>>
>>>>
>>>> Am Dienstag, 22. September 2015 08:34:46 UTC+2 schrieb Andreas Rossberg:
>>>>>
>>>>> The printed raw source _is_ the exact source of that individual 
>>>>> function (minus the 'function' prefix). What are you missing?
>>>>>
>>>>> On 21 September 2015 at 23:49, D T <[email protected]> wrote:
>>>>>
>>>>>> Hi v8 users,
>>>>>>
>>>>>> I am using d8 version 4.7.0 on Ubuntu Linux vivid. I played around 
>>>>>> with d8 a little bit and used the following command line:
>>>>>> user@debugbox: v8/out/ia32.release/d8 --print_opt_code test.js
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Which leads to the following output:
>>>>>> --- Raw source ---
>>>>>> (n)
>>>>>> {
>>>>>>   return Math.floor(Math.random() * n);
>>>>>> }
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --- Optimized code ---
>>>>>> optimization_id = 0
>>>>>> source_position = 27528
>>>>>> kind = OPTIMIZED_FUNCTION
>>>>>> name = rnd
>>>>>> stack_slots = 2
>>>>>> compiler = crankshaft
>>>>>> Instructions (size = 612)
>>>>>> 0x2020e060     0  55             push ebp
>>>>>> 0x2020e061     1  89e5           mov ebp,esp
>>>>>> 0x2020e063     3  56             push esi
>>>>>> 0x2020e064     4  57             push edi
>>>>>> 0x2020e065     5  83ec08         sub esp,0x8
>>>>>> 0x2020e068     8  50             push eax
>>>>>> 0x2020e069     9  c7c002000000   mov eax,0x2
>>>>>> 0x2020e06f    15  c70484efdeefbe mov [esp+eax*4],0xbeefdeef
>>>>>> 0x2020e076    22  48             dec eax
>>>>>> 0x2020e077    23  75f6           jnz 15  (0x2020e06f)
>>>>>> 0x2020e079    25  58             pop eax
>>>>>> 0x2020e07a    26  c745f400000000 mov [ebp-0xc],0x0
>>>>>> 0x2020e081    33  8b45fc         mov eax,[ebp-0x4]
>>>>>> 0x2020e084    36  8945f0         mov [ebp-0x10],eax
>>>>>> 0x2020e087    39  89c6           mov esi,eax
>>>>>> 0x2020e089    41  3b25241aa009   cmp esp,[0x9a01a24]         ;; 
>>>>>> external reference (StackGuard::address_of_jslimit())
>>>>>> 0x2020e08f    47  7305           jnc 54  (0x2020e096)
>>>>>> 0x2020e091    49  e8ea15321b     call StackCheck  (0x3b52f680)    ;; 
>>>>>> code: BUILTIN
>>>>>> 0x2020e096    54  b805cfb729     mov eax,0x29b7cf05    
>>>>>> [snip]
>>>>>>
>>>>>>
>>>>>>
>>>>>> Is there any way, to print the _original_ javascript code I feeded 
>>>>>> into v8 (since the raw source here is not the exact same code as the 
>>>>>> input 
>>>>>> code), before printing the optimized, corresponding code?
>>>>>>
>>>>>> Thanks!
>>>>>>
>>>>>> -- 
>>>>>> -- 
>>>>>> v8-users mailing list
>>>>>> [email protected]
>>>>>> http://groups.google.com/group/v8-users
>>>>>> --- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "v8-users" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>> send an email to [email protected].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> -- 
>>>> -- 
>>>> v8-users mailing list
>>>> [email protected]
>>>> http://groups.google.com/group/v8-users
>>>> --- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "v8-users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> -- 
>> -- 
>> v8-users mailing list
>> [email protected] <javascript:>
>> http://groups.google.com/group/v8-users
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "v8-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to