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

Issue 1250413002: [stubs] Further optimize Load/StoreGlobalViaContext stubs. (Closed)

Created:
5 years, 5 months ago by Benedikt Meurer
Modified:
5 years, 4 months ago
Reviewers:
Igor Sheludko
CC:
v8-dev, Paul Lind, v8-mips-ports_googlegroups.com, rodolph, jbramley
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[stubs] Further optimize Load/StoreGlobalViaContext stubs. a) Don't use separate read/write slots for context globals, but share the same slot, which reduces the number of initial misses, and also saves some memory for large scripts. b) No need to pass the name explicitly to the stubs; the runtime can extract the name from the ScopeInfo (the extension of the ScriptContext) on-demand easily without any performance impact. R=ishell@chromium.org

Patch Set 1 #

Patch Set 2 : REBASE #

Total comments: 1

Patch Set 3 : REBASE. MIPS. #

Patch Set 4 : Fix REBASE typo. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+127 lines, -230 lines) Patch
M src/compiler/ast-graph-builder.cc View 1 2 2 chunks +0 lines, -2 lines 0 comments Download
M src/compiler/js-generic-lowering.cc View 1 2 2 chunks +7 lines, -7 lines 0 comments Download
M src/contexts.cc View 1 chunk +0 lines, -2 lines 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 1 2 2 chunks +3 lines, -8 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 1 2 2 chunks +3 lines, -8 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 1 2 2 chunks +3 lines, -8 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 1 2 2 chunks +3 lines, -9 lines 0 comments Download
M src/hydrogen.cc View 1 2 chunks +3 lines, -5 lines 0 comments Download
M src/hydrogen-instructions.h View 4 chunks +13 lines, -23 lines 0 comments Download
M src/hydrogen-instructions.cc View 2 chunks +3 lines, -4 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 5 chunks +3 lines, -11 lines 0 comments Download
M src/ia32/interface-descriptors-ia32.cc View 1 chunk +0 lines, -2 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 2 chunks +4 lines, -8 lines 0 comments Download
M src/ia32/lithium-ia32.h View 2 chunks +0 lines, -2 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 2 chunks +2 lines, -5 lines 0 comments Download
M src/interface-descriptors.h View 2 chunks +0 lines, -2 lines 0 comments Download
M src/interface-descriptors.cc View 2 chunks +4 lines, -6 lines 0 comments Download
M src/mips/code-stubs-mips.cc View 1 2 6 chunks +6 lines, -11 lines 0 comments Download
M src/mips/interface-descriptors-mips.cc View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M src/mips/lithium-codegen-mips.cc View 1 2 2 chunks +2 lines, -8 lines 0 comments Download
M src/mips/lithium-mips.h View 1 2 2 chunks +0 lines, -2 lines 0 comments Download
M src/mips/lithium-mips.cc View 1 2 2 chunks +2 lines, -5 lines 0 comments Download
M src/mips64/code-stubs-mips64.cc View 1 2 6 chunks +6 lines, -11 lines 0 comments Download
M src/mips64/interface-descriptors-mips64.cc View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M src/mips64/lithium-codegen-mips64.cc View 1 2 2 chunks +2 lines, -8 lines 0 comments Download
M src/mips64/lithium-mips64.h View 1 2 2 chunks +0 lines, -2 lines 0 comments Download
M src/mips64/lithium-mips64.cc View 1 2 2 chunks +2 lines, -5 lines 0 comments Download
M src/objects.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M src/runtime/runtime.h View 1 chunk +3 lines, -3 lines 0 comments Download
M src/runtime/runtime-object.cc View 1 2 3 3 chunks +30 lines, -28 lines 0 comments Download
M src/scopeinfo.cc View 3 chunks +10 lines, -2 lines 0 comments Download
M src/scopes.cc View 1 2 2 chunks +4 lines, -6 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 5 chunks +2 lines, -8 lines 0 comments Download
M src/x64/interface-descriptors-x64.cc View 1 chunk +0 lines, -2 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 2 chunks +2 lines, -6 lines 0 comments Download
M src/x64/lithium-x64.h View 2 chunks +0 lines, -2 lines 0 comments Download
M src/x64/lithium-x64.cc View 2 chunks +2 lines, -5 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
Benedikt Meurer
5 years, 5 months ago (2015-07-24 11:27:37 UTC) #1
Benedikt Meurer
Hey Igor, This is the next step we talked about. Please take a look. ARM/MIPS ...
5 years, 5 months ago (2015-07-24 11:29:56 UTC) #2
balazs.kilvady
> ARM/MIPS people: Please port these changes. We started to work on the MIPS/MIPS64 ports.
5 years, 5 months ago (2015-07-24 13:59:24 UTC) #3
Igor Sheludko
sgtm for b), but I'm not sure about a) because it could cause penalties for ...
5 years, 5 months ago (2015-07-25 16:50:34 UTC) #4
paul.l...
On 2015/07/25 16:50:34, Igor Sheludko wrote: > sgtm for b), but I'm not sure about ...
5 years, 5 months ago (2015-07-26 18:58:03 UTC) #5
Benedikt Meurer
5 years, 5 months ago (2015-07-27 11:00:16 UTC) #6
On 2015/07/26 18:58:03, paul.l... wrote:
> On 2015/07/25 16:50:34, Igor Sheludko wrote:
> > sgtm for b), but I'm not sure about a) because .....
> 
> The MIPS port for combined a & b is done by Balázs in
> https://codereview.chromium.org/1255953002/
> 
> If you do decide to split this up, we can rework it as needed.

No need to split. Thanks for the port.

Powered by Google App Engine
This is Rietveld 408576698