Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
documentation for deopt bailouts
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  5 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Christoph Sturm  
View profile  
 More options Oct 11 2012, 5:48 am
From: Christoph Sturm <m...@christophsturm.com>
Date: Thu, 11 Oct 2012 02:48:21 -0700 (PDT)
Local: Thurs, Oct 11 2012 5:48 am
Subject: documentation for deopt bailouts

I'm trying to optimize my node app with --trace-deopt

how do i see why the method is deopted? for example here:

**** DEOPT: Wlbl.Checker.checkUrl at bailout #24, address 0x0, frame size 88
[deoptimizing: begin 0x25d8e5e85e71 Wlbl.Checker.checkUrl @24]
  translating Wlbl.Checker.checkUrl => node=260, height=40

also when i log optimizer bailouts, i see this:
Bailout in HGraphBuilder: @"exports.paramsToString": ForInStatement is not
fast case

does that mean i should replace the for in with a for loop that iterates
over Object.keys?

thanks
 chris


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Vyacheslav Egorov  
View profile  
 More options Oct 11 2012, 10:16 am
From: Vyacheslav Egorov <vego...@chromium.org>
Date: Thu, 11 Oct 2012 16:16:34 +0200
Local: Thurs, Oct 11 2012 10:16 am
Subject: Re: [v8-users] documentation for deopt bailouts
Hi,

> how do i see why the method is deopted? for example here:

If you --trace-deopt with --code-comments then in most cases you will
get LIR instruction that deopted in the output (though it is not
always correct). The only reliable way to figure what caused deopt is
run with --print-opt-code and go read assembly around deopt point.

> does that mean i should replace the for in with a for loop that iterates
> over Object.keys?

Yes.

--
Vyacheslav Egorov


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Toon Verwaest  
View profile  
 More options Oct 11 2012, 10:45 am
From: Toon Verwaest <verwa...@chromium.org>
Date: Thu, 11 Oct 2012 16:45:00 +0200
Subject: Re: [v8-users] documentation for deopt bailouts

> > does that mean i should replace the for in with a for loop that iterates
> > over Object.keys?

It means you have an object that's either in dictionary mode, or has
enumerable properties in its prototype chain. Ideally you avoid both of
those cases for objects you want to iterate over.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Michael Schwartz  
View profile  
 More options Oct 11 2012, 11:46 am
From: Michael Schwartz <myk...@gmail.com>
Date: Thu, 11 Oct 2012 08:46:41 -0700
Local: Thurs, Oct 11 2012 11:46 am
Subject: Re: [v8-users] documentation for deopt bailouts

Is it really a good idea to optimize for a specific version of v8?  I mean, something you spend a bit of time hand optimizing could be a completely irrelevant optimization in some upcoming v8 release.  It could even be slower.

Or am I wrong? :)

On Oct 11, 2012, at 2:48 AM, Christoph Sturm <m...@christophsturm.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jakob Kummerow  
View profile  
 More options Oct 11 2012, 12:57 pm
From: Jakob Kummerow <jkumme...@chromium.org>
Date: Thu, 11 Oct 2012 18:57:18 +0200
Local: Thurs, Oct 11 2012 12:57 pm
Subject: Re: [v8-users] documentation for deopt bailouts

Who's optimizing for a specific version of V8? Avoiding inherently slow
things (such as for-in loops over slow objects, or needless polymorphism,
etc) in your JS code makes a lot of sense regardless of the VM you're
running on.
Sure, some deopts may no longer happen in an upcoming version, but then
again maybe they still will, and maybe you want better performance *now*
rather than possibly at some unspecified date in the future.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »