On Sat, Apr 11, 2015 at 2:25 AM, <[email protected]> wrote:
>
> I just verified a customer reported bug - a slowdown in the new bookmark 
> manager when deleting folders containing many (~2,500) bookmarks. Deleting 
> them takes over a minute. Profiling with ETW (Event Tracing for Windows -- 
> this is on a Windows machine) shows that 98.6% of the CPU time (it is CPU 
> bound) is inside 
> chrome_child.dll!v8::internal::Isolate::get_stack_trace_line_fun.
>
> With the old bookmark manager the deletion is virtually instantaneous. I have 
> also seen get_stack_trace_line_fun consuming a huge portion of CPU time on 
> slashdot.org. This feels like it might be a serious regression in JS 
> performance in multiple scenarios.
>
> I've filed a bug for this: 
> https://code.google.com/p/chromium/issues/detail?id=474276
>
> My bookmarks tests are on 32-bit canary. The slashdot tests were on stable 
> (41.0.2272.101).
>
> Here is a partial call stack. After get_stack_trace_line_fun it goes into 
> unresolved addresses (generated code presumably) before popping out in 
> chrome_child.dll!v8::internal::Runtime_KeyedGetProperty.
>
>  |    |    |    chrome_child.dll!blink::Node::dispatchMouseEvent
>  |    |    |    chrome_child.dll!blink::EventDispatcher::dispatchEvent
>  |    |    |    
> chrome_child.dll!blink::MouseEventDispatchMediator::dispatchEvent
>  |    |    |    chrome_child.dll!blink::EventDispatcher::dispatchEventAtTarget
>  |    |    |    chrome_child.dll!blink::NodeEventContext::handleLocalEvents
>  |    |    |    chrome_child.dll!blink::Node::handleLocalEvents
>  |    |    |    chrome_child.dll!blink::EventTarget::fireEventListeners
>  |    |    |    chrome_child.dll!blink::EventTarget::fireEventListeners
>  |    |    |    chrome_child.dll!blink::V8AbstractEventListener::handleEvent
>  |    |    |    chrome_child.dll!blink::V8AbstractEventListener::handleEvent
>  |    |    |    
> chrome_child.dll!blink::V8AbstractEventListener::invokeEventHandler
>  |    |    |    chrome_child.dll!blink::V8EventListener::callListenerFunction
>  |    |    |    chrome_child.dll!blink::ScriptController::callFunction
>  |    |    |    chrome_child.dll!blink::ScriptController::callFunction
>  |    |    |    chrome_child.dll!blink::V8ScriptRunner::callFunction
>  |    |    |    chrome_child.dll!v8::Function::Call
>  |    |    |    chrome_child.dll!v8::Function::Call
>  |    |    |    chrome_child.dll!v8::internal::Execution::Call
>  |    |    |    
> chrome_child.dll!v8::internal::Isolate::get_stack_trace_line_fun

Is that perhaps a case of tracing gone bad?  I believe only
v8::Message::PrintCurrentStackTrace() (indirectly) calls
v8::internal::Isolate::get_stack_trace_line_fun().

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" 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