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

Issue 2557173004: [Interpreter] Allocate registers used as call arguments on-demand. (Closed)

Created:
4 years ago by rmcilroy
Modified:
4 years ago
Reviewers:
ulan, mythria
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[Interpreter] Allocate registers used as call arguments on-demand. Allocate the registers used as arguments to a call on-demand after visiting the argument (or reciever). This means that the visited expression can use registers that would otherwise have been allocated for arguments which haven't been visited yet. The reason for doing this is to avoid keeping things live in registers unecessarily for chained function calls, which avoids a memory leak for functions which chain a large number of calls with large temporary arguments / recievers. BUG=chromium:672027 Review-Url: https://codereview.chromium.org/2557173004 Cr-Commit-Position: refs/heads/master@{#41714} Committed: https://chromium.googlesource.com/v8/v8/+/ae741d042c834d2296769e04c27d6b2d4f6e469b

Patch Set 1 #

Total comments: 2

Patch Set 2 : Rebase #

Patch Set 3 : Add comment #

Patch Set 4 : Add back tests #

Patch Set 5 : Fix release build unused variable #

Unified diffs Side-by-side diffs Delta from patch set Stats (+214 lines, -85 lines) Patch
M src/interpreter/bytecode-generator.h View 3 chunks +8 lines, -5 lines 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 4 10 chunks +78 lines, -49 lines 0 comments Download
M src/interpreter/bytecode-register.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-register-allocator.h View 1 chunk +21 lines, -0 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ForOf.golden View 4 chunks +8 lines, -8 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/Generators.golden View 1 chunk +3 lines, -3 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/Modules.golden View 3 chunks +6 lines, -6 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/PropertyCall.golden View 1 2 3 1 chunk +37 lines, -0 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden View 1 2 chunks +9 lines, -9 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/TopLevelObjectLiterals.golden View 2 chunks +4 lines, -5 lines 0 comments Download
M test/cctest/interpreter/test-bytecode-generator.cc View 1 chunk +3 lines, -0 lines 0 comments Download
A test/mjsunit/ignition/regress-672027.js View 2 3 1 chunk +17 lines, -0 lines 0 comments Download
M test/unittests/interpreter/bytecode-register-allocator-unittest.cc View 1 chunk +17 lines, -0 lines 0 comments Download

Messages

Total messages: 22 (16 generated)
rmcilroy
Mythri PTAL, Ulan as FYI.
4 years ago (2016-12-08 16:12:46 UTC) #2
rmcilroy
Ping.
4 years ago (2016-12-12 10:20:03 UTC) #7
mythria
Nice, lgtm. https://codereview.chromium.org/2557173004/diff/1/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc (right): https://codereview.chromium.org/2557173004/diff/1/src/interpreter/bytecode-generator.cc#newcode3222 src/interpreter/bytecode-generator.cc:3222: Register destination = register_allocator()->GrowRegisterList(reg_list); May be a ...
4 years ago (2016-12-12 11:16:43 UTC) #8
rmcilroy
https://codereview.chromium.org/2557173004/diff/1/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc (right): https://codereview.chromium.org/2557173004/diff/1/src/interpreter/bytecode-generator.cc#newcode3222 src/interpreter/bytecode-generator.cc:3222: Register destination = register_allocator()->GrowRegisterList(reg_list); On 2016/12/12 11:16:43, mythria wrote: ...
4 years ago (2016-12-15 10:18:02 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2557173004/100001
4 years ago (2016-12-15 10:33:39 UTC) #19
commit-bot: I haz the power
4 years ago (2016-12-15 11:00:02 UTC) #22
Message was sent while issue was closed.
Committed patchset #5 (id:100001) as
https://chromium.googlesource.com/v8/v8/+/ae741d042c834d2296769e04c27d6b2d4f6...

Powered by Google App Engine
This is Rietveld 408576698