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

Issue 942513002: Put the type feedback vector in the unoptimized JavaScript frame. (Closed)

Created:
5 years, 10 months ago by mvstanton
Modified:
5 years, 5 months ago
Reviewers:
titzer, Jarin
CC:
v8-dev, Michael Starzinger
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Put the type feedback vector in the unoptimized JavaScript frame. It's costly to look the vector up in the SharedFunctionInfo. By placing it in the frame, we save loads. Optimized frames don't have it because we typically inline several functions in one optimized function, and the feedback vectors are different. * DECIDED NOT TO DO THIS FOR NOW * BUG=

Patch Set 1 #

Patch Set 2 : ia32 lithium fix. #

Total comments: 4

Patch Set 3 : REBASE. #

Patch Set 4 : Code comments. #

Patch Set 5 : Fix webkit recursion test. #

Patch Set 6 : REBASE. #

Patch Set 7 : Reduced constant in deep recursion test for windows. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+282 lines, -76 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 3 4 5 1 chunk +2 lines, -5 lines 0 comments Download
M src/arm/frames-arm.h View 1 2 1 chunk +10 lines, -1 line 0 comments Download
M src/arm/full-codegen-arm.cc View 1 2 3 4 5 3 chunks +10 lines, -2 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 3 4 5 1 chunk +16 lines, -0 lines 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 3 4 5 1 chunk +2 lines, -5 lines 0 comments Download
M src/arm64/frames-arm64.h View 1 2 1 chunk +10 lines, -2 lines 0 comments Download
M src/arm64/full-codegen-arm64.cc View 1 2 3 4 5 3 chunks +10 lines, -2 lines 0 comments Download
M src/arm64/lithium-codegen-arm64.cc View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M src/arm64/macro-assembler-arm64.h View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M src/arm64/macro-assembler-arm64.cc View 1 2 3 4 5 1 chunk +17 lines, -0 lines 0 comments Download
M src/compiler/arm/code-generator-arm.cc View 1 2 3 4 5 1 chunk +7 lines, -2 lines 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 1 2 3 4 5 1 chunk +7 lines, -2 lines 0 comments Download
M src/compiler/ia32/code-generator-ia32.cc View 1 2 3 4 5 1 chunk +7 lines, -2 lines 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 1 2 3 4 5 1 chunk +7 lines, -2 lines 0 comments Download
M src/deoptimizer.h View 1 2 2 chunks +6 lines, -2 lines 0 comments Download
M src/deoptimizer.cc View 1 2 3 9 chunks +34 lines, -14 lines 0 comments Download
M src/frames.h View 1 2 3 4 5 3 chunks +4 lines, -2 lines 0 comments Download
M src/frames.cc View 1 2 3 4 5 4 chunks +19 lines, -9 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 4 5 1 chunk +1 line, -4 lines 0 comments Download
M src/ia32/deoptimizer-ia32.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/ia32/frames-ia32.h View 1 2 1 chunk +11 lines, -2 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 3 4 5 3 chunks +7 lines, -1 line 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 2 chunks +16 lines, -6 lines 0 comments Download
M src/ia32/macro-assembler-ia32.h View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 2 3 4 5 1 chunk +15 lines, -0 lines 0 comments Download
M src/isolate.cc View 1 2 3 4 5 1 chunk +4 lines, -3 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 4 5 1 chunk +2 lines, -4 lines 0 comments Download
M src/x64/frames-x64.h View 1 2 1 chunk +10 lines, -1 line 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 3 4 5 3 chunks +7 lines, -1 line 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 2 3 4 5 1 chunk +17 lines, -0 lines 0 comments Download
M test/webkit/fast/js/deep-recursion-test.js View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 7 (1 generated)
mvstanton
Hi Ben, hi Jaro, here is the frame change we've discussed. Thanks for the look! ...
5 years, 10 months ago (2015-02-19 14:30:30 UTC) #2
titzer
https://codereview.chromium.org/942513002/diff/20001/src/arm/macro-assembler-arm.h File src/arm/macro-assembler-arm.h (right): https://codereview.chromium.org/942513002/diff/20001/src/arm/macro-assembler-arm.h#newcode1432 src/arm/macro-assembler-arm.h:1432: void OSRDropVectorFromStack(int unoptimized_slot_count, Register scratch0, I think this method ...
5 years, 10 months ago (2015-02-24 19:32:55 UTC) #3
Jarin
https://codereview.chromium.org/942513002/diff/20001/src/deoptimizer.cc File src/deoptimizer.cc (right): https://codereview.chromium.org/942513002/diff/20001/src/deoptimizer.cc#newcode2911 src/deoptimizer.cc:2911: CHECK(type_ == StackFrame::JAVA_SCRIPT || type_ == StackFrame::OPTIMIZED); I am ...
5 years, 9 months ago (2015-02-26 09:22:06 UTC) #4
mvstanton
Thanks for the comments guys and sorry about the long delay. I needed to evaluate ...
5 years, 9 months ago (2015-03-20 12:21:09 UTC) #5
mvstanton
ping.
5 years, 9 months ago (2015-03-25 10:19:58 UTC) #6
Jarin
5 years, 9 months ago (2015-03-26 06:27:32 UTC) #7
lgtm.

Powered by Google App Engine
This is Rietveld 408576698