To ensure that this is not going to fall through, I have filed an issue:

http://code.google.com/p/v8/issues/detail?id=2079

--
Vyacheslav Egorov

On Fri, Apr 13, 2012 at 5:19 PM, Vyacheslav Egorov <[email protected]> wrote:
>
> No, it is definitely possible. It requires a simple analysis at the parser 
> level and minor changes in Crankshaft pipeline.
>
>
> --
> Vyacheslav Egorov
>
>
> On Fri, Apr 13, 2012 at 4:45 PM, Bert Belder <[email protected]> wrote:
>>
>> On Apr 13, 2:48 pm, Vyacheslav Egorov <[email protected]> wrote:
>> > fib in "Node's main JS thread" case is a "local" function declaration, V8
>> > compiles recursive call as
>> s faster) than call-function which uses separate
>> > generic stub:
>> >
>> >                   ;;; @40: call-known-global.
>> > 0x3c5d7c2c30d   109  48bff96d452dc6150000 REX.W movq rdi,0x15c62d456df9
>> >  ;; object: 0x15c62d456df9 <JS Function fib>
>> > 0x3c5d7c2c317   119  4c89e1         REX.W movq rcx,r12
>> > 0x3c5d7c2c31a   122  e881ffffff     call 0  (0x3c5d7c2c2a0)    ;; debug:
>> > position 41
>> >                                                              ;; code:
>> > OPTIMIZED_FUNCTION
>> >
>> > vs.
>> >
>> >                   ;;; @52: call-function.
>> > 0x1e5a9c3a52fd   125  e85e46f6ff     call 0x1e5a9c309960     ;; debug:
>> > position 139
>> >                                                              ;; code: STUB,
>> > CallFunctionStub, argc = 1
>> >
>> > [call function stub is a complicated generic stub that can handle all kinds
>> > of calls]
>> >
>> > --
>> > Vyacheslav Egorov
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > On Thu, Apr 12, 2012 at 7:29 PM, mscdex <[email protected]> wrote:
>> > > On Apr 12, 9:54 am, Tim Caswell <[email protected]> wrote:
>> > > > What makes the main thread so slow in comparison?  It's the same v8
>> > > right?
>> >
>> > > Here's something more interesting:
>> >
>> > >https://gist.github.com/2369318
>> >
>> > > Threads_a_gogo JS thread ->  3039 (ms)  298607040
>> > > Node's main JS thread    ->  4677 (ms)  298607040
>> > > Ratio: 1.54 times faster than main JS thread
>> > > New, separate VM ->  3065 (ms)  298607040
>> > > Ratio: 1.01 times faster than new VM
>> >
>> > > --
>> > > Job Board:http://jobs.nodejs.org/
>> > > Posting guidelines:
>> > >https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> > > You received this message because you are subscribed to the Google
>> > > Groups "nodejs" group.
>> > > To post to this group, send email to [email protected]
>> > > To unsubscribe from this group, send email to
>> > > [email protected]
>> > > For more options, visit this group at
>> > >http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>> Thanks for your analysis, Vyacheslav.
>>
>> So what can we do about it? It seems that in node all functions will
>> be "local" functions because of the module system. Is it not possible
>> to have an efficient stub for these guys?
>>
>> - Bert
>>
>> --
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines: 
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>
>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to