|
|
Created:
3 years, 10 months ago by Mircea Trofin Modified:
3 years, 10 months ago CC:
v8-reviews_googlegroups.com, ahaas Target Ref:
refs/pending/heads/master Project:
v8 Visibility:
Public. |
Description[turbofan] Correct regalloc blocked register behavior
This corrects the case when we need to allocate a
blocked register, but the blockage happens after a
use as an instruction input, and there's no place to
split before that.
BUG=v8:5888
Review-Url: https://codereview.chromium.org/2652153005
Cr-Original-Commit-Position: refs/heads/master@{#42706}
Committed: https://chromium.googlesource.com/v8/v8/+/ca779b29a60785d962d7cd636f6b0f09e66130b3
Review-Url: https://codereview.chromium.org/2652153005
Cr-Commit-Position: refs/heads/master@{#42710}
Committed: https://chromium.googlesource.com/v8/v8/+/70fdac9a642154307fa461b2aae38942600c9623
Patch Set 1 : fixed testcase #Patch Set 2 : fix + fixed testcase #Patch Set 3 : Handle case when range ends at the instruction with blocking regs #
Messages
Total messages: 33 (26 generated)
The CQ bit was checked by mtrofin@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by mtrofin@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by mtrofin@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by mtrofin@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Patchset #1 (id:1) has been deleted
Patchset #1 (id:20001) has been deleted
Description was changed from ========== [turbofan] Correct regalloc blocked register behavior This corrects the case when we need to allocate a blocked register, but the blockage happens after a use as an instruction input, and there's no place to split before that. BUG=v8:5888 ========== to ========== [turbofan] Correct regalloc blocked register behavior This corrects the case when we need to allocate a blocked register, but the blockage happens after a use as an instruction input, and there's no place to split before that. BUG=v8:5888 ==========
mtrofin@chromium.org changed reviewers: + bmeurer@chromium.org, jarin@chromium.org
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lgtm (even though I do not fully understand what is going on here).
The CQ bit was checked by mtrofin@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 60001, "attempt_start_ts": 1485445789804250, "parent_rev": "842748006dfb92b46bf2dcb2b1ac64f75c355324", "commit_rev": "ca779b29a60785d962d7cd636f6b0f09e66130b3"}
Message was sent while issue was closed.
Description was changed from ========== [turbofan] Correct regalloc blocked register behavior This corrects the case when we need to allocate a blocked register, but the blockage happens after a use as an instruction input, and there's no place to split before that. BUG=v8:5888 ========== to ========== [turbofan] Correct regalloc blocked register behavior This corrects the case when we need to allocate a blocked register, but the blockage happens after a use as an instruction input, and there's no place to split before that. BUG=v8:5888 Review-Url: https://codereview.chromium.org/2652153005 Cr-Commit-Position: refs/heads/master@{#42706} Committed: https://chromium.googlesource.com/v8/v8/+/ca779b29a60785d962d7cd636f6b0f09e66... ==========
Message was sent while issue was closed.
Committed patchset #2 (id:60001) as https://chromium.googlesource.com/v8/v8/+/ca779b29a60785d962d7cd636f6b0f09e66...
Message was sent while issue was closed.
A revert of this CL (patchset #2 id:60001) has been created in https://codereview.chromium.org/2654993007/ by ahaas@chromium.org. The reason for reverting is: Introduces new crashers, e.g. load("test/mjsunit/wasm/wasm-constants.js"); load("test/mjsunit/wasm/wasm-module-builder.js"); (function() { var builder = new WasmModuleBuilder(); builder.addMemory(16, 32, false); builder.addFunction("test", kSig_i_iii) .addBodyWithEnd([ // body: kExprI64Const, 0x42, kExprI64Const, 0x7a, kExprI64Ctz, kExprI64Mul, kExprI64Ctz, kExprI64Const, 0x41, kExprI64Ctz, kExprI64Ctz, kExprI64Shl, kExprI64Const, 0x41, kExprI64Ctz, kExprI64Ctz, kExprI64Shl, kExprF32SConvertI64, kExprUnreachable, kExprEnd, // @20 ]) .exportFunc(); var module = builder.instantiate(); module.exports.test(1, 2, 3); })();.
Message was sent while issue was closed.
Description was changed from ========== [turbofan] Correct regalloc blocked register behavior This corrects the case when we need to allocate a blocked register, but the blockage happens after a use as an instruction input, and there's no place to split before that. BUG=v8:5888 Review-Url: https://codereview.chromium.org/2652153005 Cr-Commit-Position: refs/heads/master@{#42706} Committed: https://chromium.googlesource.com/v8/v8/+/ca779b29a60785d962d7cd636f6b0f09e66... ========== to ========== [turbofan] Correct regalloc blocked register behavior This corrects the case when we need to allocate a blocked register, but the blockage happens after a use as an instruction input, and there's no place to split before that. BUG=v8:5888 Review-Url: https://codereview.chromium.org/2652153005 Cr-Commit-Position: refs/heads/master@{#42706} Committed: https://chromium.googlesource.com/v8/v8/+/ca779b29a60785d962d7cd636f6b0f09e66... ==========
The CQ bit was checked by mtrofin@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by mtrofin@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from jarin@chromium.org Link to the patchset: https://codereview.chromium.org/2652153005/#ps80001 (title: "Handle case when range ends at the instruction with blocking regs")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 80001, "attempt_start_ts": 1485452766505990, "parent_rev": "a8a432701fee76967417be5b17e215ed961c9003", "commit_rev": "70fdac9a642154307fa461b2aae38942600c9623"}
Message was sent while issue was closed.
Description was changed from ========== [turbofan] Correct regalloc blocked register behavior This corrects the case when we need to allocate a blocked register, but the blockage happens after a use as an instruction input, and there's no place to split before that. BUG=v8:5888 Review-Url: https://codereview.chromium.org/2652153005 Cr-Commit-Position: refs/heads/master@{#42706} Committed: https://chromium.googlesource.com/v8/v8/+/ca779b29a60785d962d7cd636f6b0f09e66... ========== to ========== [turbofan] Correct regalloc blocked register behavior This corrects the case when we need to allocate a blocked register, but the blockage happens after a use as an instruction input, and there's no place to split before that. BUG=v8:5888 Review-Url: https://codereview.chromium.org/2652153005 Cr-Original-Commit-Position: refs/heads/master@{#42706} Committed: https://chromium.googlesource.com/v8/v8/+/ca779b29a60785d962d7cd636f6b0f09e66... Review-Url: https://codereview.chromium.org/2652153005 Cr-Commit-Position: refs/heads/master@{#42710} Committed: https://chromium.googlesource.com/v8/v8/+/70fdac9a642154307fa461b2aae38942600... ==========
Message was sent while issue was closed.
Committed patchset #3 (id:80001) as https://chromium.googlesource.com/v8/v8/+/70fdac9a642154307fa461b2aae38942600... |