Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Issue 11189091: Speed up function deoptimization by avoiding quadratic pass over optimized function list. (Closed)

Created:
8 years, 2 months ago by ulan
Modified:
8 years, 2 months ago
Reviewers:
danno
CC:
v8-dev
Visibility:
Public.

Description

Speed up function deoptimization by avoiding quadratic pass over optimized function list. R=danno@chromium.org BUG=155270 Committed: https://code.google.com/p/v8/source/detail?r=12780

Patch Set 1 #

Total comments: 6

Patch Set 2 : Address comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+56 lines, -52 lines) Patch
M src/arm/deoptimizer-arm.cc View 1 chunk +1 line, -13 lines 0 comments Download
M src/deoptimizer.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/deoptimizer.cc View 1 1 chunk +48 lines, -0 lines 0 comments Download
M src/ia32/deoptimizer-ia32.cc View 1 chunk +1 line, -13 lines 0 comments Download
M src/mips/deoptimizer-mips.cc View 1 chunk +1 line, -13 lines 0 comments Download
M src/x64/deoptimizer-x64.cc View 1 chunk +1 line, -13 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
ulan
PTAL
8 years, 2 months ago (2012-10-19 16:48:08 UTC) #1
danno
LGTM with comments http://codereview.chromium.org/11189091/diff/1/src/deoptimizer.cc File src/deoptimizer.cc (right): http://codereview.chromium.org/11189091/diff/1/src/deoptimizer.cc#newcode1454 src/deoptimizer.cc:1454: while (!current->IsUndefined()) { Why not current ...
8 years, 2 months ago (2012-10-21 19:56:15 UTC) #2
ulan
8 years, 2 months ago (2012-10-22 08:39:56 UTC) #3
Addressed comments, landing.

http://codereview.chromium.org/11189091/diff/1/src/deoptimizer.cc
File src/deoptimizer.cc (right):

http://codereview.chromium.org/11189091/diff/1/src/deoptimizer.cc#newcode1454
src/deoptimizer.cc:1454: while (!current->IsUndefined()) {
On 2012/10/21 19:56:15, danno wrote:
> Why not current != undefined, if you already have it?

Done.

http://codereview.chromium.org/11189091/diff/1/src/deoptimizer.cc#newcode1469
src/deoptimizer.cc:1469: if (head !=
context->get(Context::OPTIMIZED_FUNCTIONS_LIST)) {
On 2012/10/21 19:56:15, danno wrote:
> If this extra compare just to avoid a write barrier? Otherwise, why not simply
> always set the head?
Yep, I think head will be unchanged most of the time.

http://codereview.chromium.org/11189091/diff/1/src/deoptimizer.cc#newcode1485
src/deoptimizer.cc:1485: while (!current->IsUndefined()) {
On 2012/10/21 19:56:15, danno wrote:
> Why not current != undefined, if you already have it?

Done.

Powered by Google App Engine
This is Rietveld 408576698